@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.js CHANGED
@@ -3521,7 +3521,7 @@ class MockPdsModal {
3521
3521
  }; }
3522
3522
  }
3523
3523
 
3524
- /* pds-icons v9.15.0, ES Modules */
3524
+ /* pds-icons v9.16.0, ES Modules */
3525
3525
 
3526
3526
  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>";
3527
3527
  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>";
@@ -4123,7 +4123,7 @@ class PdsBox {
4123
4123
  }; }
4124
4124
  }
4125
4125
 
4126
- 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)}";
4126
+ 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)}";
4127
4127
 
4128
4128
  /**
4129
4129
  * @part button - Exposes the button element for styling.
@@ -4181,6 +4181,14 @@ class PdsButton {
4181
4181
  * @defaultValue primary
4182
4182
  */
4183
4183
  this.variant = 'primary';
4184
+ this.hasStartContent = false;
4185
+ this.hasEndContent = false;
4186
+ this.handleStartSlotChange = (event) => {
4187
+ this.hasStartContent = event.target.assignedElements({ flatten: true }).length > 0;
4188
+ };
4189
+ this.handleEndSlotChange = (event) => {
4190
+ this.hasEndContent = event.target.assignedElements({ flatten: true }).length > 0;
4191
+ };
4184
4192
  this.handleClick = (ev) => {
4185
4193
  if (this.loading) {
4186
4194
  ev.preventDefault();
@@ -4279,8 +4287,9 @@ class PdsButton {
4279
4287
  return (hAsync("pds-icon", { class: this.loading ? 'pds-button__icon--hidden' : '', name: this.icon, part: "icon", "aria-hidden": "true" }));
4280
4288
  }
4281
4289
  // Always render the start slot so slotted content is projected reliably.
4282
- // CSS hides the wrapper when no content is slotted (prevents empty gap space).
4283
- return hAsync("span", { class: `pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}` }, hAsync("slot", { name: "start" }));
4290
+ // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).
4291
+ const startClasses = `pds-button__icon${this.hasStartContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;
4292
+ return hAsync("span", { class: startClasses }, hAsync("slot", { name: "start", onSlotchange: this.handleStartSlotChange }));
4284
4293
  }
4285
4294
  renderEndContent() {
4286
4295
  if (this.iconOnly) {
@@ -4290,8 +4299,9 @@ class PdsButton {
4290
4299
  return (hAsync("pds-icon", { class: this.loading ? 'pds-button__icon--hidden' : '', icon: caretDown, part: "caret", "aria-hidden": "true" }));
4291
4300
  }
4292
4301
  // Always render the end slot so slotted content is projected reliably.
4293
- // CSS hides the wrapper when no content is slotted (prevents empty gap space).
4294
- return hAsync("span", { class: `pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}` }, hAsync("slot", { name: "end" }));
4302
+ // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).
4303
+ const endClasses = `pds-button__icon${this.hasEndContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;
4304
+ return hAsync("span", { class: endClasses }, hAsync("slot", { name: "end", onSlotchange: this.handleEndSlotChange }));
4295
4305
  }
4296
4306
  render() {
4297
4307
  // Common props for both button and anchor elements
@@ -4301,7 +4311,7 @@ class PdsButton {
4301
4311
  };
4302
4312
  const attributes = () => {
4303
4313
  if (this.href) {
4304
- return Object.assign(Object.assign({}, commonProps), { href: this.disabled ? null : this.href, target: this.target });
4314
+ return Object.assign(Object.assign({}, commonProps), { download: this.download, href: this.disabled ? null : this.href, target: this.target });
4305
4315
  }
4306
4316
  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 });
4307
4317
  };
@@ -4318,7 +4328,8 @@ class PdsButton {
4318
4328
  "$tagName$": "pds-button",
4319
4329
  "$members$": {
4320
4330
  "componentId": [1, "component-id"],
4321
- "disabled": [4],
4331
+ "download": [1],
4332
+ "disabled": [516],
4322
4333
  "fullWidth": [4, "full-width"],
4323
4334
  "href": [1],
4324
4335
  "icon": [1],
@@ -4329,11 +4340,13 @@ class PdsButton {
4329
4340
  "type": [1],
4330
4341
  "value": [1],
4331
4342
  "size": [1],
4332
- "variant": [1]
4343
+ "variant": [1],
4344
+ "hasStartContent": [32],
4345
+ "hasEndContent": [32]
4333
4346
  },
4334
4347
  "$listeners$": [[16, "keydown", "handleFormKeyDown"]],
4335
4348
  "$lazyBundleId$": "-",
4336
- "$attrsToReflect$": []
4349
+ "$attrsToReflect$": [["disabled", "disabled"]]
4337
4350
  }; }
4338
4351
  }
4339
4352
 
@@ -4591,7 +4604,7 @@ class PdsCheckbox {
4591
4604
 
4592
4605
  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)}";
4593
4606
 
4594
- 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)}";
4607
+ 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)}";
4595
4608
 
4596
4609
  /**
4597
4610
  * @slot (default) - The chip's label text.
@@ -4607,8 +4620,9 @@ class PdsChip {
4607
4620
  */
4608
4621
  this.dot = false;
4609
4622
  /**
4610
- * Determines whether the chip should be displayed in a larger size.
4623
+ * Determines whether the chip should be displayed in a larger size. DEPRECATED.
4611
4624
  * @defaultValue false
4625
+ * @deprecated Use `size` prop instead. Set `size="lg"` for the large variant.
4612
4626
  */
4613
4627
  this.large = false;
4614
4628
  /**
@@ -4626,10 +4640,18 @@ class PdsChip {
4626
4640
  this.pdsTagCloseClick.emit();
4627
4641
  };
4628
4642
  }
4643
+ get effectiveSize() {
4644
+ if (this.size != null)
4645
+ return this.size;
4646
+ if (this.large)
4647
+ return 'lg';
4648
+ return 'md';
4649
+ }
4629
4650
  classNames() {
4630
4651
  const classNames = ['pds-chip'];
4631
- if (this.large) {
4632
- classNames.push('pds-chip--large');
4652
+ const size = this.effectiveSize;
4653
+ if (size && size !== 'md') {
4654
+ classNames.push('pds-chip--' + size);
4633
4655
  }
4634
4656
  // For brand sentiment, always use text variant
4635
4657
  const effectiveVariant = this.sentiment === 'brand' ? 'text' : this.variant;
@@ -4646,8 +4668,11 @@ class PdsChip {
4646
4668
  return this.sentiment === 'brand' ? 'text' : this.variant;
4647
4669
  }
4648
4670
  get iconSize() {
4649
- // Icon size based on large prop
4650
- return this.large ? '14px' : '12px';
4671
+ switch (this.effectiveSize) {
4672
+ case 'sm': return '10px';
4673
+ case 'lg': return '14px';
4674
+ default: return '12px';
4675
+ }
4651
4676
  }
4652
4677
  setChipContent() {
4653
4678
  const isDropdown = this.effectiveVariant === 'dropdown';
@@ -4701,7 +4726,7 @@ class PdsChip {
4701
4726
  return (hAsync(CloseElement, Object.assign({}, closeAttributes(), { onClick: this.handleCloseClick }), hAsync("pds-icon", { icon: remove, size: this.iconSize })));
4702
4727
  }
4703
4728
  render() {
4704
- return (hAsync(Host, { key: '9e2fb58ed2e55db3bda912cd672e8bde757e6638', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.effectiveVariant === 'tag' && this.renderCloseButton()));
4729
+ return (hAsync(Host, { key: 'fcd4828fabaeba300c35cd9a0b90701feefd6480', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.effectiveVariant === 'tag' && this.renderCloseButton()));
4705
4730
  }
4706
4731
  static get style() { return pdsChipTokensCss + pdsChipCss; }
4707
4732
  static get cmpMeta() { return {
@@ -4712,6 +4737,7 @@ class PdsChip {
4712
4737
  "dot": [4],
4713
4738
  "icon": [1],
4714
4739
  "large": [4],
4740
+ "size": [1],
4715
4741
  "sentiment": [1],
4716
4742
  "variant": [1],
4717
4743
  "removeUrl": [1, "remove-url"],
@@ -8958,10 +8984,10 @@ class PdsCombobox {
8958
8984
  }
8959
8985
  render() {
8960
8986
  const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
8961
- 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 => {
8987
+ 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 => {
8962
8988
  this.inputEl = el;
8963
8989
  this.triggerEl = el;
8964
- }, 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())));
8990
+ }, 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())));
8965
8991
  }
8966
8992
  static get formAssociated() { return true; }
8967
8993
  get el() { return getElement(this); }
@@ -9022,12 +9048,254 @@ class PdsCombobox {
9022
9048
  }; }
9023
9049
  }
9024
9050
 
9051
+ /** CSS class prefix used for truncation tooltip portal elements */
9052
+ const TOOLTIP_CLASS = 'pds-truncation-tooltip';
9053
+ /**
9054
+ * Injects the truncation tooltip styles into the document head.
9055
+ * Uses the same design tokens as pds-tooltip for visual consistency.
9056
+ * Only injects once — checks the DOM to avoid duplicates.
9057
+ *
9058
+ * Z-Index Strategy:
9059
+ * Uses --pine-z-index-nuclear (9999) to ensure tooltips appear above all other UI elements.
9060
+ * This is necessary because tooltips are portaled to document.body and must overlay:
9061
+ * - Modal dialogs
9062
+ * - Dropdown menus
9063
+ * - Other floating UI elements
9064
+ * If you encounter z-index conflicts, ensure your overlays use Pine's z-index tokens
9065
+ * or adjust --pine-z-index-nuclear in your theme.
9066
+ */
9067
+ function injectStyles() {
9068
+ if (document.querySelector('[data-pds-truncation-tooltip]'))
9069
+ return;
9070
+ const style = document.createElement('style');
9071
+ style.setAttribute('data-pds-truncation-tooltip', '');
9072
+ style.textContent = `
9073
+ .${TOOLTIP_CLASS} {
9074
+ position: fixed;
9075
+ z-index: var(--pine-z-index-nuclear, 9999);
9076
+ }
9077
+ .${TOOLTIP_CLASS}__content {
9078
+ background-color: var(--pine-color-primary, #1a1a2e);
9079
+ border-radius: calc(var(--pine-dimension-xs, 4px) * 1.25);
9080
+ box-shadow: var(--pine-box-shadow, 0 2px 8px rgba(0,0,0,0.15));
9081
+ color: var(--pine-color-text-primary, #fff);
9082
+ cursor: text;
9083
+ font-family: var(--pine-font-family-body, sans-serif);
9084
+ font-size: var(--pine-font-size-body-sm, 0.875rem);
9085
+ letter-spacing: var(--pine-letter-spacing, normal);
9086
+ line-height: var(--pine-line-height-body, 1.5);
9087
+ max-width: 320px;
9088
+ opacity: 0;
9089
+ padding: var(--pine-dimension-xs, 4px) calc(var(--pine-dimension-md, 12px) / 2);
9090
+ transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
9091
+ user-select: text;
9092
+ visibility: hidden;
9093
+ width: max-content;
9094
+ word-break: break-word;
9095
+ }
9096
+ .${TOOLTIP_CLASS}--visible .${TOOLTIP_CLASS}__content {
9097
+ opacity: 1;
9098
+ visibility: visible;
9099
+ }
9100
+ `;
9101
+ document.head.appendChild(style);
9102
+ }
9103
+ /**
9104
+ * Checks if an element's content is overflowing horizontally (i.e. text is truncated).
9105
+ */
9106
+ function isOverflowing(el) {
9107
+ return el.scrollWidth > el.clientWidth;
9108
+ }
9109
+ /**
9110
+ * Sets up automatic tooltip behavior for a truncated element.
9111
+ *
9112
+ * When the element's text overflows, hovering or focusing the host element
9113
+ * will display a tooltip showing the full text content. The tooltip is
9114
+ * rendered as a portal on document.body and positioned with Floating UI.
9115
+ *
9116
+ * @returns A cleanup function that removes all listeners, observers, and DOM elements.
9117
+ */
9118
+ function setupTruncationTooltip(options) {
9119
+ const { hostEl, contentEl, getTooltipText, placement = 'top' } = options;
9120
+ injectStyles();
9121
+ let portalEl = null;
9122
+ let isHovering = false;
9123
+ let isHoveringPortal = false;
9124
+ let isFocused = false;
9125
+ let hideTimeout = null;
9126
+ let resizeObserver = null;
9127
+ let resizeDebounce = null;
9128
+ // Use ResizeObserver to re-evaluate overflow when the element resizes
9129
+ // Debounced to prevent performance issues during rapid window resizing
9130
+ if (typeof ResizeObserver !== 'undefined') {
9131
+ resizeObserver = new ResizeObserver(() => {
9132
+ if (resizeDebounce) {
9133
+ clearTimeout(resizeDebounce);
9134
+ }
9135
+ resizeDebounce = setTimeout(() => {
9136
+ resizeDebounce = null;
9137
+ // If tooltip is showing but text no longer overflows, hide it
9138
+ if (portalEl && portalEl.isConnected && !isOverflowing(contentEl)) {
9139
+ hideTooltip();
9140
+ }
9141
+ }, 100);
9142
+ });
9143
+ resizeObserver.observe(contentEl);
9144
+ }
9145
+ function createPortal() {
9146
+ if (portalEl)
9147
+ return;
9148
+ const text = getTooltipText();
9149
+ if (!text || text.trim() === '')
9150
+ return;
9151
+ portalEl = document.createElement('div');
9152
+ portalEl.className = TOOLTIP_CLASS;
9153
+ portalEl.setAttribute('role', 'tooltip');
9154
+ portalEl.setAttribute('aria-hidden', 'false');
9155
+ const contentDiv = document.createElement('div');
9156
+ contentDiv.className = `${TOOLTIP_CLASS}__content`;
9157
+ contentDiv.textContent = text.trim();
9158
+ portalEl.appendChild(contentDiv);
9159
+ document.body.appendChild(portalEl);
9160
+ // Allow the user to hover into the tooltip to select/copy text
9161
+ portalEl.addEventListener('mouseenter', handlePortalMouseEnter);
9162
+ portalEl.addEventListener('mouseleave', handlePortalMouseLeave);
9163
+ positionTooltip().then(() => {
9164
+ if (portalEl) {
9165
+ portalEl.classList.add(`${TOOLTIP_CLASS}--visible`);
9166
+ }
9167
+ });
9168
+ }
9169
+ async function positionTooltip() {
9170
+ if (!portalEl)
9171
+ return;
9172
+ try {
9173
+ const { x, y } = await computePosition(hostEl, portalEl, {
9174
+ placement,
9175
+ strategy: 'fixed',
9176
+ middleware: [offset(4), flip(), shift({ padding: 5 })],
9177
+ });
9178
+ Object.assign(portalEl.style, {
9179
+ left: `${x}px`,
9180
+ top: `${y}px`,
9181
+ });
9182
+ }
9183
+ catch (_a) {
9184
+ // Fallback: position above the element with bounds checking
9185
+ if (portalEl) {
9186
+ const rect = hostEl.getBoundingClientRect();
9187
+ const portalRect = portalEl.getBoundingClientRect();
9188
+ const padding = 5;
9189
+ // Ensure tooltip stays within viewport bounds
9190
+ const left = Math.max(padding, Math.min(rect.left, window.innerWidth - portalRect.width - padding));
9191
+ const top = Math.max(padding, rect.top - portalRect.height - 8);
9192
+ portalEl.style.left = `${left}px`;
9193
+ portalEl.style.top = `${top}px`;
9194
+ }
9195
+ }
9196
+ }
9197
+ function removePortal() {
9198
+ if (portalEl) {
9199
+ portalEl.removeEventListener('mouseenter', handlePortalMouseEnter);
9200
+ portalEl.removeEventListener('mouseleave', handlePortalMouseLeave);
9201
+ portalEl.classList.remove(`${TOOLTIP_CLASS}--visible`);
9202
+ // Check if portal is still in the DOM before removing
9203
+ if (portalEl.parentNode && portalEl.isConnected) {
9204
+ try {
9205
+ portalEl.parentNode.removeChild(portalEl);
9206
+ }
9207
+ catch (e) {
9208
+ // Portal was already removed, ignore error
9209
+ }
9210
+ }
9211
+ portalEl = null;
9212
+ }
9213
+ }
9214
+ function cancelHideTimeout() {
9215
+ if (hideTimeout !== null) {
9216
+ clearTimeout(hideTimeout);
9217
+ hideTimeout = null;
9218
+ }
9219
+ }
9220
+ function showTooltip() {
9221
+ cancelHideTimeout();
9222
+ if (!isOverflowing(contentEl))
9223
+ return;
9224
+ createPortal();
9225
+ }
9226
+ function hideTooltip() {
9227
+ if (isHovering || isHoveringPortal || isFocused)
9228
+ return;
9229
+ removePortal();
9230
+ }
9231
+ /**
9232
+ * Schedules tooltip removal after a short delay.
9233
+ *
9234
+ * The 100ms delay serves two purposes:
9235
+ * 1. Gives users time to move their cursor from the truncated text to the tooltip portal
9236
+ * without it closing, enabling text selection/copying from the tooltip
9237
+ * 2. Prevents flickering when the user briefly moves the cursor during normal interaction
9238
+ */
9239
+ function scheduleHide() {
9240
+ cancelHideTimeout();
9241
+ hideTimeout = setTimeout(() => {
9242
+ hideTimeout = null;
9243
+ hideTooltip();
9244
+ }, 100);
9245
+ }
9246
+ function handleMouseEnter() {
9247
+ isHovering = true;
9248
+ showTooltip();
9249
+ }
9250
+ function handleMouseLeave() {
9251
+ isHovering = false;
9252
+ scheduleHide();
9253
+ }
9254
+ function handlePortalMouseEnter() {
9255
+ isHoveringPortal = true;
9256
+ cancelHideTimeout();
9257
+ }
9258
+ function handlePortalMouseLeave() {
9259
+ isHoveringPortal = false;
9260
+ scheduleHide();
9261
+ }
9262
+ function handleFocusIn() {
9263
+ isFocused = true;
9264
+ showTooltip();
9265
+ }
9266
+ function handleFocusOut() {
9267
+ isFocused = false;
9268
+ scheduleHide();
9269
+ }
9270
+ hostEl.addEventListener('mouseenter', handleMouseEnter);
9271
+ hostEl.addEventListener('mouseleave', handleMouseLeave);
9272
+ hostEl.addEventListener('focusin', handleFocusIn);
9273
+ hostEl.addEventListener('focusout', handleFocusOut);
9274
+ // Return cleanup function
9275
+ return () => {
9276
+ cancelHideTimeout();
9277
+ if (resizeDebounce) {
9278
+ clearTimeout(resizeDebounce);
9279
+ resizeDebounce = null;
9280
+ }
9281
+ if (resizeObserver) {
9282
+ resizeObserver.disconnect();
9283
+ }
9284
+ hostEl.removeEventListener('mouseenter', handleMouseEnter);
9285
+ hostEl.removeEventListener('mouseleave', handleMouseLeave);
9286
+ hostEl.removeEventListener('focusin', handleFocusIn);
9287
+ hostEl.removeEventListener('focusout', handleFocusOut);
9288
+ removePortal();
9289
+ };
9290
+ }
9291
+
9025
9292
  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}";
9026
9293
 
9027
9294
  class PdsCopytext {
9028
9295
  constructor(hostRef) {
9029
9296
  registerInstance(this, hostRef);
9030
9297
  this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
9298
+ this.truncationCleanup = null;
9031
9299
  /**
9032
9300
  * Determines whether `copytext` should have a visible border.
9033
9301
  * @defaultValue true
@@ -9040,6 +9308,7 @@ class PdsCopytext {
9040
9308
  this.fullWidth = false;
9041
9309
  /**
9042
9310
  * Determines whether the `value` should truncate and display with an ellipsis.
9311
+ * When text overflows, a tooltip showing the full value will appear on hover/focus.
9043
9312
  * @defaultValue false
9044
9313
  */
9045
9314
  this.truncate = false;
@@ -9058,6 +9327,43 @@ class PdsCopytext {
9058
9327
  this.copyToClipboard(this.value);
9059
9328
  };
9060
9329
  }
9330
+ handleTruncateChange(newValue) {
9331
+ if (newValue) {
9332
+ this.initTruncationTooltip();
9333
+ }
9334
+ else {
9335
+ this.destroyTruncationTooltip();
9336
+ }
9337
+ }
9338
+ handleValueChange() {
9339
+ if (this.truncate) {
9340
+ this.initTruncationTooltip();
9341
+ }
9342
+ }
9343
+ componentDidLoad() {
9344
+ if (this.truncate) {
9345
+ this.initTruncationTooltip();
9346
+ }
9347
+ }
9348
+ disconnectedCallback() {
9349
+ this.destroyTruncationTooltip();
9350
+ }
9351
+ initTruncationTooltip() {
9352
+ this.destroyTruncationTooltip();
9353
+ if (this.valueSpanEl) {
9354
+ this.truncationCleanup = setupTruncationTooltip({
9355
+ hostEl: this.el,
9356
+ contentEl: this.valueSpanEl,
9357
+ getTooltipText: () => this.value || '',
9358
+ });
9359
+ }
9360
+ }
9361
+ destroyTruncationTooltip() {
9362
+ if (this.truncationCleanup) {
9363
+ this.truncationCleanup();
9364
+ this.truncationCleanup = null;
9365
+ }
9366
+ }
9061
9367
  classNames() {
9062
9368
  const classNames = ['pds-copytext'];
9063
9369
  if (this.border) {
@@ -9072,8 +9378,13 @@ class PdsCopytext {
9072
9378
  return classNames.join(' ');
9073
9379
  }
9074
9380
  render() {
9075
- 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" }))));
9381
+ 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" }))));
9076
9382
  }
9383
+ get el() { return getElement(this); }
9384
+ static get watchers() { return {
9385
+ "truncate": ["handleTruncateChange"],
9386
+ "value": ["handleValueChange"]
9387
+ }; }
9077
9388
  static get style() { return pdsCopytextCss; }
9078
9389
  static get cmpMeta() { return {
9079
9390
  "$flags$": 265,
@@ -9131,7 +9442,7 @@ class PdsDivider {
9131
9442
  }; }
9132
9443
  }
9133
9444
 
9134
- 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}";
9445
+ 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}";
9135
9446
 
9136
9447
  /**
9137
9448
  * @part menu-panel - Exposes the dropdown menu container for styling.
@@ -9521,7 +9832,7 @@ class PdsDropdownMenuItem {
9521
9832
  }
9522
9833
  renderElement() {
9523
9834
  if (this.href !== undefined) {
9524
- return (hAsync("pds-link", { href: this.disabled ? null : this.href, external: this.external, target: this.target, class: {
9835
+ return (hAsync("pds-link", { download: this.download, href: this.disabled ? null : this.href, external: this.external, target: this.target, class: {
9525
9836
  'pds-dropdown-menu-item__content': true,
9526
9837
  'has-focus': this.hasFocus
9527
9838
  }, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
@@ -9532,7 +9843,7 @@ class PdsDropdownMenuItem {
9532
9843
  }, 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)));
9533
9844
  }
9534
9845
  render() {
9535
- 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()));
9846
+ 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()));
9536
9847
  }
9537
9848
  get host() { return getElement(this); }
9538
9849
  static get style() { return pdsDropdownMenuItemCss; }
@@ -9543,6 +9854,7 @@ class PdsDropdownMenuItem {
9543
9854
  "componentId": [1, "component-id"],
9544
9855
  "destructive": [4],
9545
9856
  "disabled": [516],
9857
+ "download": [1],
9546
9858
  "href": [1],
9547
9859
  "external": [516],
9548
9860
  "target": [513],
@@ -10956,8 +11268,8 @@ class PdsLink {
10956
11268
  const targetValue = this.target || (this.external ? '_blank' : undefined);
10957
11269
  const showExternalIcon = this.external;
10958
11270
  const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
10959
- 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 &&
10960
- hAsync("pds-icon", { key: 'f9c752a279e427d2caa6771cf19a989622cd2110', icon: launch, size: this.fontSize })));
11271
+ 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 &&
11272
+ hAsync("pds-icon", { key: 'f2486339296564d5d07e0c6c4cf83cb2566b8f24', icon: launch, size: this.fontSize })));
10961
11273
  }
10962
11274
  static get style() { return pdsLinkCss; }
10963
11275
  static get cmpMeta() { return {
@@ -10965,6 +11277,7 @@ class PdsLink {
10965
11277
  "$tagName$": "pds-link",
10966
11278
  "$members$": {
10967
11279
  "color": [1],
11280
+ "download": [1],
10968
11281
  "componentId": [1, "component-id"],
10969
11282
  "external": [4],
10970
11283
  "target": [1],
@@ -11555,7 +11868,7 @@ class PdsModalHeader {
11555
11868
  }; }
11556
11869
  }
11557
11870
 
11558
- 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}";
11871
+ 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}";
11559
11872
 
11560
11873
  /**
11561
11874
  * @slot (default) - Static option elements for the multiselect
@@ -11569,10 +11882,21 @@ class PdsMultiselect {
11569
11882
  this.pdsMultiselectSearch = createEvent(this, "pdsMultiselectSearch");
11570
11883
  this.pdsMultiselectLoadOptions = createEvent(this, "pdsMultiselectLoadOptions");
11571
11884
  this.pdsMultiselectCreate = createEvent(this, "pdsMultiselectCreate");
11885
+ this.pdsMultiselectDismiss = createEvent(this, "pdsMultiselectDismiss");
11572
11886
  /**
11573
11887
  * Placeholder text for the input field.
11574
11888
  */
11575
11889
  this.placeholder = 'Select...';
11890
+ /**
11891
+ * Placeholder text for the search input inside the dropdown panel.
11892
+ * @default 'Find...'
11893
+ */
11894
+ this.searchPlaceholder = 'Find...';
11895
+ /**
11896
+ * Whether to close the panel after an option is selected.
11897
+ * Defaults to `false` (panel stays open for multi-select).
11898
+ */
11899
+ this.closePanelOnSelect = false;
11576
11900
  /**
11577
11901
  * Array of selected option values.
11578
11902
  */
@@ -11636,6 +11960,8 @@ class PdsMultiselect {
11636
11960
  this.creating = false;
11637
11961
  // Flag to prevent focusout from closing during open transition
11638
11962
  this.isOpening = false;
11963
+ // Flag to suppress dismiss event when panel closes due to selection (not user dismissal)
11964
+ this.isClosingViaSelection = false;
11639
11965
  // Flag to track if initial async fetch has been triggered (prevents double fetch)
11640
11966
  this.initialAsyncFetchTriggered = false;
11641
11967
  // Flag to track if value changed during loading and needs resolution after fetch completes
@@ -11707,8 +12033,9 @@ class PdsMultiselect {
11707
12033
  // before we decide to close the dropdown
11708
12034
  setTimeout(() => {
11709
12035
  var _a;
11710
- // Don't close if we're in the middle of opening or already closed
11711
- if (!this.isOpen || this.isOpening)
12036
+ // Don't close if we're in the middle of opening, already closed,
12037
+ // or closing due to a selection (not a user dismissal)
12038
+ if (!this.isOpen || this.isOpening || this.isClosingViaSelection)
11712
12039
  return;
11713
12040
  const activeElement = document.activeElement;
11714
12041
  // Check if focus is within our component's shadow root
@@ -11716,6 +12043,7 @@ class PdsMultiselect {
11716
12043
  // Also check if focus is on the host element itself
11717
12044
  const isOnHost = activeElement === this.el;
11718
12045
  if (!isInShadowRoot && !isOnHost) {
12046
+ this.pdsMultiselectDismiss.emit();
11719
12047
  this.closeDropdown();
11720
12048
  }
11721
12049
  }, 0);
@@ -11845,6 +12173,19 @@ class PdsMultiselect {
11845
12173
  var _a;
11846
12174
  (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
11847
12175
  }
12176
+ /**
12177
+ * Clears all selected values and resets the component.
12178
+ */
12179
+ async clear() {
12180
+ const hadValues = this.value.length > 0 || this.searchQuery !== '';
12181
+ this.value = [];
12182
+ this.searchQuery = '';
12183
+ this.syncSelectedItems();
12184
+ this.updateFormValue();
12185
+ if (hadValues) {
12186
+ this.pdsMultiselectChange.emit({ values: [], items: [] });
12187
+ }
12188
+ }
11848
12189
  /**
11849
12190
  * Handle global keyboard events for accessibility.
11850
12191
  * Closes dropdown on Escape key press regardless of focus location.
@@ -11855,6 +12196,7 @@ class PdsMultiselect {
11855
12196
  return;
11856
12197
  if (event.key === 'Escape') {
11857
12198
  event.preventDefault();
12199
+ this.pdsMultiselectDismiss.emit();
11858
12200
  this.closeDropdown();
11859
12201
  (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
11860
12202
  }
@@ -12192,6 +12534,12 @@ class PdsMultiselect {
12192
12534
  this.isOpen = false;
12193
12535
  this.highlightedIndex = -1;
12194
12536
  this.searchQuery = '';
12537
+ // Reset the selection-close guard after the focusout handler's setTimeout has resolved
12538
+ if (this.isClosingViaSelection) {
12539
+ setTimeout(() => {
12540
+ this.isClosingViaSelection = false;
12541
+ }, 0);
12542
+ }
12195
12543
  // Clean up auto-update
12196
12544
  if (this.cleanupAutoUpdate) {
12197
12545
  this.cleanupAutoUpdate();
@@ -12244,7 +12592,7 @@ class PdsMultiselect {
12244
12592
  });
12245
12593
  }
12246
12594
  toggleOption(option) {
12247
- var _a;
12595
+ var _a, _b;
12248
12596
  // Handle create option
12249
12597
  if (option.isCreateOption) {
12250
12598
  // Prevent multiple create calls while one is in-flight
@@ -12253,17 +12601,18 @@ class PdsMultiselect {
12253
12601
  }
12254
12602
  return;
12255
12603
  }
12256
- const isSelected = this.value.includes(String(option.id));
12604
+ const optionId = String(option.id);
12605
+ const isSelected = this.value.includes(optionId);
12257
12606
  if (isSelected) {
12258
12607
  // Remove from selection
12259
- this.value = this.value.filter(v => v !== String(option.id));
12608
+ this.value = this.value.filter(v => v !== optionId);
12260
12609
  }
12261
12610
  else {
12262
12611
  // Add to selection
12263
12612
  if (this.maxSelections && this.value.length >= this.maxSelections) {
12264
12613
  return;
12265
12614
  }
12266
- this.value = [...this.value, String(option.id)];
12615
+ this.value = [...this.value, optionId];
12267
12616
  }
12268
12617
  // Sync selected items to ensure no duplicates and accurate state
12269
12618
  this.syncSelectedItems();
@@ -12272,8 +12621,15 @@ class PdsMultiselect {
12272
12621
  values: this.value,
12273
12622
  items: this.selectedItems,
12274
12623
  });
12275
- // Keep focus on search input, don't close dropdown
12276
- (_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
12624
+ if (this.closePanelOnSelect) {
12625
+ this.isClosingViaSelection = true;
12626
+ this.closeDropdown();
12627
+ (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
12628
+ }
12629
+ else {
12630
+ // Keep focus on search input, don't close dropdown
12631
+ (_b = this.searchInputEl) === null || _b === void 0 ? void 0 : _b.focus();
12632
+ }
12277
12633
  }
12278
12634
  selectOption(option) {
12279
12635
  // For keyboard navigation - toggle the option
@@ -12291,7 +12647,7 @@ class PdsMultiselect {
12291
12647
  const valueArray = this.ensureValueArray();
12292
12648
  const hasSlottedEmpty = !!this.el.querySelector('[slot="empty"]');
12293
12649
  const hasSlottedLoading = !!this.el.querySelector('[slot="loading"]');
12294
- 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) => {
12650
+ 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) => {
12295
12651
  const isSelected = valueArray.includes(String(option.id));
12296
12652
  const isCreateOption = option.isCreateOption;
12297
12653
  const isHighlighted = index === this.highlightedIndex && !isCreateOption;
@@ -12315,19 +12671,19 @@ class PdsMultiselect {
12315
12671
  }
12316
12672
  render() {
12317
12673
  const hasSelections = this.selectedItems.length > 0;
12318
- 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: {
12674
+ 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: {
12319
12675
  'pds-multiselect__label': true,
12320
12676
  'visually-hidden': this.hideLabel,
12321
- } }, 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: {
12677
+ } }, 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: {
12322
12678
  'pds-multiselect__trigger': true,
12323
12679
  'pds-multiselect__trigger--open': this.isOpen,
12324
12680
  'pds-multiselect__trigger--disabled': this.disabled,
12325
12681
  'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
12326
12682
  'pds-multiselect__trigger--has-value': hasSelections,
12327
- }, 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: {
12683
+ }, 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: {
12328
12684
  'pds-multiselect__trigger-text': true,
12329
12685
  'pds-multiselect__trigger-text--placeholder': !hasSelections,
12330
- } }, 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' })))));
12686
+ } }, 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' })))));
12331
12687
  }
12332
12688
  static get formAssociated() { return true; }
12333
12689
  get el() { return getElement(this); }
@@ -12345,6 +12701,8 @@ class PdsMultiselect {
12345
12701
  "componentId": [1, "component-id"],
12346
12702
  "label": [1],
12347
12703
  "placeholder": [1],
12704
+ "searchPlaceholder": [1, "search-placeholder"],
12705
+ "closePanelOnSelect": [4, "close-panel-on-select"],
12348
12706
  "name": [1],
12349
12707
  "value": [1040],
12350
12708
  "disabled": [4],
@@ -12377,7 +12735,8 @@ class PdsMultiselect {
12377
12735
  "currentPage": [32],
12378
12736
  "hasMore": [32],
12379
12737
  "creating": [32],
12380
- "setFocus": [64]
12738
+ "setFocus": [64],
12739
+ "clear": [64]
12381
12740
  },
12382
12741
  "$listeners$": [[8, "keydown", "handleWindowKeyDown"]],
12383
12742
  "$lazyBundleId$": "-",
@@ -16641,18 +17000,23 @@ class PdsTab {
16641
17000
  }; }
16642
17001
  }
16643
17002
 
16644
- 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}";
17003
+ 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}";
16645
17004
 
16646
17005
  class PdsTable {
16647
17006
  constructor(hostRef) {
16648
17007
  registerInstance(this, hostRef);
16649
- this.pdsTableSelect = createEvent(this, "pdsTableSelect");
16650
17008
  this.pdsTableSelectAll = createEvent(this, "pdsTableSelectAll");
16651
17009
  this.scrollContainer = null;
16652
17010
  this._responsiveHandleScroll = null;
16653
17011
  this._responsiveHandleResize = null;
16654
17012
  this._responsiveResizeObserver = null;
16655
17013
  this._teardownResponsive = null;
17014
+ /**
17015
+ * Hides the select-all checkbox in the table header while keeping individual row checkboxes functional.
17016
+ * Only applies when `selectable` is true.
17017
+ * @defaultValue false
17018
+ */
17019
+ this.disableSelectAll = false;
16656
17020
  /**
16657
17021
  * Adds divider borders between table rows. The last row will not have a bottom border.
16658
17022
  * @defaultValue false
@@ -16872,8 +17236,10 @@ class PdsTable {
16872
17236
  if (!pdsTableHead)
16873
17237
  return;
16874
17238
  const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');
16875
- headerCheckbox.checked = allSelectedRows;
16876
- headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
17239
+ if (headerCheckbox) {
17240
+ headerCheckbox.checked = allSelectedRows;
17241
+ headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
17242
+ }
16877
17243
  }
16878
17244
  render() {
16879
17245
  if (this.responsive) {
@@ -16892,6 +17258,7 @@ class PdsTable {
16892
17258
  "responsive": [4],
16893
17259
  "fixedColumn": [4, "fixed-column"],
16894
17260
  "selectable": [4],
17261
+ "disableSelectAll": [4, "disable-select-all"],
16895
17262
  "rowDividers": [516, "row-dividers"],
16896
17263
  "defaultSortColumn": [1, "default-sort-column"],
16897
17264
  "defaultSortDirection": [1, "default-sort-direction"],
@@ -16924,13 +17291,14 @@ class PdsTableBody {
16924
17291
  }; }
16925
17292
  }
16926
17293
 
16927
- 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}";
17294
+ 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}";
16928
17295
 
16929
17296
  class PdsTableCell {
16930
17297
  constructor(hostRef) {
16931
17298
  registerInstance(this, hostRef);
16932
17299
  this.scrollContainer = null;
16933
17300
  this.setupRetries = 0;
17301
+ this.truncationCleanup = null;
16934
17302
  /**
16935
17303
  * Determines if the table is currently scrolling.
16936
17304
  * @defaultValue false
@@ -16962,9 +17330,13 @@ class PdsTableCell {
16962
17330
  // This enables the first column to show a shadow when the table is scrolled horizontally
16963
17331
  this.setupScrollListener();
16964
17332
  }
17333
+ if (this.truncate) {
17334
+ this.initTruncationTooltip();
17335
+ }
16965
17336
  }
16966
17337
  disconnectedCallback() {
16967
17338
  this.cleanupScrollListener();
17339
+ this.destroyTruncationTooltip();
16968
17340
  }
16969
17341
  setupScrollListener() {
16970
17342
  var _a;
@@ -17005,6 +17377,28 @@ class PdsTableCell {
17005
17377
  }
17006
17378
  this.setupRetries = 0; // Reset retry counter
17007
17379
  }
17380
+ handleTruncateChange(newValue) {
17381
+ if (newValue) {
17382
+ this.initTruncationTooltip();
17383
+ }
17384
+ else {
17385
+ this.destroyTruncationTooltip();
17386
+ }
17387
+ }
17388
+ initTruncationTooltip() {
17389
+ this.destroyTruncationTooltip();
17390
+ this.truncationCleanup = setupTruncationTooltip({
17391
+ hostEl: this.hostElement,
17392
+ contentEl: this.hostElement,
17393
+ getTooltipText: () => this.hostElement.textContent || '',
17394
+ });
17395
+ }
17396
+ destroyTruncationTooltip() {
17397
+ if (this.truncationCleanup) {
17398
+ this.truncationCleanup();
17399
+ this.truncationCleanup = null;
17400
+ }
17401
+ }
17008
17402
  classNames() {
17009
17403
  const classNames = [];
17010
17404
  if (this.tableRef && this.tableRef.compact) {
@@ -17022,13 +17416,16 @@ class PdsTableCell {
17022
17416
  return classNames.join(' ');
17023
17417
  }
17024
17418
  render() {
17025
- return (hAsync(Host, { key: 'f57b6f8173976a6ad0cc9eb5bf655ba930c45280', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
17419
+ return (hAsync(Host, { key: 'f1526ebf858c52e01185174cb37770d130abd3ca', class: this.classNames(), role: "gridcell", part: "cell", tabIndex: this.truncate ? 0 : undefined, style: this.tableRef &&
17026
17420
  this.tableRef.fixedColumn &&
17027
17421
  this.tableRef.selectable
17028
17422
  ? { '--fixed-cell-position': '40px' }
17029
- : {} }, hAsync("slot", { key: '0cc35b066fdb46eed1516d5b6eb86b77f0d4d2b5' })));
17423
+ : {} }, hAsync("slot", { key: '518a3cb3fad0bbbe029f218c2dc89596d1cd0b16' })));
17030
17424
  }
17031
17425
  get hostElement() { return getElement(this); }
17426
+ static get watchers() { return {
17427
+ "truncate": ["handleTruncateChange"]
17428
+ }; }
17032
17429
  static get style() { return pdsTableCellCss; }
17033
17430
  static get cmpMeta() { return {
17034
17431
  "$flags$": 265,
@@ -17098,7 +17495,7 @@ class PdsTableHead {
17098
17495
  }
17099
17496
  }
17100
17497
  render() {
17101
- 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' })));
17498
+ 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' })));
17102
17499
  }
17103
17500
  get hostElement() { return getElement(this); }
17104
17501
  static get style() { return pdsTableHeadCss; }
@@ -17366,8 +17763,8 @@ class PdsTableRow {
17366
17763
  * @defaultValue false
17367
17764
  */
17368
17765
  this.isLastRow = false;
17369
- this.handleClick = () => {
17370
- this.isSelected = !this.isSelected; // Toggle the selected state
17766
+ this.handleCheckboxChange = (event) => {
17767
+ this.isSelected = event.detail.checked;
17371
17768
  this.handleSelect(this.isSelected);
17372
17769
  };
17373
17770
  this.handleSelect = (isSelected) => {
@@ -17489,7 +17886,7 @@ class PdsTableRow {
17489
17886
  }
17490
17887
  }
17491
17888
  render() {
17492
- 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' })));
17889
+ 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' })));
17493
17890
  }
17494
17891
  get hostElement() { return getElement(this); }
17495
17892
  static get style() { return pdsTableRowCss; }
@@ -17660,11 +18057,45 @@ const pdsTextCss = ":host{display:inline}:host([decoration=underline-dotted])>*{
17660
18057
  class PdsText {
17661
18058
  constructor(hostRef) {
17662
18059
  registerInstance(this, hostRef);
18060
+ this.truncationCleanup = null;
17663
18061
  /**
17664
18062
  * Determines what semantic text tag to render.
17665
18063
  */
17666
18064
  this.tag = "p";
17667
18065
  }
18066
+ handleTruncateChange(newValue) {
18067
+ if (newValue) {
18068
+ this.initTruncationTooltip();
18069
+ }
18070
+ else {
18071
+ this.destroyTruncationTooltip();
18072
+ }
18073
+ }
18074
+ componentDidLoad() {
18075
+ if (this.truncate) {
18076
+ this.initTruncationTooltip();
18077
+ }
18078
+ }
18079
+ disconnectedCallback() {
18080
+ this.destroyTruncationTooltip();
18081
+ }
18082
+ initTruncationTooltip() {
18083
+ // Clean up any existing tooltip before setting up a new one
18084
+ this.destroyTruncationTooltip();
18085
+ if (this.contentEl) {
18086
+ this.truncationCleanup = setupTruncationTooltip({
18087
+ hostEl: this.el,
18088
+ contentEl: this.contentEl,
18089
+ getTooltipText: () => this.el.textContent || '',
18090
+ });
18091
+ }
18092
+ }
18093
+ destroyTruncationTooltip() {
18094
+ if (this.truncationCleanup) {
18095
+ this.truncationCleanup();
18096
+ this.truncationCleanup = null;
18097
+ }
18098
+ }
17668
18099
  render() {
17669
18100
  const Tag = this.tag;
17670
18101
  const typeClasses = `
@@ -17675,9 +18106,12 @@ class PdsText {
17675
18106
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
17676
18107
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
17677
18108
  `;
17678
- return (hAsync(Tag, { key: '3332211f473c2e8eeb79214352939df07a51fec1', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: 'd73ebe8fdf9f78d16aca70161bdc27138286328d' })));
18109
+ 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' })));
17679
18110
  }
17680
18111
  get el() { return getElement(this); }
18112
+ static get watchers() { return {
18113
+ "truncate": ["handleTruncateChange"]
18114
+ }; }
17681
18115
  static get style() { return pdsTextCss; }
17682
18116
  static get cmpMeta() { return {
17683
18117
  "$flags$": 265,