@pine-ds/core 3.17.0 → 3.19.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 (418) hide show
  1. package/components/index2.js +1 -1
  2. package/components/index2.js.map +1 -1
  3. package/components/pds-button2.js +21 -8
  4. package/components/pds-button2.js.map +1 -1
  5. package/components/pds-chip2.js +20 -7
  6. package/components/pds-chip2.js.map +1 -1
  7. package/components/pds-combobox.js +2 -2
  8. package/components/pds-combobox.js.map +1 -1
  9. package/components/pds-copytext.js +49 -1
  10. package/components/pds-copytext.js.map +1 -1
  11. package/components/pds-dropdown-menu-item.js +3 -2
  12. package/components/pds-dropdown-menu-item.js.map +1 -1
  13. package/components/pds-dropdown-menu.js +1 -1
  14. package/components/pds-dropdown-menu.js.map +1 -1
  15. package/components/pds-link2.js +3 -2
  16. package/components/pds-link2.js.map +1 -1
  17. package/components/pds-multiselect.js +61 -15
  18. package/components/pds-multiselect.js.map +1 -1
  19. package/components/pds-table-cell2.js +36 -3
  20. package/components/pds-table-cell2.js.map +1 -1
  21. package/components/pds-table-head.js +1 -1
  22. package/components/pds-table-head.js.map +1 -1
  23. package/components/pds-table-row.js +3 -3
  24. package/components/pds-table-row.js.map +1 -1
  25. package/components/pds-table.js +12 -4
  26. package/components/pds-table.js.map +1 -1
  27. package/components/pds-text2.js +41 -1
  28. package/components/pds-text2.js.map +1 -1
  29. package/components/truncation-tooltip.js +247 -0
  30. package/components/truncation-tooltip.js.map +1 -0
  31. package/dist/cjs/{index-DkQebouX.js → index-CjhTEk39.js} +3 -3
  32. package/dist/cjs/index-CjhTEk39.js.map +1 -0
  33. package/dist/cjs/loader.cjs.js +1 -1
  34. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  35. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  36. package/dist/cjs/pds-button.cjs.entry.js +17 -7
  37. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  38. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  39. package/dist/cjs/pds-chip.cjs.entry.js +20 -8
  40. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  41. package/dist/cjs/pds-combobox.cjs.entry.js +2 -2
  42. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  43. package/dist/cjs/pds-copytext.cjs.entry.js +48 -2
  44. package/dist/cjs/pds-copytext.entry.cjs.js.map +1 -1
  45. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  46. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
  47. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  48. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  49. package/dist/cjs/pds-filter.cjs.entry.js +1 -1
  50. package/dist/cjs/pds-input.cjs.entry.js +1 -1
  51. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  52. package/dist/cjs/pds-link.entry.cjs.js.map +1 -1
  53. package/dist/cjs/pds-multiselect.cjs.entry.js +58 -15
  54. package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
  55. package/dist/cjs/pds-radio-group.cjs.entry.js +1 -1
  56. package/dist/cjs/pds-radio.cjs.entry.js +1 -1
  57. package/dist/cjs/pds-select.cjs.entry.js +1 -1
  58. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  59. package/dist/cjs/pds-switch.cjs.entry.js +1 -1
  60. package/dist/cjs/pds-table-cell.cjs.entry.js +35 -3
  61. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  62. package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  64. package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
  65. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  66. package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
  67. package/dist/cjs/pds-table.cjs.entry.js +11 -4
  68. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  69. package/dist/cjs/pds-text.cjs.entry.js +40 -1
  70. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  71. package/dist/cjs/pds-textarea.cjs.entry.js +1 -1
  72. package/dist/cjs/pine-core.cjs.js +1 -1
  73. package/dist/cjs/truncation-tooltip-BGGnm8SZ.js +249 -0
  74. package/dist/cjs/truncation-tooltip-BGGnm8SZ.js.map +1 -0
  75. package/dist/collection/components/pds-button/pds-button.css +1 -1
  76. package/dist/collection/components/pds-button/pds-button.js +42 -7
  77. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  78. package/dist/collection/components/pds-chip/pds-chip.css +25 -4
  79. package/dist/collection/components/pds-chip/pds-chip.js +50 -7
  80. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  81. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +36 -13
  82. package/dist/collection/components/pds-combobox/pds-combobox.js +2 -2
  83. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
  84. package/dist/collection/components/pds-copytext/pds-copytext.js +52 -2
  85. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  86. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +21 -2
  87. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -1
  88. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  89. package/dist/collection/components/pds-link/pds-link.js +21 -2
  90. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  91. package/dist/collection/components/pds-multiselect/pds-multiselect.css +2 -2
  92. package/dist/collection/components/pds-multiselect/pds-multiselect.js +130 -13
  93. package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
  94. package/dist/collection/components/pds-multiselect/stories/pds-multiselect.stories.js +55 -0
  95. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -1
  96. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +37 -3
  97. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  98. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  99. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -1
  100. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
  101. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
  102. package/dist/collection/components/pds-table/pds-table.css +1 -0
  103. package/dist/collection/components/pds-table/pds-table.js +33 -17
  104. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  105. package/dist/collection/components/pds-table/stories/pds-table.stories.js +58 -0
  106. package/dist/collection/components/pds-text/pds-text.js +43 -2
  107. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  108. package/dist/collection/components/pds-text/stories/pds-text.stories.js +21 -2
  109. package/dist/collection/utils/truncation-tooltip.js +242 -0
  110. package/dist/collection/utils/truncation-tooltip.js.map +1 -0
  111. package/dist/collection/utils/types.js.map +1 -1
  112. package/dist/docs.json +255 -20
  113. package/dist/esm/{index-D094LgxJ.js → index-BFkDH5XU.js} +3 -3
  114. package/dist/esm/index-BFkDH5XU.js.map +1 -0
  115. package/dist/esm/loader.js +1 -1
  116. package/dist/esm/pds-accordion.entry.js +1 -1
  117. package/dist/esm/pds-avatar.entry.js +1 -1
  118. package/dist/esm/pds-button.entry.js +17 -7
  119. package/dist/esm/pds-button.entry.js.map +1 -1
  120. package/dist/esm/pds-checkbox.entry.js +1 -1
  121. package/dist/esm/pds-chip.entry.js +20 -8
  122. package/dist/esm/pds-chip.entry.js.map +1 -1
  123. package/dist/esm/pds-combobox.entry.js +2 -2
  124. package/dist/esm/pds-combobox.entry.js.map +1 -1
  125. package/dist/esm/pds-copytext.entry.js +49 -3
  126. package/dist/esm/pds-copytext.entry.js.map +1 -1
  127. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  128. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
  129. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  130. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  131. package/dist/esm/pds-filter.entry.js +1 -1
  132. package/dist/esm/pds-input.entry.js +1 -1
  133. package/dist/esm/pds-link.entry.js +3 -3
  134. package/dist/esm/pds-link.entry.js.map +1 -1
  135. package/dist/esm/pds-multiselect.entry.js +58 -15
  136. package/dist/esm/pds-multiselect.entry.js.map +1 -1
  137. package/dist/esm/pds-radio-group.entry.js +1 -1
  138. package/dist/esm/pds-radio.entry.js +1 -1
  139. package/dist/esm/pds-select.entry.js +1 -1
  140. package/dist/esm/pds-sortable-item.entry.js +1 -1
  141. package/dist/esm/pds-switch.entry.js +1 -1
  142. package/dist/esm/pds-table-cell.entry.js +35 -3
  143. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  144. package/dist/esm/pds-table-head-cell.entry.js +1 -1
  145. package/dist/esm/pds-table-head.entry.js +1 -1
  146. package/dist/esm/pds-table-head.entry.js.map +1 -1
  147. package/dist/esm/pds-table-row.entry.js +3 -3
  148. package/dist/esm/pds-table-row.entry.js.map +1 -1
  149. package/dist/esm/pds-table.entry.js +11 -4
  150. package/dist/esm/pds-table.entry.js.map +1 -1
  151. package/dist/esm/pds-text.entry.js +40 -1
  152. package/dist/esm/pds-text.entry.js.map +1 -1
  153. package/dist/esm/pds-textarea.entry.js +1 -1
  154. package/dist/esm/pine-core.js +1 -1
  155. package/dist/esm/truncation-tooltip-CTHpMbU3.js +247 -0
  156. package/dist/esm/truncation-tooltip-CTHpMbU3.js.map +1 -0
  157. package/dist/esm-es5/{index-D094LgxJ.js → index-BFkDH5XU.js} +1 -1
  158. package/dist/esm-es5/index-BFkDH5XU.js.map +1 -0
  159. package/dist/esm-es5/loader.js +1 -1
  160. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  161. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  162. package/dist/esm-es5/pds-button.entry.js +1 -1
  163. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  164. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  165. package/dist/esm-es5/pds-chip.entry.js +1 -1
  166. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  167. package/dist/esm-es5/pds-combobox.entry.js +1 -1
  168. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  169. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  170. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  171. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  172. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
  173. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  174. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  175. package/dist/esm-es5/pds-filter.entry.js +1 -1
  176. package/dist/esm-es5/pds-input.entry.js +1 -1
  177. package/dist/esm-es5/pds-link.entry.js +1 -1
  178. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  179. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  180. package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
  181. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  182. package/dist/esm-es5/pds-radio.entry.js +1 -1
  183. package/dist/esm-es5/pds-select.entry.js +1 -1
  184. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  185. package/dist/esm-es5/pds-switch.entry.js +1 -1
  186. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  187. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  188. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  189. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  190. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  191. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  192. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  193. package/dist/esm-es5/pds-table.entry.js +1 -1
  194. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  195. package/dist/esm-es5/pds-text.entry.js +1 -1
  196. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  197. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  198. package/dist/esm-es5/pine-core.js +1 -1
  199. package/dist/esm-es5/truncation-tooltip-CTHpMbU3.js +2 -0
  200. package/dist/esm-es5/truncation-tooltip-CTHpMbU3.js.map +1 -0
  201. package/dist/pine-core/{p-2aac4495.system.entry.js → p-15ac22bd.system.entry.js} +2 -2
  202. package/dist/pine-core/p-203f6e9e.entry.js +2 -0
  203. package/dist/pine-core/p-203f6e9e.entry.js.map +1 -0
  204. package/dist/pine-core/{p-0ac54273.entry.js → p-276f774a.entry.js} +2 -2
  205. package/dist/pine-core/p-27ccbd3f.entry.js +2 -0
  206. package/dist/pine-core/p-27ccbd3f.entry.js.map +1 -0
  207. package/dist/pine-core/p-2e22a1fc.system.entry.js +2 -0
  208. package/dist/pine-core/p-2e22a1fc.system.entry.js.map +1 -0
  209. package/dist/pine-core/{p-01aec1ad.system.entry.js → p-2f64a2fe.system.entry.js} +2 -2
  210. package/dist/pine-core/p-2f64a2fe.system.entry.js.map +1 -0
  211. package/dist/pine-core/p-3239c67a.entry.js +2 -0
  212. package/dist/pine-core/{p-f5fb71f6.entry.js.map → p-3239c67a.entry.js.map} +1 -1
  213. package/dist/pine-core/{p-ce069162.entry.js → p-32f65e48.entry.js} +2 -2
  214. package/dist/pine-core/p-4189f1be.system.entry.js +2 -0
  215. package/dist/pine-core/p-4189f1be.system.entry.js.map +1 -0
  216. package/dist/pine-core/{p-7d7dce2c.system.entry.js → p-4232520f.system.entry.js} +2 -2
  217. package/dist/pine-core/{p-8e40c9ef.entry.js → p-439e3343.entry.js} +2 -2
  218. package/dist/pine-core/p-439e3343.entry.js.map +1 -0
  219. package/dist/pine-core/{p-5abc5d82.system.entry.js → p-49c2e2ce.system.entry.js} +2 -2
  220. package/dist/pine-core/{p-b1a7a0b2.entry.js → p-4de64b1f.entry.js} +2 -2
  221. package/dist/pine-core/{p-0b52923b.system.entry.js → p-52c5ced3.system.entry.js} +2 -2
  222. package/dist/pine-core/{p-b46f66e8.system.entry.js → p-5757d038.system.entry.js} +2 -2
  223. package/dist/pine-core/p-5757d038.system.entry.js.map +1 -0
  224. package/dist/pine-core/{p-36e5e9f4.system.entry.js → p-57aa762e.system.entry.js} +2 -2
  225. package/dist/pine-core/p-57aa762e.system.entry.js.map +1 -0
  226. package/dist/pine-core/p-57d2c33a.entry.js +2 -0
  227. package/dist/pine-core/p-57d2c33a.entry.js.map +1 -0
  228. package/dist/pine-core/{p-3815f565.entry.js → p-593cee44.entry.js} +2 -2
  229. package/dist/pine-core/{p-73bce0bf.entry.js → p-5a7b25d0.entry.js} +2 -2
  230. package/dist/pine-core/{p-06046885.entry.js → p-5dbbb2be.entry.js} +3 -3
  231. package/dist/pine-core/{p-06046885.entry.js.map → p-5dbbb2be.entry.js.map} +1 -1
  232. package/dist/pine-core/p-5hPM5knE.js +2 -0
  233. package/dist/pine-core/p-5hPM5knE.js.map +1 -0
  234. package/dist/pine-core/{p-957647f9.entry.js → p-663abd80.entry.js} +2 -2
  235. package/dist/pine-core/{p-23111b1c.system.entry.js → p-6980edfe.system.entry.js} +2 -2
  236. package/dist/pine-core/{p-BxVkyfaO.system.js → p-6I02BpQf.system.js} +1 -1
  237. package/dist/pine-core/p-6I02BpQf.system.js.map +1 -0
  238. package/dist/pine-core/{p-c9965216.system.entry.js → p-6fbe6be4.system.entry.js} +2 -2
  239. package/dist/pine-core/p-7514a191.entry.js +2 -0
  240. package/dist/pine-core/p-7514a191.entry.js.map +1 -0
  241. package/dist/pine-core/{p-bd18b9bf.system.entry.js → p-77d4f274.system.entry.js} +2 -2
  242. package/dist/pine-core/{p-78246e05.entry.js → p-85ce731b.entry.js} +2 -2
  243. package/dist/pine-core/{p-b1820970.system.entry.js → p-87cee4a0.system.entry.js} +2 -2
  244. package/dist/pine-core/{p-fbd8ae50.entry.js → p-88686193.entry.js} +2 -2
  245. package/dist/pine-core/p-88eb4f6c.entry.js +2 -0
  246. package/dist/pine-core/p-88eb4f6c.entry.js.map +1 -0
  247. package/dist/pine-core/{p-b09bde5c.system.entry.js → p-8ab66dbc.system.entry.js} +2 -2
  248. package/dist/pine-core/p-8be316b4.system.entry.js +2 -0
  249. package/dist/pine-core/p-8be316b4.system.entry.js.map +1 -0
  250. package/dist/pine-core/{p-7a11a6c7.entry.js → p-8f935480.entry.js} +2 -2
  251. package/dist/pine-core/p-9263809e.entry.js +2 -0
  252. package/dist/pine-core/p-9263809e.entry.js.map +1 -0
  253. package/dist/pine-core/{p-425144ae.entry.js → p-9a9c1b17.entry.js} +2 -2
  254. package/dist/pine-core/p-9a9c1b17.entry.js.map +1 -0
  255. package/dist/pine-core/{p-3f05d72e.system.entry.js → p-9e3e441c.system.entry.js} +2 -2
  256. package/dist/pine-core/{p-3cd53462.entry.js → p-9e8296fc.entry.js} +2 -2
  257. package/dist/pine-core/{p-BJPmPVaF.system.js.map → p-B3dAc5EW.system.js.map} +1 -1
  258. package/dist/pine-core/{p-h_fnwqV_.system.js.map → p-B3xx1u93.system.js.map} +1 -1
  259. package/dist/pine-core/p-B48FyOD0.system.js.map +1 -0
  260. package/dist/pine-core/{p-DY97YDUU.system.js.map → p-B5CyjPYU.system.js.map} +1 -1
  261. package/dist/pine-core/{p-N-jt0_Yl.system.js.map → p-BBJXL9br.system.js.map} +1 -1
  262. package/dist/pine-core/{p-D094LgxJ.js → p-BFkDH5XU.js} +1 -1
  263. package/dist/pine-core/p-BFkDH5XU.js.map +1 -0
  264. package/dist/pine-core/p-BGVC08sX.system.js.map +1 -0
  265. package/dist/pine-core/p-BMx906Ad.system.js.map +1 -0
  266. package/dist/pine-core/{p-CjQwwLdV.system.js.map → p-Bd3ynCsJ.system.js.map} +1 -1
  267. package/dist/pine-core/{p-D4YdQDsG.system.js.map → p-BiLmvJTd.system.js.map} +1 -1
  268. package/dist/pine-core/{p-PZw10cnm.system.js.map → p-C8y7SAd7.system.js.map} +1 -1
  269. package/dist/pine-core/p-C9OQdhX3.system.js.map +1 -0
  270. package/dist/pine-core/{p-gcCcHox5.system.js.map → p-CCh7iS6N.system.js.map} +1 -1
  271. package/dist/pine-core/p-CEE11B7K.system.js.map +1 -0
  272. package/dist/pine-core/{p-D3Ug1A-l.system.js.map → p-CbRBe3Eq.system.js.map} +1 -1
  273. package/dist/pine-core/p-CsWO_n3t.system.js.map +1 -0
  274. package/dist/pine-core/{p-c2oMjk1r.system.js.map → p-Ctc231vq.system.js.map} +1 -1
  275. package/dist/pine-core/p-DXVwADJT.system.js +2 -0
  276. package/dist/pine-core/p-DXVwADJT.system.js.map +1 -0
  277. package/dist/pine-core/p-DYm9--lc.system.js.map +1 -0
  278. package/dist/pine-core/p-DenbFuEN.system.js.map +1 -0
  279. package/dist/pine-core/{p-BnJypAy2.system.js.map → p-DhLX7iDs.system.js.map} +1 -1
  280. package/dist/pine-core/p-Dkz0RoFB.system.js.map +1 -0
  281. package/dist/pine-core/p-JAVnELnm.system.js +1 -1
  282. package/dist/pine-core/{p-15e554ae.entry.js → p-a30edeb1.entry.js} +2 -2
  283. package/dist/pine-core/{p-5O8bhSdk.system.js.map → p-aKHwHZQR.system.js.map} +1 -1
  284. package/dist/pine-core/p-b232004f.system.entry.js +2 -0
  285. package/dist/pine-core/p-b232004f.system.entry.js.map +1 -0
  286. package/dist/pine-core/{p-fce519e3.system.entry.js → p-b416cb4b.system.entry.js} +2 -2
  287. package/dist/pine-core/p-b416cb4b.system.entry.js.map +1 -0
  288. package/dist/pine-core/{p-94c73d98.entry.js → p-b5316979.entry.js} +2 -2
  289. package/dist/pine-core/p-b5316979.entry.js.map +1 -0
  290. package/dist/pine-core/{p-d2b2caa2.system.entry.js → p-b6f57c0f.system.entry.js} +2 -2
  291. package/dist/pine-core/p-b7f2f9f3.system.entry.js +2 -0
  292. package/dist/pine-core/p-b7f2f9f3.system.entry.js.map +1 -0
  293. package/dist/pine-core/{p-19fef546.system.entry.js → p-c301925f.system.entry.js} +2 -2
  294. package/dist/pine-core/{p-19fef546.system.entry.js.map → p-c301925f.system.entry.js.map} +1 -1
  295. package/dist/pine-core/{p-f0df10c7.system.entry.js → p-ca20b134.system.entry.js} +2 -2
  296. package/dist/pine-core/p-ca20b134.system.entry.js.map +1 -0
  297. package/dist/pine-core/{p-6748d7b4.entry.js → p-d38da7a6.entry.js} +2 -2
  298. package/dist/pine-core/p-d38da7a6.entry.js.map +1 -0
  299. package/dist/pine-core/p-eac7cc81.entry.js +2 -0
  300. package/dist/pine-core/p-eac7cc81.entry.js.map +1 -0
  301. package/dist/pine-core/p-ed5ca877.system.entry.js +2 -0
  302. package/dist/pine-core/{p-29266dcd.system.entry.js.map → p-ed5ca877.system.entry.js.map} +1 -1
  303. package/dist/pine-core/{p-13105538.system.entry.js → p-f795d3fe.system.entry.js} +2 -2
  304. package/dist/pine-core/p-f7d9bZ8U.system.js.map +1 -0
  305. package/dist/pine-core/p-f81b0dbb.system.entry.js +2 -0
  306. package/dist/pine-core/p-f81b0dbb.system.entry.js.map +1 -0
  307. package/dist/pine-core/{p-2d21bc31.entry.js → p-f8a2aedd.entry.js} +2 -2
  308. package/dist/pine-core/{p-CQtQQn3_.system.js.map → p-hL5Id7g5.system.js.map} +1 -1
  309. package/dist/pine-core/{p-BK1BTkTt.system.js.map → p-hzdqYC6e.system.js.map} +1 -1
  310. package/dist/pine-core/p-n9xvc2MF.system.js.map +1 -0
  311. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  312. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  313. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  314. package/dist/pine-core/pds-copytext.entry.esm.js.map +1 -1
  315. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
  316. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  317. package/dist/pine-core/pds-link.entry.esm.js.map +1 -1
  318. package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
  319. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  320. package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
  321. package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
  322. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  323. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  324. package/dist/pine-core/pine-core.esm.js +1 -1
  325. package/dist/types/components/pds-button/pds-button.d.ts +12 -1
  326. package/dist/types/components/pds-chip/pds-chip.d.ts +9 -2
  327. package/dist/types/components/pds-copytext/pds-copytext.d.ts +10 -0
  328. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
  329. package/dist/types/components/pds-link/pds-link.d.ts +6 -0
  330. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +27 -0
  331. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +7 -1
  332. package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +1 -1
  333. package/dist/types/components/pds-table/pds-table.d.ts +6 -7
  334. package/dist/types/components/pds-text/pds-text.d.ts +9 -0
  335. package/dist/types/components.d.ts +86 -16
  336. package/dist/types/utils/truncation-tooltip.d.ts +21 -0
  337. package/dist/types/utils/types.d.ts +1 -0
  338. package/dist/vscode.html-data.json +68 -8
  339. package/hydrate/index.js +486 -52
  340. package/hydrate/index.mjs +486 -52
  341. package/package.json +2 -2
  342. package/dist/cjs/index-DkQebouX.js.map +0 -1
  343. package/dist/esm/index-D094LgxJ.js.map +0 -1
  344. package/dist/esm-es5/index-D094LgxJ.js.map +0 -1
  345. package/dist/pine-core/p-003884fd.entry.js +0 -2
  346. package/dist/pine-core/p-003884fd.entry.js.map +0 -1
  347. package/dist/pine-core/p-01aec1ad.system.entry.js.map +0 -1
  348. package/dist/pine-core/p-1971d358.entry.js +0 -2
  349. package/dist/pine-core/p-1971d358.entry.js.map +0 -1
  350. package/dist/pine-core/p-23aba538.entry.js +0 -2
  351. package/dist/pine-core/p-23aba538.entry.js.map +0 -1
  352. package/dist/pine-core/p-29266dcd.system.entry.js +0 -2
  353. package/dist/pine-core/p-36e5e9f4.system.entry.js.map +0 -1
  354. package/dist/pine-core/p-3b0a4abe.entry.js +0 -2
  355. package/dist/pine-core/p-3b0a4abe.entry.js.map +0 -1
  356. package/dist/pine-core/p-3c026ec7.system.entry.js +0 -2
  357. package/dist/pine-core/p-3c026ec7.system.entry.js.map +0 -1
  358. package/dist/pine-core/p-425144ae.entry.js.map +0 -1
  359. package/dist/pine-core/p-48ed8147.entry.js +0 -2
  360. package/dist/pine-core/p-48ed8147.entry.js.map +0 -1
  361. package/dist/pine-core/p-6748d7b4.entry.js.map +0 -1
  362. package/dist/pine-core/p-6877a50d.system.entry.js +0 -2
  363. package/dist/pine-core/p-6877a50d.system.entry.js.map +0 -1
  364. package/dist/pine-core/p-6918b378.system.entry.js +0 -2
  365. package/dist/pine-core/p-6918b378.system.entry.js.map +0 -1
  366. package/dist/pine-core/p-8KFA3I5T.system.js.map +0 -1
  367. package/dist/pine-core/p-8e40c9ef.entry.js.map +0 -1
  368. package/dist/pine-core/p-93d0be59.entry.js +0 -2
  369. package/dist/pine-core/p-93d0be59.entry.js.map +0 -1
  370. package/dist/pine-core/p-94c73d98.entry.js.map +0 -1
  371. package/dist/pine-core/p-BpZTjdau.system.js.map +0 -1
  372. package/dist/pine-core/p-BxVkyfaO.system.js.map +0 -1
  373. package/dist/pine-core/p-CjnIO2Ro.system.js.map +0 -1
  374. package/dist/pine-core/p-Ct5QAsPN.system.js.map +0 -1
  375. package/dist/pine-core/p-D094LgxJ.js.map +0 -1
  376. package/dist/pine-core/p-DR2CskUb.system.js.map +0 -1
  377. package/dist/pine-core/p-DZEhYV6y.system.js.map +0 -1
  378. package/dist/pine-core/p-DdTbt4lH.system.js.map +0 -1
  379. package/dist/pine-core/p-Ri89mw0-.system.js.map +0 -1
  380. package/dist/pine-core/p-ZUqfslIz.system.js.map +0 -1
  381. package/dist/pine-core/p-aeb2f6ac.system.entry.js +0 -2
  382. package/dist/pine-core/p-aeb2f6ac.system.entry.js.map +0 -1
  383. package/dist/pine-core/p-b3c66c58.entry.js +0 -2
  384. package/dist/pine-core/p-b3c66c58.entry.js.map +0 -1
  385. package/dist/pine-core/p-b46f66e8.system.entry.js.map +0 -1
  386. package/dist/pine-core/p-cb8c24ad.system.entry.js +0 -2
  387. package/dist/pine-core/p-cb8c24ad.system.entry.js.map +0 -1
  388. package/dist/pine-core/p-d83d6fce.system.entry.js +0 -2
  389. package/dist/pine-core/p-d83d6fce.system.entry.js.map +0 -1
  390. package/dist/pine-core/p-eT6pKhWF.system.js.map +0 -1
  391. package/dist/pine-core/p-f0df10c7.system.entry.js.map +0 -1
  392. package/dist/pine-core/p-f5fb71f6.entry.js +0 -2
  393. package/dist/pine-core/p-fce519e3.system.entry.js.map +0 -1
  394. package/dist/pine-core/p-kYQszSpu.system.js.map +0 -1
  395. /package/dist/pine-core/{p-2aac4495.system.entry.js.map → p-15ac22bd.system.entry.js.map} +0 -0
  396. /package/dist/pine-core/{p-0ac54273.entry.js.map → p-276f774a.entry.js.map} +0 -0
  397. /package/dist/pine-core/{p-ce069162.entry.js.map → p-32f65e48.entry.js.map} +0 -0
  398. /package/dist/pine-core/{p-7d7dce2c.system.entry.js.map → p-4232520f.system.entry.js.map} +0 -0
  399. /package/dist/pine-core/{p-5abc5d82.system.entry.js.map → p-49c2e2ce.system.entry.js.map} +0 -0
  400. /package/dist/pine-core/{p-b1a7a0b2.entry.js.map → p-4de64b1f.entry.js.map} +0 -0
  401. /package/dist/pine-core/{p-0b52923b.system.entry.js.map → p-52c5ced3.system.entry.js.map} +0 -0
  402. /package/dist/pine-core/{p-3815f565.entry.js.map → p-593cee44.entry.js.map} +0 -0
  403. /package/dist/pine-core/{p-73bce0bf.entry.js.map → p-5a7b25d0.entry.js.map} +0 -0
  404. /package/dist/pine-core/{p-957647f9.entry.js.map → p-663abd80.entry.js.map} +0 -0
  405. /package/dist/pine-core/{p-23111b1c.system.entry.js.map → p-6980edfe.system.entry.js.map} +0 -0
  406. /package/dist/pine-core/{p-c9965216.system.entry.js.map → p-6fbe6be4.system.entry.js.map} +0 -0
  407. /package/dist/pine-core/{p-bd18b9bf.system.entry.js.map → p-77d4f274.system.entry.js.map} +0 -0
  408. /package/dist/pine-core/{p-78246e05.entry.js.map → p-85ce731b.entry.js.map} +0 -0
  409. /package/dist/pine-core/{p-b1820970.system.entry.js.map → p-87cee4a0.system.entry.js.map} +0 -0
  410. /package/dist/pine-core/{p-fbd8ae50.entry.js.map → p-88686193.entry.js.map} +0 -0
  411. /package/dist/pine-core/{p-b09bde5c.system.entry.js.map → p-8ab66dbc.system.entry.js.map} +0 -0
  412. /package/dist/pine-core/{p-7a11a6c7.entry.js.map → p-8f935480.entry.js.map} +0 -0
  413. /package/dist/pine-core/{p-3f05d72e.system.entry.js.map → p-9e3e441c.system.entry.js.map} +0 -0
  414. /package/dist/pine-core/{p-3cd53462.entry.js.map → p-9e8296fc.entry.js.map} +0 -0
  415. /package/dist/pine-core/{p-15e554ae.entry.js.map → p-a30edeb1.entry.js.map} +0 -0
  416. /package/dist/pine-core/{p-d2b2caa2.system.entry.js.map → p-b6f57c0f.system.entry.js.map} +0 -0
  417. /package/dist/pine-core/{p-13105538.system.entry.js.map → p-f795d3fe.system.entry.js.map} +0 -0
  418. /package/dist/pine-core/{p-2d21bc31.entry.js.map → p-f8a2aedd.entry.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -3519,7 +3519,7 @@ class MockPdsModal {
3519
3519
  }; }
3520
3520
  }
3521
3521
 
3522
- /* pds-icons v9.15.0, ES Modules */
3522
+ /* pds-icons v9.16.0, ES Modules */
3523
3523
 
3524
3524
  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>";
3525
3525
  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>";
@@ -4121,7 +4121,7 @@ class PdsBox {
4121
4121
  }; }
4122
4122
  }
4123
4123
 
4124
- const pdsButtonCss = ":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--pds-button-outline-offset:var(--pine-border-width);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) a,:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-radius:var(--pds-button-border-radius);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);-webkit-box-shadow:var(--pds-button-box-shadow-focus, none);box-shadow:var(--pds-button-box-shadow-focus, none);outline:var(--pds-button-outline-focus, var(--pine-outline-focus));outline-offset:var(--pds-button-outline-offset)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-white);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-white);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--tertiary{--color-background-default:transparent;--color-background-hover:var(--pine-color-background-muted);--color-background-disabled:transparent;--color-border-default:transparent;--color-border-hover:var(--pine-color-background-muted);--color-border-disabled:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--filter{--color-background-default:var(--pine-color-background-container);--color-background-hover:var(--pine-color-background-subtle);--color-background-disabled:var(--pine-color-white);--color-border-default:transparent;--color-border-hover:transparent;--color-border-focus:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-hover:var(--pine-color-text-hover);--color-text-disabled:var(--pine-color-text-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary);--pds-button-border-radius:var(--pine-dimension-125);--pds-button-border-radius-start-end:var(--pine-dimension-125);--pds-button-border-radius-start-start:var(--pine-dimension-125);--pds-button-border-radius-end-end:var(--pine-dimension-125);--pds-button-border-radius-end-start:var(--pine-dimension-125);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-button--filter:disabled{background-color:var(--pine-color-background-container)}.pds-button--filter:hover{color:var(--color-text-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:var(--pine-color-text);--button-loader-color:var(--pine-color-text);border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon:not(:has(::slotted(*))){display:none}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--small{min-height:var(--pine-dimension-400);padding:calc(var(--pine-dimension-2xs) - var(--pine-border-width)) var(--pine-dimension-sm)}.pds-button--micro{font-size:var(--pine-font-size-085);min-height:var(--pine-dimension-300);padding:var(--pine-dimension-025) var(--pine-dimension-xs)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-button--icon-only.pds-button--small{height:var(--pine-dimension-400);min-height:var(--pine-dimension-400);min-width:var(--pine-dimension-400);padding:var(--pine-dimension-2xs);width:var(--pine-dimension-400)}.pds-button--icon-only.pds-button--micro{height:var(--pine-dimension-300);min-height:var(--pine-dimension-300);min-width:var(--pine-dimension-300);padding:var(--pine-dimension-3xs);width:var(--pine-dimension-300)}";
4124
+ const pdsButtonCss = ":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--pds-button-outline-offset:var(--pine-border-width);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) a,:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-radius:var(--pds-button-border-radius);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);-webkit-box-shadow:var(--pds-button-box-shadow-focus, none);box-shadow:var(--pds-button-box-shadow-focus, none);outline:var(--pds-button-outline-focus, var(--pine-outline-focus));outline-offset:var(--pds-button-outline-offset)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-white);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-white);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--tertiary{--color-background-default:transparent;--color-background-hover:var(--pine-color-background-muted);--color-background-disabled:transparent;--color-border-default:transparent;--color-border-hover:var(--pine-color-background-muted);--color-border-disabled:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--filter{--color-background-default:var(--pine-color-background-container);--color-background-hover:var(--pine-color-background-subtle);--color-background-disabled:var(--pine-color-white);--color-border-default:transparent;--color-border-hover:transparent;--color-border-focus:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-hover:var(--pine-color-text-hover);--color-text-disabled:var(--pine-color-text-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary);--pds-button-border-radius:var(--pine-dimension-125);--pds-button-border-radius-start-end:var(--pine-dimension-125);--pds-button-border-radius-start-start:var(--pine-dimension-125);--pds-button-border-radius-end-end:var(--pine-dimension-125);--pds-button-border-radius-end-start:var(--pine-dimension-125);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-button--filter:disabled{background-color:var(--pine-color-background-container)}.pds-button--filter:hover{color:var(--color-text-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:var(--pine-color-text);--button-loader-color:var(--pine-color-text);border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--empty{display:none}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--small{min-height:var(--pine-dimension-400);padding:calc(var(--pine-dimension-2xs) - var(--pine-border-width)) var(--pine-dimension-sm)}.pds-button--micro{font-size:var(--pine-font-size-085);min-height:var(--pine-dimension-300);padding:var(--pine-dimension-025) var(--pine-dimension-xs)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-button--icon-only.pds-button--small{height:var(--pine-dimension-400);min-height:var(--pine-dimension-400);min-width:var(--pine-dimension-400);padding:var(--pine-dimension-2xs);width:var(--pine-dimension-400)}.pds-button--icon-only.pds-button--micro{height:var(--pine-dimension-300);min-height:var(--pine-dimension-300);min-width:var(--pine-dimension-300);padding:var(--pine-dimension-3xs);width:var(--pine-dimension-300)}";
4125
4125
 
4126
4126
  /**
4127
4127
  * @part button - Exposes the button element for styling.
@@ -4179,6 +4179,14 @@ class PdsButton {
4179
4179
  * @defaultValue primary
4180
4180
  */
4181
4181
  this.variant = 'primary';
4182
+ this.hasStartContent = false;
4183
+ this.hasEndContent = false;
4184
+ this.handleStartSlotChange = (event) => {
4185
+ this.hasStartContent = event.target.assignedElements({ flatten: true }).length > 0;
4186
+ };
4187
+ this.handleEndSlotChange = (event) => {
4188
+ this.hasEndContent = event.target.assignedElements({ flatten: true }).length > 0;
4189
+ };
4182
4190
  this.handleClick = (ev) => {
4183
4191
  if (this.loading) {
4184
4192
  ev.preventDefault();
@@ -4277,8 +4285,9 @@ class PdsButton {
4277
4285
  return (hAsync("pds-icon", { class: this.loading ? 'pds-button__icon--hidden' : '', name: this.icon, part: "icon", "aria-hidden": "true" }));
4278
4286
  }
4279
4287
  // Always render the start slot so slotted content is projected reliably.
4280
- // CSS hides the wrapper when no content is slotted (prevents empty gap space).
4281
- return hAsync("span", { class: `pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}` }, hAsync("slot", { name: "start" }));
4288
+ // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).
4289
+ const startClasses = `pds-button__icon${this.hasStartContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;
4290
+ return hAsync("span", { class: startClasses }, hAsync("slot", { name: "start", onSlotchange: this.handleStartSlotChange }));
4282
4291
  }
4283
4292
  renderEndContent() {
4284
4293
  if (this.iconOnly) {
@@ -4288,8 +4297,9 @@ class PdsButton {
4288
4297
  return (hAsync("pds-icon", { class: this.loading ? 'pds-button__icon--hidden' : '', icon: caretDown, part: "caret", "aria-hidden": "true" }));
4289
4298
  }
4290
4299
  // Always render the end slot so slotted content is projected reliably.
4291
- // CSS hides the wrapper when no content is slotted (prevents empty gap space).
4292
- return hAsync("span", { class: `pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}` }, hAsync("slot", { name: "end" }));
4300
+ // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).
4301
+ const endClasses = `pds-button__icon${this.hasEndContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;
4302
+ return hAsync("span", { class: endClasses }, hAsync("slot", { name: "end", onSlotchange: this.handleEndSlotChange }));
4293
4303
  }
4294
4304
  render() {
4295
4305
  // Common props for both button and anchor elements
@@ -4299,7 +4309,7 @@ class PdsButton {
4299
4309
  };
4300
4310
  const attributes = () => {
4301
4311
  if (this.href) {
4302
- return Object.assign(Object.assign({}, commonProps), { href: this.disabled ? null : this.href, target: this.target });
4312
+ return Object.assign(Object.assign({}, commonProps), { download: this.download, href: this.disabled ? null : this.href, target: this.target });
4303
4313
  }
4304
4314
  return Object.assign(Object.assign({}, commonProps), { 'aria-busy': this.loading ? 'true' : null, 'aria-live': this.loading ? 'polite' : null, 'disabled': this.disabled, 'name': this.name, 'type': this.type, 'value': this.value });
4305
4315
  };
@@ -4316,7 +4326,8 @@ class PdsButton {
4316
4326
  "$tagName$": "pds-button",
4317
4327
  "$members$": {
4318
4328
  "componentId": [1, "component-id"],
4319
- "disabled": [4],
4329
+ "download": [1],
4330
+ "disabled": [516],
4320
4331
  "fullWidth": [4, "full-width"],
4321
4332
  "href": [1],
4322
4333
  "icon": [1],
@@ -4327,11 +4338,13 @@ class PdsButton {
4327
4338
  "type": [1],
4328
4339
  "value": [1],
4329
4340
  "size": [1],
4330
- "variant": [1]
4341
+ "variant": [1],
4342
+ "hasStartContent": [32],
4343
+ "hasEndContent": [32]
4331
4344
  },
4332
4345
  "$listeners$": [[16, "keydown", "handleFormKeyDown"]],
4333
4346
  "$lazyBundleId$": "-",
4334
- "$attrsToReflect$": []
4347
+ "$attrsToReflect$": [["disabled", "disabled"]]
4335
4348
  }; }
4336
4349
  }
4337
4350
 
@@ -4589,7 +4602,7 @@ class PdsCheckbox {
4589
4602
 
4590
4603
  const pdsChipTokensCss = ":host{--pine-chip-color-accent:var(--pine-color-purple-100);--pine-chip-color-accent-hover:var(--pine-color-purple-300);--pine-chip-color-accent-dot:var(--pine-color-purple-600);--pine-chip-color-danger:var(--pine-color-red-100);--pine-chip-color-danger-hover:var(--pine-color-red-300);--pine-chip-color-danger-dot:var(--pine-color-red-600);--pine-chip-color-info:var(--pine-color-blue-100);--pine-chip-color-info-hover:var(--pine-color-blue-300);--pine-chip-color-info-dot:var(--pine-color-blue-600);--pine-chip-color-neutral:var(--pine-color-grey-100);--pine-chip-color-neutral-hover:var(--pine-color-grey-300);--pine-chip-color-neutral-dot:var(--pine-color-grey-600);--pine-chip-color-success:var(--pine-color-green-100);--pine-chip-color-success-hover:var(--pine-color-green-300);--pine-chip-color-success-dot:var(--pine-color-green-600);--pine-chip-color-warning:var(--pine-color-yellow-100);--pine-chip-color-warning-hover:var(--pine-color-yellow-300);--pine-chip-color-warning-dot:var(--pine-color-yellow-600)}";
4591
4604
 
4592
- const pdsChipCss = ":host{--sizing-close:var(--pine-dimension-125);-ms-flex-align:center;align-items:center;border-radius:var(--pine-dimension-sm);display:-ms-inline-flexbox;display:inline-flex;padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-100)}:host(.pds-chip--accent){background:var(--pine-chip-color-accent);border:var(--pine-border-width) solid var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent) .pds-chip__dot{background:var(--pine-chip-color-accent-dot)}:host(.pds-chip--accent) .pds-chip__label,:host(.pds-chip--accent) .pds-chip__button,:host(.pds-chip--accent) .pds-chip__close{color:var(--pine-color-text-accent);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--accent) .pds-chip__close:hover{background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent.pds-chip--dropdown:hover){background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--danger){background:var(--pine-chip-color-danger);border:var(--pine-border-width) solid var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger) .pds-chip__dot{background:var(--pine-chip-color-danger-dot)}:host(.pds-chip--danger) .pds-chip__label,:host(.pds-chip--danger) .pds-chip__button,:host(.pds-chip--danger) .pds-chip__close{color:var(--pine-color-text-danger);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--danger) .pds-chip__close:hover{background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger.pds-chip--dropdown:hover){background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--info){background:var(--pine-chip-color-info);border:var(--pine-border-width) solid var(--pine-chip-color-info-hover)}:host(.pds-chip--info) .pds-chip__dot{background:var(--pine-chip-color-info-dot)}:host(.pds-chip--info) .pds-chip__label,:host(.pds-chip--info) .pds-chip__button,:host(.pds-chip--info) .pds-chip__close{color:var(--pine-color-text-info);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--info) .pds-chip__close:hover{background:var(--pine-chip-color-info-hover)}:host(.pds-chip--info.pds-chip--dropdown:hover){background:var(--pine-chip-color-info-hover)}:host(.pds-chip--neutral){background:var(--pine-chip-color-neutral);border:var(--pine-border-width) solid var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral) .pds-chip__dot{background:var(--pine-chip-color-neutral-dot)}:host(.pds-chip--neutral) .pds-chip__label,:host(.pds-chip--neutral) .pds-chip__button,:host(.pds-chip--neutral) .pds-chip__close{color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--neutral) .pds-chip__close:hover{background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral.pds-chip--dropdown:hover){background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--success){background:var(--pine-chip-color-success);border:var(--pine-border-width) solid var(--pine-chip-color-success-hover)}:host(.pds-chip--success) .pds-chip__dot{background:var(--pine-chip-color-success-dot)}:host(.pds-chip--success) .pds-chip__label,:host(.pds-chip--success) .pds-chip__button,:host(.pds-chip--success) .pds-chip__close{color:var(--pine-color-text-success);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--success) .pds-chip__close:hover{background:var(--pine-chip-color-success-hover)}:host(.pds-chip--success.pds-chip--dropdown:hover){background:var(--pine-chip-color-success-hover)}:host(.pds-chip--warning){background:var(--pine-chip-color-warning);border:var(--pine-border-width) solid var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning) .pds-chip__dot{background:var(--pine-chip-color-warning-dot)}:host(.pds-chip--warning) .pds-chip__label,:host(.pds-chip--warning) .pds-chip__button,:host(.pds-chip--warning) .pds-chip__close{color:var(--pine-color-text-warning);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--warning) .pds-chip__close:hover{background:var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning.pds-chip--dropdown:hover){background:var(--pine-chip-color-warning-hover)}.pds-chip__dot{border:var(--pine-border-width) solid transparent;border-radius:var(--pine-border-radius-full);display:inline-block;height:var(--pine-dimension-2xs);-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs);width:var(--pine-dimension-2xs)}.pds-chip__label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__label,.pds-chip__button{font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host(.pds-chip--dropdown){padding:var(--pine-dimension-none)}.pds-chip__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-dimension-sm);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-025) var(--pine-dimension-100)}.pds-chip__button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__button pds-icon:last-child{-webkit-margin-end:calc(var(--pine-dimension-025) * -1);margin-inline-end:calc(var(--pine-dimension-025) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-chip__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-border-radius-full);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--sizing-close);-webkit-margin-end:calc(var(--pine-dimension-xs) * -1);margin-inline-end:calc(var(--pine-dimension-xs) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs);padding:var(--sizing-close);position:relative;width:var(--sizing-close)}.pds-chip__close pds-icon{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pds-chip__close:focus-visible{outline:var(--pine-outline-focus)}:host(.pds-chip--large){padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--large) .pds-chip__label,:host(.pds-chip--large) .pds-chip__button{font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}:host(.pds-chip--large.pds-chip--dropdown){padding:var(--pine-dimension-none)}:host(.pds-chip--large.pds-chip--dropdown) .pds-chip__button{padding:var(--pine-dimension-025) var(--pine-dimension-150)}:host(.pds-chip--brand){background:-webkit-gradient(linear, left top, right top, from(#FF3E14), to(#6B62F2));background:linear-gradient(90deg, #FF3E14 0%, #6B62F2 100%);border:0;padding:1px;position:relative}:host(.pds-chip--brand) .pds-chip__label{background:rgba(255, 255, 255, 0.9);border-radius:calc(var(--pine-dimension-sm) - 1px);color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium);padding:var(--pine-dimension-025) var(--pine-dimension-100);position:relative;z-index:var(--pine-z-index-raised)}:host(.pds-chip--brand) .pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__button,:host(.pds-chip--brand) .pds-chip__close{color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium);position:relative;z-index:var(--pine-z-index-raised)}:host(.pds-chip--brand) .pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__close:hover{background:rgba(255, 255, 255, 0.8)}";
4605
+ const pdsChipCss = ":host{--sizing-close:var(--pine-dimension-125);-ms-flex-align:center;align-items:center;border-radius:var(--pine-dimension-sm);display:-ms-inline-flexbox;display:inline-flex;padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-100)}:host(.pds-chip--accent){background:var(--pine-chip-color-accent);border:var(--pine-border-width) solid var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent) .pds-chip__dot{background:var(--pine-chip-color-accent-dot)}:host(.pds-chip--accent) .pds-chip__label,:host(.pds-chip--accent) .pds-chip__button,:host(.pds-chip--accent) .pds-chip__close{color:var(--pine-color-text-accent);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--accent) .pds-chip__close:hover{background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent.pds-chip--dropdown:hover){background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--danger){background:var(--pine-chip-color-danger);border:var(--pine-border-width) solid var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger) .pds-chip__dot{background:var(--pine-chip-color-danger-dot)}:host(.pds-chip--danger) .pds-chip__label,:host(.pds-chip--danger) .pds-chip__button,:host(.pds-chip--danger) .pds-chip__close{color:var(--pine-color-text-danger);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--danger) .pds-chip__close:hover{background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger.pds-chip--dropdown:hover){background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--info){background:var(--pine-chip-color-info);border:var(--pine-border-width) solid var(--pine-chip-color-info-hover)}:host(.pds-chip--info) .pds-chip__dot{background:var(--pine-chip-color-info-dot)}:host(.pds-chip--info) .pds-chip__label,:host(.pds-chip--info) .pds-chip__button,:host(.pds-chip--info) .pds-chip__close{color:var(--pine-color-text-info);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--info) .pds-chip__close:hover{background:var(--pine-chip-color-info-hover)}:host(.pds-chip--info.pds-chip--dropdown:hover){background:var(--pine-chip-color-info-hover)}:host(.pds-chip--neutral){background:var(--pine-chip-color-neutral);border:var(--pine-border-width) solid var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral) .pds-chip__dot{background:var(--pine-chip-color-neutral-dot)}:host(.pds-chip--neutral) .pds-chip__label,:host(.pds-chip--neutral) .pds-chip__button,:host(.pds-chip--neutral) .pds-chip__close{color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--neutral) .pds-chip__close:hover{background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral.pds-chip--dropdown:hover){background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--success){background:var(--pine-chip-color-success);border:var(--pine-border-width) solid var(--pine-chip-color-success-hover)}:host(.pds-chip--success) .pds-chip__dot{background:var(--pine-chip-color-success-dot)}:host(.pds-chip--success) .pds-chip__label,:host(.pds-chip--success) .pds-chip__button,:host(.pds-chip--success) .pds-chip__close{color:var(--pine-color-text-success);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--success) .pds-chip__close:hover{background:var(--pine-chip-color-success-hover)}:host(.pds-chip--success.pds-chip--dropdown:hover){background:var(--pine-chip-color-success-hover)}:host(.pds-chip--warning){background:var(--pine-chip-color-warning);border:var(--pine-border-width) solid var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning) .pds-chip__dot{background:var(--pine-chip-color-warning-dot)}:host(.pds-chip--warning) .pds-chip__label,:host(.pds-chip--warning) .pds-chip__button,:host(.pds-chip--warning) .pds-chip__close{color:var(--pine-color-text-warning);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--warning) .pds-chip__close:hover{background:var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning.pds-chip--dropdown:hover){background:var(--pine-chip-color-warning-hover)}.pds-chip__dot{border:var(--pine-border-width) solid transparent;border-radius:var(--pine-border-radius-full);display:inline-block;height:var(--pine-dimension-2xs);-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs);width:var(--pine-dimension-2xs)}.pds-chip__label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__label,.pds-chip__button{font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host(.pds-chip--dropdown){padding:var(--pine-dimension-none)}.pds-chip__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-dimension-sm);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-025) var(--pine-dimension-100)}.pds-chip__button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__button pds-icon:last-child{-webkit-margin-end:calc(var(--pine-dimension-025) * -1);margin-inline-end:calc(var(--pine-dimension-025) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-chip__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-border-radius-full);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--sizing-close);-webkit-margin-end:calc(var(--pine-dimension-xs) * -1);margin-inline-end:calc(var(--pine-dimension-xs) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs);padding:var(--sizing-close);position:relative;width:var(--sizing-close)}.pds-chip__close pds-icon{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pds-chip__close:focus-visible{outline:var(--pine-outline-focus)}:host(.pds-chip--sm){--sizing-close:var(--pine-dimension-100);padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-100)}:host(.pds-chip--sm) .pds-chip__label,:host(.pds-chip--sm) .pds-chip__button{font:var(--pine-typography-body-sm-medium);letter-spacing:var(--pine-letter-spacing)}:host(.pds-chip--sm.pds-chip--dropdown){padding:var(--pine-dimension-none)}:host(.pds-chip--sm.pds-chip--dropdown) .pds-chip__button{padding:var(--pine-dimension-025) var(--pine-dimension-100)}:host(.pds-chip--sm.pds-chip--brand) .pds-chip__label{padding:var(--pine-dimension-025) var(--pine-dimension-100)}:host(.pds-chip--lg){padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--lg) .pds-chip__label,:host(.pds-chip--lg) .pds-chip__button{font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}:host(.pds-chip--lg.pds-chip--dropdown){padding:var(--pine-dimension-none)}:host(.pds-chip--lg.pds-chip--dropdown) .pds-chip__button{padding:var(--pine-dimension-025) var(--pine-dimension-150)}:host(.pds-chip--brand){background:-webkit-gradient(linear, left top, right top, from(#FF3E14), to(#6B62F2));background:linear-gradient(90deg, #FF3E14 0%, #6B62F2 100%);border:0;padding:1px;position:relative}:host(.pds-chip--brand) .pds-chip__label{background:rgba(255, 255, 255, 0.9);border-radius:calc(var(--pine-dimension-sm) - 1px);color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium);padding:var(--pine-dimension-025) var(--pine-dimension-100);position:relative;z-index:var(--pine-z-index-raised)}:host(.pds-chip--brand) .pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__button,:host(.pds-chip--brand) .pds-chip__close{color:var(--pine-color-grey-900);font-weight:var(--pine-font-weight-medium);position:relative;z-index:var(--pine-z-index-raised)}:host(.pds-chip--brand) .pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__close:hover{background:rgba(255, 255, 255, 0.8)}";
4593
4606
 
4594
4607
  /**
4595
4608
  * @slot (default) - The chip's label text.
@@ -4605,8 +4618,9 @@ class PdsChip {
4605
4618
  */
4606
4619
  this.dot = false;
4607
4620
  /**
4608
- * Determines whether the chip should be displayed in a larger size.
4621
+ * Determines whether the chip should be displayed in a larger size. DEPRECATED.
4609
4622
  * @defaultValue false
4623
+ * @deprecated Use `size` prop instead. Set `size="lg"` for the large variant.
4610
4624
  */
4611
4625
  this.large = false;
4612
4626
  /**
@@ -4624,10 +4638,18 @@ class PdsChip {
4624
4638
  this.pdsTagCloseClick.emit();
4625
4639
  };
4626
4640
  }
4641
+ get effectiveSize() {
4642
+ if (this.size != null)
4643
+ return this.size;
4644
+ if (this.large)
4645
+ return 'lg';
4646
+ return 'md';
4647
+ }
4627
4648
  classNames() {
4628
4649
  const classNames = ['pds-chip'];
4629
- if (this.large) {
4630
- classNames.push('pds-chip--large');
4650
+ const size = this.effectiveSize;
4651
+ if (size && size !== 'md') {
4652
+ classNames.push('pds-chip--' + size);
4631
4653
  }
4632
4654
  // For brand sentiment, always use text variant
4633
4655
  const effectiveVariant = this.sentiment === 'brand' ? 'text' : this.variant;
@@ -4644,8 +4666,11 @@ class PdsChip {
4644
4666
  return this.sentiment === 'brand' ? 'text' : this.variant;
4645
4667
  }
4646
4668
  get iconSize() {
4647
- // Icon size based on large prop
4648
- return this.large ? '14px' : '12px';
4669
+ switch (this.effectiveSize) {
4670
+ case 'sm': return '10px';
4671
+ case 'lg': return '14px';
4672
+ default: return '12px';
4673
+ }
4649
4674
  }
4650
4675
  setChipContent() {
4651
4676
  const isDropdown = this.effectiveVariant === 'dropdown';
@@ -4699,7 +4724,7 @@ class PdsChip {
4699
4724
  return (hAsync(CloseElement, Object.assign({}, closeAttributes(), { onClick: this.handleCloseClick }), hAsync("pds-icon", { icon: remove, size: this.iconSize })));
4700
4725
  }
4701
4726
  render() {
4702
- return (hAsync(Host, { key: '9e2fb58ed2e55db3bda912cd672e8bde757e6638', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.effectiveVariant === 'tag' && this.renderCloseButton()));
4727
+ return (hAsync(Host, { key: 'fcd4828fabaeba300c35cd9a0b90701feefd6480', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.effectiveVariant === 'tag' && this.renderCloseButton()));
4703
4728
  }
4704
4729
  static get style() { return pdsChipTokensCss + pdsChipCss; }
4705
4730
  static get cmpMeta() { return {
@@ -4710,6 +4735,7 @@ class PdsChip {
4710
4735
  "dot": [4],
4711
4736
  "icon": [1],
4712
4737
  "large": [4],
4738
+ "size": [1],
4713
4739
  "sentiment": [1],
4714
4740
  "variant": [1],
4715
4741
  "removeUrl": [1, "remove-url"],
@@ -8956,10 +8982,10 @@ class PdsCombobox {
8956
8982
  }
8957
8983
  render() {
8958
8984
  const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
8959
- return (hAsync(Host, { key: '969d61af2b58a33d582259df5fe62a4d509a9f7b' }, hAsync("div", { key: '2af78eb8fd340e6f7a05f86ed3ed17dbe2c066e3', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (hAsync("label", { key: '9c85e41decaeb8403fad2217a90c5f2aaf659651', htmlFor: this.componentId, class: "pds-combobox__label" }, hAsync("span", { key: '578de8ce9fa07ce8f14b8b689c9fa8ee91495b83', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (hAsync("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, hAsync("input", { ref: el => {
8985
+ return (hAsync(Host, { key: '969d61af2b58a33d582259df5fe62a4d509a9f7b' }, hAsync("div", { key: 'fd4fae653c654b4cdc582f6a7d51100844d5a050', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut, part: "combobox" }, this.label && (hAsync("label", { key: 'fc90ccdb48bc951873b92e6c315cecbbd74a52b5', htmlFor: this.componentId, class: "pds-combobox__label" }, hAsync("span", { key: 'be72c23cc4759cf8dadbcdcb6121adf33cefc237', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (hAsync("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, hAsync("input", { ref: el => {
8960
8986
  this.inputEl = el;
8961
8987
  this.triggerEl = el;
8962
- }, class: "pds-combobox__input", type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), hAsync("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (hAsync("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: '9805336062fc35dfa0465f0b85916c02b96ad10e', style: { display: 'none' } }, hAsync("slot", { key: 'cef42fb8fe2f73e2d44ed8258f805407a87628a2', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
8988
+ }, class: "pds-combobox__input", type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.displayText, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onClick: this.handleInputClick, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" }), hAsync("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (hAsync("div", { class: this.getChipTriggerClass(), style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "chip-trigger" }, this.renderChipTriggerContent())) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.isOpen && this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: this.disabled ? -1 : 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, onKeyUp: this.onButtonTriggerKeyUp, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: 'db0c3c6aa9d332c2ab0d31e43afd499e604b5ce8', style: { display: 'none' } }, hAsync("slot", { key: '3a9eef50b933e311222c0c067dfa29dc867b19cd', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
8963
8989
  }
8964
8990
  static get formAssociated() { return true; }
8965
8991
  get el() { return getElement(this); }
@@ -9020,12 +9046,254 @@ class PdsCombobox {
9020
9046
  }; }
9021
9047
  }
9022
9048
 
9049
+ /** CSS class prefix used for truncation tooltip portal elements */
9050
+ const TOOLTIP_CLASS = 'pds-truncation-tooltip';
9051
+ /**
9052
+ * Injects the truncation tooltip styles into the document head.
9053
+ * Uses the same design tokens as pds-tooltip for visual consistency.
9054
+ * Only injects once — checks the DOM to avoid duplicates.
9055
+ *
9056
+ * Z-Index Strategy:
9057
+ * Uses --pine-z-index-nuclear (9999) to ensure tooltips appear above all other UI elements.
9058
+ * This is necessary because tooltips are portaled to document.body and must overlay:
9059
+ * - Modal dialogs
9060
+ * - Dropdown menus
9061
+ * - Other floating UI elements
9062
+ * If you encounter z-index conflicts, ensure your overlays use Pine's z-index tokens
9063
+ * or adjust --pine-z-index-nuclear in your theme.
9064
+ */
9065
+ function injectStyles() {
9066
+ if (document.querySelector('[data-pds-truncation-tooltip]'))
9067
+ return;
9068
+ const style = document.createElement('style');
9069
+ style.setAttribute('data-pds-truncation-tooltip', '');
9070
+ style.textContent = `
9071
+ .${TOOLTIP_CLASS} {
9072
+ position: fixed;
9073
+ z-index: var(--pine-z-index-nuclear, 9999);
9074
+ }
9075
+ .${TOOLTIP_CLASS}__content {
9076
+ background-color: var(--pine-color-primary, #1a1a2e);
9077
+ border-radius: calc(var(--pine-dimension-xs, 4px) * 1.25);
9078
+ box-shadow: var(--pine-box-shadow, 0 2px 8px rgba(0,0,0,0.15));
9079
+ color: var(--pine-color-text-primary, #fff);
9080
+ cursor: text;
9081
+ font-family: var(--pine-font-family-body, sans-serif);
9082
+ font-size: var(--pine-font-size-body-sm, 0.875rem);
9083
+ letter-spacing: var(--pine-letter-spacing, normal);
9084
+ line-height: var(--pine-line-height-body, 1.5);
9085
+ max-width: 320px;
9086
+ opacity: 0;
9087
+ padding: var(--pine-dimension-xs, 4px) calc(var(--pine-dimension-md, 12px) / 2);
9088
+ transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
9089
+ user-select: text;
9090
+ visibility: hidden;
9091
+ width: max-content;
9092
+ word-break: break-word;
9093
+ }
9094
+ .${TOOLTIP_CLASS}--visible .${TOOLTIP_CLASS}__content {
9095
+ opacity: 1;
9096
+ visibility: visible;
9097
+ }
9098
+ `;
9099
+ document.head.appendChild(style);
9100
+ }
9101
+ /**
9102
+ * Checks if an element's content is overflowing horizontally (i.e. text is truncated).
9103
+ */
9104
+ function isOverflowing(el) {
9105
+ return el.scrollWidth > el.clientWidth;
9106
+ }
9107
+ /**
9108
+ * Sets up automatic tooltip behavior for a truncated element.
9109
+ *
9110
+ * When the element's text overflows, hovering or focusing the host element
9111
+ * will display a tooltip showing the full text content. The tooltip is
9112
+ * rendered as a portal on document.body and positioned with Floating UI.
9113
+ *
9114
+ * @returns A cleanup function that removes all listeners, observers, and DOM elements.
9115
+ */
9116
+ function setupTruncationTooltip(options) {
9117
+ const { hostEl, contentEl, getTooltipText, placement = 'top' } = options;
9118
+ injectStyles();
9119
+ let portalEl = null;
9120
+ let isHovering = false;
9121
+ let isHoveringPortal = false;
9122
+ let isFocused = false;
9123
+ let hideTimeout = null;
9124
+ let resizeObserver = null;
9125
+ let resizeDebounce = null;
9126
+ // Use ResizeObserver to re-evaluate overflow when the element resizes
9127
+ // Debounced to prevent performance issues during rapid window resizing
9128
+ if (typeof ResizeObserver !== 'undefined') {
9129
+ resizeObserver = new ResizeObserver(() => {
9130
+ if (resizeDebounce) {
9131
+ clearTimeout(resizeDebounce);
9132
+ }
9133
+ resizeDebounce = setTimeout(() => {
9134
+ resizeDebounce = null;
9135
+ // If tooltip is showing but text no longer overflows, hide it
9136
+ if (portalEl && portalEl.isConnected && !isOverflowing(contentEl)) {
9137
+ hideTooltip();
9138
+ }
9139
+ }, 100);
9140
+ });
9141
+ resizeObserver.observe(contentEl);
9142
+ }
9143
+ function createPortal() {
9144
+ if (portalEl)
9145
+ return;
9146
+ const text = getTooltipText();
9147
+ if (!text || text.trim() === '')
9148
+ return;
9149
+ portalEl = document.createElement('div');
9150
+ portalEl.className = TOOLTIP_CLASS;
9151
+ portalEl.setAttribute('role', 'tooltip');
9152
+ portalEl.setAttribute('aria-hidden', 'false');
9153
+ const contentDiv = document.createElement('div');
9154
+ contentDiv.className = `${TOOLTIP_CLASS}__content`;
9155
+ contentDiv.textContent = text.trim();
9156
+ portalEl.appendChild(contentDiv);
9157
+ document.body.appendChild(portalEl);
9158
+ // Allow the user to hover into the tooltip to select/copy text
9159
+ portalEl.addEventListener('mouseenter', handlePortalMouseEnter);
9160
+ portalEl.addEventListener('mouseleave', handlePortalMouseLeave);
9161
+ positionTooltip().then(() => {
9162
+ if (portalEl) {
9163
+ portalEl.classList.add(`${TOOLTIP_CLASS}--visible`);
9164
+ }
9165
+ });
9166
+ }
9167
+ async function positionTooltip() {
9168
+ if (!portalEl)
9169
+ return;
9170
+ try {
9171
+ const { x, y } = await computePosition(hostEl, portalEl, {
9172
+ placement,
9173
+ strategy: 'fixed',
9174
+ middleware: [offset(4), flip(), shift({ padding: 5 })],
9175
+ });
9176
+ Object.assign(portalEl.style, {
9177
+ left: `${x}px`,
9178
+ top: `${y}px`,
9179
+ });
9180
+ }
9181
+ catch (_a) {
9182
+ // Fallback: position above the element with bounds checking
9183
+ if (portalEl) {
9184
+ const rect = hostEl.getBoundingClientRect();
9185
+ const portalRect = portalEl.getBoundingClientRect();
9186
+ const padding = 5;
9187
+ // Ensure tooltip stays within viewport bounds
9188
+ const left = Math.max(padding, Math.min(rect.left, window.innerWidth - portalRect.width - padding));
9189
+ const top = Math.max(padding, rect.top - portalRect.height - 8);
9190
+ portalEl.style.left = `${left}px`;
9191
+ portalEl.style.top = `${top}px`;
9192
+ }
9193
+ }
9194
+ }
9195
+ function removePortal() {
9196
+ if (portalEl) {
9197
+ portalEl.removeEventListener('mouseenter', handlePortalMouseEnter);
9198
+ portalEl.removeEventListener('mouseleave', handlePortalMouseLeave);
9199
+ portalEl.classList.remove(`${TOOLTIP_CLASS}--visible`);
9200
+ // Check if portal is still in the DOM before removing
9201
+ if (portalEl.parentNode && portalEl.isConnected) {
9202
+ try {
9203
+ portalEl.parentNode.removeChild(portalEl);
9204
+ }
9205
+ catch (e) {
9206
+ // Portal was already removed, ignore error
9207
+ }
9208
+ }
9209
+ portalEl = null;
9210
+ }
9211
+ }
9212
+ function cancelHideTimeout() {
9213
+ if (hideTimeout !== null) {
9214
+ clearTimeout(hideTimeout);
9215
+ hideTimeout = null;
9216
+ }
9217
+ }
9218
+ function showTooltip() {
9219
+ cancelHideTimeout();
9220
+ if (!isOverflowing(contentEl))
9221
+ return;
9222
+ createPortal();
9223
+ }
9224
+ function hideTooltip() {
9225
+ if (isHovering || isHoveringPortal || isFocused)
9226
+ return;
9227
+ removePortal();
9228
+ }
9229
+ /**
9230
+ * Schedules tooltip removal after a short delay.
9231
+ *
9232
+ * The 100ms delay serves two purposes:
9233
+ * 1. Gives users time to move their cursor from the truncated text to the tooltip portal
9234
+ * without it closing, enabling text selection/copying from the tooltip
9235
+ * 2. Prevents flickering when the user briefly moves the cursor during normal interaction
9236
+ */
9237
+ function scheduleHide() {
9238
+ cancelHideTimeout();
9239
+ hideTimeout = setTimeout(() => {
9240
+ hideTimeout = null;
9241
+ hideTooltip();
9242
+ }, 100);
9243
+ }
9244
+ function handleMouseEnter() {
9245
+ isHovering = true;
9246
+ showTooltip();
9247
+ }
9248
+ function handleMouseLeave() {
9249
+ isHovering = false;
9250
+ scheduleHide();
9251
+ }
9252
+ function handlePortalMouseEnter() {
9253
+ isHoveringPortal = true;
9254
+ cancelHideTimeout();
9255
+ }
9256
+ function handlePortalMouseLeave() {
9257
+ isHoveringPortal = false;
9258
+ scheduleHide();
9259
+ }
9260
+ function handleFocusIn() {
9261
+ isFocused = true;
9262
+ showTooltip();
9263
+ }
9264
+ function handleFocusOut() {
9265
+ isFocused = false;
9266
+ scheduleHide();
9267
+ }
9268
+ hostEl.addEventListener('mouseenter', handleMouseEnter);
9269
+ hostEl.addEventListener('mouseleave', handleMouseLeave);
9270
+ hostEl.addEventListener('focusin', handleFocusIn);
9271
+ hostEl.addEventListener('focusout', handleFocusOut);
9272
+ // Return cleanup function
9273
+ return () => {
9274
+ cancelHideTimeout();
9275
+ if (resizeDebounce) {
9276
+ clearTimeout(resizeDebounce);
9277
+ resizeDebounce = null;
9278
+ }
9279
+ if (resizeObserver) {
9280
+ resizeObserver.disconnect();
9281
+ }
9282
+ hostEl.removeEventListener('mouseenter', handleMouseEnter);
9283
+ hostEl.removeEventListener('mouseleave', handleMouseLeave);
9284
+ hostEl.removeEventListener('focusin', handleFocusIn);
9285
+ hostEl.removeEventListener('focusout', handleFocusOut);
9286
+ removePortal();
9287
+ };
9288
+ }
9289
+
9023
9290
  const pdsCopytextCss = ":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-background-inset)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%}:host(.pds-copytext) pds-button::part(button){padding-block:var(--pine-dimension-2xs);padding-inline:var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button){padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{background:var(--pine-color-secondary);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";
9024
9291
 
9025
9292
  class PdsCopytext {
9026
9293
  constructor(hostRef) {
9027
9294
  registerInstance(this, hostRef);
9028
9295
  this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
9296
+ this.truncationCleanup = null;
9029
9297
  /**
9030
9298
  * Determines whether `copytext` should have a visible border.
9031
9299
  * @defaultValue true
@@ -9038,6 +9306,7 @@ class PdsCopytext {
9038
9306
  this.fullWidth = false;
9039
9307
  /**
9040
9308
  * Determines whether the `value` should truncate and display with an ellipsis.
9309
+ * When text overflows, a tooltip showing the full value will appear on hover/focus.
9041
9310
  * @defaultValue false
9042
9311
  */
9043
9312
  this.truncate = false;
@@ -9056,6 +9325,43 @@ class PdsCopytext {
9056
9325
  this.copyToClipboard(this.value);
9057
9326
  };
9058
9327
  }
9328
+ handleTruncateChange(newValue) {
9329
+ if (newValue) {
9330
+ this.initTruncationTooltip();
9331
+ }
9332
+ else {
9333
+ this.destroyTruncationTooltip();
9334
+ }
9335
+ }
9336
+ handleValueChange() {
9337
+ if (this.truncate) {
9338
+ this.initTruncationTooltip();
9339
+ }
9340
+ }
9341
+ componentDidLoad() {
9342
+ if (this.truncate) {
9343
+ this.initTruncationTooltip();
9344
+ }
9345
+ }
9346
+ disconnectedCallback() {
9347
+ this.destroyTruncationTooltip();
9348
+ }
9349
+ initTruncationTooltip() {
9350
+ this.destroyTruncationTooltip();
9351
+ if (this.valueSpanEl) {
9352
+ this.truncationCleanup = setupTruncationTooltip({
9353
+ hostEl: this.el,
9354
+ contentEl: this.valueSpanEl,
9355
+ getTooltipText: () => this.value || '',
9356
+ });
9357
+ }
9358
+ }
9359
+ destroyTruncationTooltip() {
9360
+ if (this.truncationCleanup) {
9361
+ this.truncationCleanup();
9362
+ this.truncationCleanup = null;
9363
+ }
9364
+ }
9059
9365
  classNames() {
9060
9366
  const classNames = ['pds-copytext'];
9061
9367
  if (this.border) {
@@ -9070,8 +9376,13 @@ class PdsCopytext {
9070
9376
  return classNames.join(' ');
9071
9377
  }
9072
9378
  render() {
9073
- return (hAsync(Host, { key: 'a2922d7401e2fab4c49824354321abf49c0ee6ee', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '7a783ada0778a25b5f46e549353a6b454ac5001e', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: 'a14fbee0958bfe08abc9ebaebd71e0cfe3ab0e8f' }, this.value), hAsync("pds-icon", { key: '5134fd11dcfb2a05779818d51561fbe4c4fbf00a', icon: copy, size: "16px" }))));
9379
+ return (hAsync(Host, { key: 'bbca278ca4f2567d3aa5dfa27106fc09f0f4d959', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '8a62ae4d01681648a95b313970a89f8641f1d8c9', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: '465585ce0780a19113f8e7897a9c7af7114b2a1d', ref: (el) => this.valueSpanEl = el }, this.value), hAsync("pds-icon", { key: 'db0295dfec0c4a1acbea50b849d631ea6325bf00', icon: copy, size: "16px" }))));
9074
9380
  }
9381
+ get el() { return getElement(this); }
9382
+ static get watchers() { return {
9383
+ "truncate": ["handleTruncateChange"],
9384
+ "value": ["handleValueChange"]
9385
+ }; }
9075
9386
  static get style() { return pdsCopytextCss; }
9076
9387
  static get cmpMeta() { return {
9077
9388
  "$flags$": 265,
@@ -9129,7 +9440,7 @@ class PdsDivider {
9129
9440
  }; }
9130
9441
  }
9131
9442
 
9132
- const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs) !important;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium) !important;gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px) !important;padding:var(--pine-dimension-xs) !important;text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]){cursor:not-allowed;opacity:0.5;pointer-events:none}";
9443
+ const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs) !important;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium) !important;gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px) !important;padding:var(--pine-dimension-xs) !important;text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]:not([disabled=false])){cursor:not-allowed;opacity:0.5;pointer-events:none}";
9133
9444
 
9134
9445
  /**
9135
9446
  * @part menu-panel - Exposes the dropdown menu container for styling.
@@ -9519,7 +9830,7 @@ class PdsDropdownMenuItem {
9519
9830
  }
9520
9831
  renderElement() {
9521
9832
  if (this.href !== undefined) {
9522
- return (hAsync("pds-link", { href: this.disabled ? null : this.href, external: this.external, target: this.target, class: {
9833
+ return (hAsync("pds-link", { download: this.download, href: this.disabled ? null : this.href, external: this.external, target: this.target, class: {
9523
9834
  'pds-dropdown-menu-item__content': true,
9524
9835
  'has-focus': this.hasFocus
9525
9836
  }, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
@@ -9530,7 +9841,7 @@ class PdsDropdownMenuItem {
9530
9841
  }, tabIndex: this.disabled ? -1 : 0, type: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
9531
9842
  }
9532
9843
  render() {
9533
- return (hAsync(Host, { key: 'a1a195326721b531676e281f54167d60031af418', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
9844
+ return (hAsync(Host, { key: 'cfe752ae18b068c88a0f4eee3293c3b0128e0ab1', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
9534
9845
  }
9535
9846
  get host() { return getElement(this); }
9536
9847
  static get style() { return pdsDropdownMenuItemCss; }
@@ -9541,6 +9852,7 @@ class PdsDropdownMenuItem {
9541
9852
  "componentId": [1, "component-id"],
9542
9853
  "destructive": [4],
9543
9854
  "disabled": [516],
9855
+ "download": [1],
9544
9856
  "href": [1],
9545
9857
  "external": [516],
9546
9858
  "target": [513],
@@ -10954,8 +11266,8 @@ class PdsLink {
10954
11266
  const targetValue = this.target || (this.external ? '_blank' : undefined);
10955
11267
  const showExternalIcon = this.external;
10956
11268
  const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
10957
- return (hAsync("a", { key: '8c8c1f148aa53b20d232d9ad94d58333aa66553b', class: this.classNames(), href: this.href, id: this.componentId, part: "link", target: targetValue, rel: relValue, style: this.setLinkStyles() }, hAsync("slot", { key: '9a803b0086b0c665f62ff9702d6a5c41c868c874' }, this.href), showExternalIcon &&
10958
- hAsync("pds-icon", { key: 'f9c752a279e427d2caa6771cf19a989622cd2110', icon: launch, size: this.fontSize })));
11269
+ return (hAsync("a", { key: '7d42e0a140af1093ea3019556e607036be5b274b', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", target: targetValue, rel: relValue, style: this.setLinkStyles() }, hAsync("slot", { key: '7a8e0c7393c87817350fc380fac2aed3ee7c338c' }, this.href), showExternalIcon &&
11270
+ hAsync("pds-icon", { key: 'f2486339296564d5d07e0c6c4cf83cb2566b8f24', icon: launch, size: this.fontSize })));
10959
11271
  }
10960
11272
  static get style() { return pdsLinkCss; }
10961
11273
  static get cmpMeta() { return {
@@ -10963,6 +11275,7 @@ class PdsLink {
10963
11275
  "$tagName$": "pds-link",
10964
11276
  "$members$": {
10965
11277
  "color": [1],
11278
+ "download": [1],
10966
11279
  "componentId": [1, "component-id"],
10967
11280
  "external": [4],
10968
11281
  "target": [1],
@@ -11553,7 +11866,7 @@ class PdsModalHeader {
11553
11866
  }; }
11554
11867
  }
11555
11868
 
11556
- const pdsMultiselectCss = ":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-550);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";
11869
+ const pdsMultiselectCss = ":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";
11557
11870
 
11558
11871
  /**
11559
11872
  * @slot (default) - Static option elements for the multiselect
@@ -11567,10 +11880,21 @@ class PdsMultiselect {
11567
11880
  this.pdsMultiselectSearch = createEvent(this, "pdsMultiselectSearch");
11568
11881
  this.pdsMultiselectLoadOptions = createEvent(this, "pdsMultiselectLoadOptions");
11569
11882
  this.pdsMultiselectCreate = createEvent(this, "pdsMultiselectCreate");
11883
+ this.pdsMultiselectDismiss = createEvent(this, "pdsMultiselectDismiss");
11570
11884
  /**
11571
11885
  * Placeholder text for the input field.
11572
11886
  */
11573
11887
  this.placeholder = 'Select...';
11888
+ /**
11889
+ * Placeholder text for the search input inside the dropdown panel.
11890
+ * @default 'Find...'
11891
+ */
11892
+ this.searchPlaceholder = 'Find...';
11893
+ /**
11894
+ * Whether to close the panel after an option is selected.
11895
+ * Defaults to `false` (panel stays open for multi-select).
11896
+ */
11897
+ this.closePanelOnSelect = false;
11574
11898
  /**
11575
11899
  * Array of selected option values.
11576
11900
  */
@@ -11634,6 +11958,8 @@ class PdsMultiselect {
11634
11958
  this.creating = false;
11635
11959
  // Flag to prevent focusout from closing during open transition
11636
11960
  this.isOpening = false;
11961
+ // Flag to suppress dismiss event when panel closes due to selection (not user dismissal)
11962
+ this.isClosingViaSelection = false;
11637
11963
  // Flag to track if initial async fetch has been triggered (prevents double fetch)
11638
11964
  this.initialAsyncFetchTriggered = false;
11639
11965
  // Flag to track if value changed during loading and needs resolution after fetch completes
@@ -11705,8 +12031,9 @@ class PdsMultiselect {
11705
12031
  // before we decide to close the dropdown
11706
12032
  setTimeout(() => {
11707
12033
  var _a;
11708
- // Don't close if we're in the middle of opening or already closed
11709
- if (!this.isOpen || this.isOpening)
12034
+ // Don't close if we're in the middle of opening, already closed,
12035
+ // or closing due to a selection (not a user dismissal)
12036
+ if (!this.isOpen || this.isOpening || this.isClosingViaSelection)
11710
12037
  return;
11711
12038
  const activeElement = document.activeElement;
11712
12039
  // Check if focus is within our component's shadow root
@@ -11714,6 +12041,7 @@ class PdsMultiselect {
11714
12041
  // Also check if focus is on the host element itself
11715
12042
  const isOnHost = activeElement === this.el;
11716
12043
  if (!isInShadowRoot && !isOnHost) {
12044
+ this.pdsMultiselectDismiss.emit();
11717
12045
  this.closeDropdown();
11718
12046
  }
11719
12047
  }, 0);
@@ -11843,6 +12171,19 @@ class PdsMultiselect {
11843
12171
  var _a;
11844
12172
  (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
11845
12173
  }
12174
+ /**
12175
+ * Clears all selected values and resets the component.
12176
+ */
12177
+ async clear() {
12178
+ const hadValues = this.value.length > 0 || this.searchQuery !== '';
12179
+ this.value = [];
12180
+ this.searchQuery = '';
12181
+ this.syncSelectedItems();
12182
+ this.updateFormValue();
12183
+ if (hadValues) {
12184
+ this.pdsMultiselectChange.emit({ values: [], items: [] });
12185
+ }
12186
+ }
11846
12187
  /**
11847
12188
  * Handle global keyboard events for accessibility.
11848
12189
  * Closes dropdown on Escape key press regardless of focus location.
@@ -11853,6 +12194,7 @@ class PdsMultiselect {
11853
12194
  return;
11854
12195
  if (event.key === 'Escape') {
11855
12196
  event.preventDefault();
12197
+ this.pdsMultiselectDismiss.emit();
11856
12198
  this.closeDropdown();
11857
12199
  (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
11858
12200
  }
@@ -12190,6 +12532,12 @@ class PdsMultiselect {
12190
12532
  this.isOpen = false;
12191
12533
  this.highlightedIndex = -1;
12192
12534
  this.searchQuery = '';
12535
+ // Reset the selection-close guard after the focusout handler's setTimeout has resolved
12536
+ if (this.isClosingViaSelection) {
12537
+ setTimeout(() => {
12538
+ this.isClosingViaSelection = false;
12539
+ }, 0);
12540
+ }
12193
12541
  // Clean up auto-update
12194
12542
  if (this.cleanupAutoUpdate) {
12195
12543
  this.cleanupAutoUpdate();
@@ -12242,7 +12590,7 @@ class PdsMultiselect {
12242
12590
  });
12243
12591
  }
12244
12592
  toggleOption(option) {
12245
- var _a;
12593
+ var _a, _b;
12246
12594
  // Handle create option
12247
12595
  if (option.isCreateOption) {
12248
12596
  // Prevent multiple create calls while one is in-flight
@@ -12251,17 +12599,18 @@ class PdsMultiselect {
12251
12599
  }
12252
12600
  return;
12253
12601
  }
12254
- const isSelected = this.value.includes(String(option.id));
12602
+ const optionId = String(option.id);
12603
+ const isSelected = this.value.includes(optionId);
12255
12604
  if (isSelected) {
12256
12605
  // Remove from selection
12257
- this.value = this.value.filter(v => v !== String(option.id));
12606
+ this.value = this.value.filter(v => v !== optionId);
12258
12607
  }
12259
12608
  else {
12260
12609
  // Add to selection
12261
12610
  if (this.maxSelections && this.value.length >= this.maxSelections) {
12262
12611
  return;
12263
12612
  }
12264
- this.value = [...this.value, String(option.id)];
12613
+ this.value = [...this.value, optionId];
12265
12614
  }
12266
12615
  // Sync selected items to ensure no duplicates and accurate state
12267
12616
  this.syncSelectedItems();
@@ -12270,8 +12619,15 @@ class PdsMultiselect {
12270
12619
  values: this.value,
12271
12620
  items: this.selectedItems,
12272
12621
  });
12273
- // Keep focus on search input, don't close dropdown
12274
- (_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
12622
+ if (this.closePanelOnSelect) {
12623
+ this.isClosingViaSelection = true;
12624
+ this.closeDropdown();
12625
+ (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
12626
+ }
12627
+ else {
12628
+ // Keep focus on search input, don't close dropdown
12629
+ (_b = this.searchInputEl) === null || _b === void 0 ? void 0 : _b.focus();
12630
+ }
12275
12631
  }
12276
12632
  selectOption(option) {
12277
12633
  // For keyboard navigation - toggle the option
@@ -12289,7 +12645,7 @@ class PdsMultiselect {
12289
12645
  const valueArray = this.ensureValueArray();
12290
12646
  const hasSlottedEmpty = !!this.el.querySelector('[slot="empty"]');
12291
12647
  const hasSlottedLoading = !!this.el.querySelector('[slot="loading"]');
12292
- return (hAsync("div", { class: "pds-multiselect__panel", ref: el => (this.panelEl = el), style: { minWidth: this.minWidth } }, hAsync("div", { class: "pds-multiselect__search" }, hAsync("pds-icon", { name: "search", size: "small" }), hAsync("input", { ref: el => (this.searchInputEl = el), type: "text", class: "pds-multiselect__search-input", placeholder: "Find...", value: this.searchQuery, "aria-label": "Search options", "aria-controls": `${this.componentId}-listbox`, "aria-activedescendant": this.highlightedIndex >= 0 ? `${this.componentId}-option-${this.highlightedIndex}` : undefined, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": "true", "aria-autocomplete": "list", autocomplete: "off", onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchInputKeyDown })), this.renderSelectedItemsList(), hAsync("ul", { class: "pds-multiselect__listbox", role: "listbox", "aria-multiselectable": "true", "aria-label": this.label || 'Options', id: `${this.componentId}-listbox`, ref: el => (this.listboxEl = el), style: { maxHeight: this.maxHeight }, onScroll: this.handleScroll }, this.loading && (hAsync("li", { class: "pds-multiselect__loading", role: "presentation" }, hasSlottedLoading ? (hAsync("slot", { name: "loading" })) : (hAsync("pds-loader", { size: "small" })))), !this.loading && filteredOptions.length === 0 && (hAsync("li", { class: "pds-multiselect__empty", role: "presentation" }, hasSlottedEmpty ? (hAsync("slot", { name: "empty" })) : (hAsync("span", null, "No options found")))), filteredOptions.map((option, index) => {
12648
+ return (hAsync("div", { class: "pds-multiselect__panel", ref: el => (this.panelEl = el), style: { minWidth: this.minWidth } }, hAsync("div", { class: "pds-multiselect__search" }, hAsync("pds-icon", { name: "search", size: "small" }), hAsync("input", { ref: el => (this.searchInputEl = el), type: "text", class: "pds-multiselect__search-input", placeholder: this.searchPlaceholder, value: this.searchQuery, "aria-label": "Search options", "aria-controls": `${this.componentId}-listbox`, "aria-activedescendant": this.highlightedIndex >= 0 ? `${this.componentId}-option-${this.highlightedIndex}` : undefined, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": "true", "aria-autocomplete": "list", autocomplete: "off", onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchInputKeyDown })), this.renderSelectedItemsList(), hAsync("ul", { class: "pds-multiselect__listbox", role: "listbox", "aria-multiselectable": "true", "aria-label": this.label || 'Options', id: `${this.componentId}-listbox`, ref: el => (this.listboxEl = el), style: { maxHeight: this.maxHeight }, onScroll: this.handleScroll }, this.loading && (hAsync("li", { class: "pds-multiselect__loading", role: "presentation" }, hasSlottedLoading ? (hAsync("slot", { name: "loading" })) : (hAsync("pds-loader", { size: "small" })))), !this.loading && filteredOptions.length === 0 && (hAsync("li", { class: "pds-multiselect__empty", role: "presentation" }, hasSlottedEmpty ? (hAsync("slot", { name: "empty" })) : (hAsync("span", null, "No options found")))), filteredOptions.map((option, index) => {
12293
12649
  const isSelected = valueArray.includes(String(option.id));
12294
12650
  const isCreateOption = option.isCreateOption;
12295
12651
  const isHighlighted = index === this.highlightedIndex && !isCreateOption;
@@ -12313,19 +12669,19 @@ class PdsMultiselect {
12313
12669
  }
12314
12670
  render() {
12315
12671
  const hasSelections = this.selectedItems.length > 0;
12316
- return (hAsync(Host, { key: '4f197872aaeb24c7d4c602ad82f3015e14702628', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: 'e245900ad8cdf2589aa9d15f3b36a752d936034e', class: "pds-multiselect" }, this.label && (hAsync("label", { key: 'b07085c91de33d200dfdeb71b7c1c297ed92762c', htmlFor: this.componentId, class: {
12672
+ return (hAsync(Host, { key: '824364c4ab70a90abc5542ac66eb8259e727e4e6', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: 'ff103de53850eef00dad44e97333c58a54c8ae59', class: "pds-multiselect" }, this.label && (hAsync("label", { key: '0524860c38d53aeddf35e9905abe783cb1174d6b', htmlFor: this.componentId, class: {
12317
12673
  'pds-multiselect__label': true,
12318
12674
  'visually-hidden': this.hideLabel,
12319
- } }, this.label)), hAsync("div", { key: '6b5f58165e562244269600bfae80df4e847bfaa5', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: '89446787c88948e1f5946d5dbed88e1d794f85f8', ref: el => (this.triggerEl = el), type: "button", class: {
12675
+ } }, this.label)), hAsync("div", { key: 'b6313b12f499656e98c33af524240fd51a332e68', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: 'fbf274a4dace5f039ce1ce46674d66a08c5c280d', ref: el => (this.triggerEl = el), type: "button", class: {
12320
12676
  'pds-multiselect__trigger': true,
12321
12677
  'pds-multiselect__trigger--open': this.isOpen,
12322
12678
  'pds-multiselect__trigger--disabled': this.disabled,
12323
12679
  'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
12324
12680
  'pds-multiselect__trigger--has-value': hasSelections,
12325
- }, 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.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: '1ccf24b3dd7570fdae169c8208d364debdd35381', class: {
12681
+ }, 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.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: '314fc7f00db71a170f1fc7c83306cebc3397a451', class: {
12326
12682
  'pds-multiselect__trigger-text': true,
12327
12683
  'pds-multiselect__trigger-text--placeholder': !hasSelections,
12328
- } }, this.getTriggerText()), hAsync("pds-icon", { key: '58d5849e739bebc23caa19819704c475c3a31e38', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (hAsync("p", { key: 'b596b1b4a712f04d9a21f7005212099cb8fcff29', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: 'daa5efe46009f2f776dc7a4a97c94b9b096817d0', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '07f16bded841826477e90b7db88bffa251165f82', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: '4681c39dbc90eac71a04b885f32b49683a92ad2e', style: { display: 'none' } }, hAsync("slot", { key: '37674d4c94a709b8c8cbcc45d982802ebd082e85' })))));
12684
+ } }, this.getTriggerText()), hAsync("pds-icon", { key: 'e81690095180cfe9b4799c531ba5d7a9952a2a6c', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (hAsync("p", { key: 'd2a511d548d10a1bc5b9704f7de6f050e00cb9f4', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: '2cca6e85a6ca9033e7baea24a509bb6d7064119d', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '6f680d14585dac5c6de3d0ec864ef1311241d2d2', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: '5be84a5f96531cb2add1d490c292a7482b444b83', style: { display: 'none' } }, hAsync("slot", { key: 'cf9bece8f341293b6fa701b185db3926510c3845' })))));
12329
12685
  }
12330
12686
  static get formAssociated() { return true; }
12331
12687
  get el() { return getElement(this); }
@@ -12343,6 +12699,8 @@ class PdsMultiselect {
12343
12699
  "componentId": [1, "component-id"],
12344
12700
  "label": [1],
12345
12701
  "placeholder": [1],
12702
+ "searchPlaceholder": [1, "search-placeholder"],
12703
+ "closePanelOnSelect": [4, "close-panel-on-select"],
12346
12704
  "name": [1],
12347
12705
  "value": [1040],
12348
12706
  "disabled": [4],
@@ -12375,7 +12733,8 @@ class PdsMultiselect {
12375
12733
  "currentPage": [32],
12376
12734
  "hasMore": [32],
12377
12735
  "creating": [32],
12378
- "setFocus": [64]
12736
+ "setFocus": [64],
12737
+ "clear": [64]
12379
12738
  },
12380
12739
  "$listeners$": [[8, "keydown", "handleWindowKeyDown"]],
12381
12740
  "$lazyBundleId$": "-",
@@ -16639,18 +16998,23 @@ class PdsTab {
16639
16998
  }; }
16640
16999
  }
16641
17000
 
16642
- const pdsTableCss = "@charset \"UTF-8\";:host{--color-background-default:var(--pine-color-background-container);background:var(--color-background-default);border-collapse:separate;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table;width:100%}:host(:focus-visible){outline:var(--pine-outline-focus)}:host(.pds-table-responsive-host){border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;max-width:100% !important;overflow:hidden !important;position:relative !important;width:100% !important}.pds-table-responsive-container{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;overflow-x:auto !important;overflow-y:visible !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper .pds-table{display:table !important;min-width:-webkit-max-content !important;min-width:-moz-max-content !important;min-width:max-content !important;table-layout:auto !important;white-space:nowrap !important;width:100% !important}.scroll-shadow-left,.scroll-shadow-right{height:100%;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transition:opacity 0.1s ease;transition:opacity 0.1s ease;width:4px;z-index:var(--pine-z-index)}.scroll-shadow-left{background:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);border-bottom-left-radius:inherit;border-top-left-radius:inherit;left:0}.scroll-shadow-right{background:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);border-bottom-right-radius:inherit;border-top-right-radius:inherit;right:0}";
17001
+ const pdsTableCss = "@charset \"UTF-8\";:host{--color-background-default:var(--pine-color-background-container);background:var(--color-background-default);border-collapse:separate;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table;isolation:isolate;width:100%}:host(:focus-visible){outline:var(--pine-outline-focus)}:host(.pds-table-responsive-host){border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;max-width:100% !important;overflow:hidden !important;position:relative !important;width:100% !important}.pds-table-responsive-container{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;overflow-x:auto !important;overflow-y:visible !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper .pds-table{display:table !important;min-width:-webkit-max-content !important;min-width:-moz-max-content !important;min-width:max-content !important;table-layout:auto !important;white-space:nowrap !important;width:100% !important}.scroll-shadow-left,.scroll-shadow-right{height:100%;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transition:opacity 0.1s ease;transition:opacity 0.1s ease;width:4px;z-index:var(--pine-z-index)}.scroll-shadow-left{background:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);border-bottom-left-radius:inherit;border-top-left-radius:inherit;left:0}.scroll-shadow-right{background:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);border-bottom-right-radius:inherit;border-top-right-radius:inherit;right:0}";
16643
17002
 
16644
17003
  class PdsTable {
16645
17004
  constructor(hostRef) {
16646
17005
  registerInstance(this, hostRef);
16647
- this.pdsTableSelect = createEvent(this, "pdsTableSelect");
16648
17006
  this.pdsTableSelectAll = createEvent(this, "pdsTableSelectAll");
16649
17007
  this.scrollContainer = null;
16650
17008
  this._responsiveHandleScroll = null;
16651
17009
  this._responsiveHandleResize = null;
16652
17010
  this._responsiveResizeObserver = null;
16653
17011
  this._teardownResponsive = null;
17012
+ /**
17013
+ * Hides the select-all checkbox in the table header while keeping individual row checkboxes functional.
17014
+ * Only applies when `selectable` is true.
17015
+ * @defaultValue false
17016
+ */
17017
+ this.disableSelectAll = false;
16654
17018
  /**
16655
17019
  * Adds divider borders between table rows. The last row will not have a bottom border.
16656
17020
  * @defaultValue false
@@ -16870,8 +17234,10 @@ class PdsTable {
16870
17234
  if (!pdsTableHead)
16871
17235
  return;
16872
17236
  const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');
16873
- headerCheckbox.checked = allSelectedRows;
16874
- headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
17237
+ if (headerCheckbox) {
17238
+ headerCheckbox.checked = allSelectedRows;
17239
+ headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
17240
+ }
16875
17241
  }
16876
17242
  render() {
16877
17243
  if (this.responsive) {
@@ -16890,6 +17256,7 @@ class PdsTable {
16890
17256
  "responsive": [4],
16891
17257
  "fixedColumn": [4, "fixed-column"],
16892
17258
  "selectable": [4],
17259
+ "disableSelectAll": [4, "disable-select-all"],
16893
17260
  "rowDividers": [516, "row-dividers"],
16894
17261
  "defaultSortColumn": [1, "default-sort-column"],
16895
17262
  "defaultSortDirection": [1, "default-sort-direction"],
@@ -16922,13 +17289,14 @@ class PdsTableBody {
16922
17289
  }; }
16923
17290
  }
16924
17291
 
16925
- const pdsTableCellCss = ":host{--box-shadow-fixed:3px 3px 6px -2px rgba(0, 0, 0, 0.2);color:var(--pine-color-text);display:table-cell;font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-regular);inset-inline-start:var(--pine-dimension-none);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);padding:var(--pine-dimension-sm);vertical-align:middle}:host(.is-compact){padding-block:var(--pine-dimension-2xs)}:host(.is-fixed){background:var(--pine-color-background-container);left:0;position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-fixed);box-shadow:var(--box-shadow-fixed)}:host(.is-truncated){max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.has-checkbox){vertical-align:middle;width:16px}:host(.pds-table-cell--align-start){text-align:start}:host(.pds-table-cell--align-center){text-align:center}:host(.pds-table-cell--align-end){text-align:end}:host(.pds-table-cell--align-justify){text-align:justify}";
17292
+ const pdsTableCellCss = ":host{--box-shadow-fixed:3px 3px 6px -2px rgba(0, 0, 0, 0.2);color:var(--pine-color-text);display:table-cell;font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-regular);inset-inline-start:var(--pine-dimension-none);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);padding:var(--pine-dimension-sm);vertical-align:middle}:host(.is-compact){padding-block:var(--pine-dimension-2xs)}:host(.is-fixed){background:var(--pine-color-background-container);left:0;position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-fixed);box-shadow:var(--box-shadow-fixed)}:host(.is-truncated){max-width:var(--pds-table-cell-truncate-max-width, 100px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.has-checkbox){vertical-align:middle;width:16px}:host(.pds-table-cell--align-start){text-align:start}:host(.pds-table-cell--align-center){text-align:center}:host(.pds-table-cell--align-end){text-align:end}:host(.pds-table-cell--align-justify){text-align:justify}";
16926
17293
 
16927
17294
  class PdsTableCell {
16928
17295
  constructor(hostRef) {
16929
17296
  registerInstance(this, hostRef);
16930
17297
  this.scrollContainer = null;
16931
17298
  this.setupRetries = 0;
17299
+ this.truncationCleanup = null;
16932
17300
  /**
16933
17301
  * Determines if the table is currently scrolling.
16934
17302
  * @defaultValue false
@@ -16960,9 +17328,13 @@ class PdsTableCell {
16960
17328
  // This enables the first column to show a shadow when the table is scrolled horizontally
16961
17329
  this.setupScrollListener();
16962
17330
  }
17331
+ if (this.truncate) {
17332
+ this.initTruncationTooltip();
17333
+ }
16963
17334
  }
16964
17335
  disconnectedCallback() {
16965
17336
  this.cleanupScrollListener();
17337
+ this.destroyTruncationTooltip();
16966
17338
  }
16967
17339
  setupScrollListener() {
16968
17340
  var _a;
@@ -17003,6 +17375,28 @@ class PdsTableCell {
17003
17375
  }
17004
17376
  this.setupRetries = 0; // Reset retry counter
17005
17377
  }
17378
+ handleTruncateChange(newValue) {
17379
+ if (newValue) {
17380
+ this.initTruncationTooltip();
17381
+ }
17382
+ else {
17383
+ this.destroyTruncationTooltip();
17384
+ }
17385
+ }
17386
+ initTruncationTooltip() {
17387
+ this.destroyTruncationTooltip();
17388
+ this.truncationCleanup = setupTruncationTooltip({
17389
+ hostEl: this.hostElement,
17390
+ contentEl: this.hostElement,
17391
+ getTooltipText: () => this.hostElement.textContent || '',
17392
+ });
17393
+ }
17394
+ destroyTruncationTooltip() {
17395
+ if (this.truncationCleanup) {
17396
+ this.truncationCleanup();
17397
+ this.truncationCleanup = null;
17398
+ }
17399
+ }
17006
17400
  classNames() {
17007
17401
  const classNames = [];
17008
17402
  if (this.tableRef && this.tableRef.compact) {
@@ -17020,13 +17414,16 @@ class PdsTableCell {
17020
17414
  return classNames.join(' ');
17021
17415
  }
17022
17416
  render() {
17023
- return (hAsync(Host, { key: 'f57b6f8173976a6ad0cc9eb5bf655ba930c45280', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
17417
+ return (hAsync(Host, { key: 'f1526ebf858c52e01185174cb37770d130abd3ca', class: this.classNames(), role: "gridcell", part: "cell", tabIndex: this.truncate ? 0 : undefined, style: this.tableRef &&
17024
17418
  this.tableRef.fixedColumn &&
17025
17419
  this.tableRef.selectable
17026
17420
  ? { '--fixed-cell-position': '40px' }
17027
- : {} }, hAsync("slot", { key: '0cc35b066fdb46eed1516d5b6eb86b77f0d4d2b5' })));
17421
+ : {} }, hAsync("slot", { key: '518a3cb3fad0bbbe029f218c2dc89596d1cd0b16' })));
17028
17422
  }
17029
17423
  get hostElement() { return getElement(this); }
17424
+ static get watchers() { return {
17425
+ "truncate": ["handleTruncateChange"]
17426
+ }; }
17030
17427
  static get style() { return pdsTableCellCss; }
17031
17428
  static get cmpMeta() { return {
17032
17429
  "$flags$": 265,
@@ -17096,7 +17493,7 @@ class PdsTableHead {
17096
17493
  }
17097
17494
  }
17098
17495
  render() {
17099
- return (hAsync(Host, { key: 'd5d5906bdb23794b911ecd5904a4cc58aa5380d6', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '85df57fb4371e4fba855e16ce62c8329b49e08cf', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: '92e95501de3644d068fb015b669329db14a4dd9b', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" }))), hAsync("slot", { key: 'b51c670f2e59fb07d4b97ca201a0d28d5c2c9570' })));
17496
+ return (hAsync(Host, { key: 'd5d5906bdb23794b911ecd5904a4cc58aa5380d6', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '85df57fb4371e4fba855e16ce62c8329b49e08cf', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, !this.tableRef.disableSelectAll && (hAsync("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" })))), hAsync("slot", { key: '494dc0395da229a264c38540479f36967601cc26' })));
17100
17497
  }
17101
17498
  get hostElement() { return getElement(this); }
17102
17499
  static get style() { return pdsTableHeadCss; }
@@ -17364,8 +17761,8 @@ class PdsTableRow {
17364
17761
  * @defaultValue false
17365
17762
  */
17366
17763
  this.isLastRow = false;
17367
- this.handleClick = () => {
17368
- this.isSelected = !this.isSelected; // Toggle the selected state
17764
+ this.handleCheckboxChange = (event) => {
17765
+ this.isSelected = event.detail.checked;
17369
17766
  this.handleSelect(this.isSelected);
17370
17767
  };
17371
17768
  this.handleSelect = (isSelected) => {
@@ -17487,7 +17884,7 @@ class PdsTableRow {
17487
17884
  }
17488
17885
  }
17489
17886
  render() {
17490
- return (hAsync(Host, { key: 'ad282466c93a2f9bc15dd466bdc4c6ac4e408042', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: '19d88e362f07c3ce546356c1abdf7027e6701b3a', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: 'e65963f7e2e6ac78f911451dd09a3f21e38ead45', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), hAsync("slot", { key: 'c17d0098092adbc45d84b3e497b6023e344eb260' })));
17887
+ return (hAsync(Host, { key: '6bbd8bb7cd1f90de0e418748bf8d3b9240ab0cb8', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: '9a92396654e7cdf819536335ebe95169d4d4c26d', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: 'bf61a00da4d3c19280aae90d8eaff9515a716c52', componentId: this.generateUniqueId(), onPdsCheckboxChange: this.handleCheckboxChange, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), hAsync("slot", { key: 'f77887e878913bea5e0ca0a281a639285a65f1c1' })));
17491
17888
  }
17492
17889
  get hostElement() { return getElement(this); }
17493
17890
  static get style() { return pdsTableRowCss; }
@@ -17658,11 +18055,45 @@ const pdsTextCss = ":host{display:inline}:host([decoration=underline-dotted])>*{
17658
18055
  class PdsText {
17659
18056
  constructor(hostRef) {
17660
18057
  registerInstance(this, hostRef);
18058
+ this.truncationCleanup = null;
17661
18059
  /**
17662
18060
  * Determines what semantic text tag to render.
17663
18061
  */
17664
18062
  this.tag = "p";
17665
18063
  }
18064
+ handleTruncateChange(newValue) {
18065
+ if (newValue) {
18066
+ this.initTruncationTooltip();
18067
+ }
18068
+ else {
18069
+ this.destroyTruncationTooltip();
18070
+ }
18071
+ }
18072
+ componentDidLoad() {
18073
+ if (this.truncate) {
18074
+ this.initTruncationTooltip();
18075
+ }
18076
+ }
18077
+ disconnectedCallback() {
18078
+ this.destroyTruncationTooltip();
18079
+ }
18080
+ initTruncationTooltip() {
18081
+ // Clean up any existing tooltip before setting up a new one
18082
+ this.destroyTruncationTooltip();
18083
+ if (this.contentEl) {
18084
+ this.truncationCleanup = setupTruncationTooltip({
18085
+ hostEl: this.el,
18086
+ contentEl: this.contentEl,
18087
+ getTooltipText: () => this.el.textContent || '',
18088
+ });
18089
+ }
18090
+ }
18091
+ destroyTruncationTooltip() {
18092
+ if (this.truncationCleanup) {
18093
+ this.truncationCleanup();
18094
+ this.truncationCleanup = null;
18095
+ }
18096
+ }
17666
18097
  render() {
17667
18098
  const Tag = this.tag;
17668
18099
  const typeClasses = `
@@ -17673,9 +18104,12 @@ class PdsText {
17673
18104
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
17674
18105
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
17675
18106
  `;
17676
- return (hAsync(Tag, { key: '3332211f473c2e8eeb79214352939df07a51fec1', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: 'd73ebe8fdf9f78d16aca70161bdc27138286328d' })));
18107
+ return (hAsync(Tag, { key: 'e5d4fa802fbc1a66c21d6e959fb2228f8cac1902', ref: (el) => this.contentEl = el, style: this.color && setColor(this.color), class: typeClasses, part: "content", tabIndex: this.truncate ? 0 : undefined }, hAsync("slot", { key: '4ff0b2cb3a185fd97ef296262790379df832b7b8' })));
17677
18108
  }
17678
18109
  get el() { return getElement(this); }
18110
+ static get watchers() { return {
18111
+ "truncate": ["handleTruncateChange"]
18112
+ }; }
17679
18113
  static get style() { return pdsTextCss; }
17680
18114
  static get cmpMeta() { return {
17681
18115
  "$flags$": 265,