@pine-ds/core 3.6.0 → 3.8.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 (881) hide show
  1. package/components/form.js +16 -1
  2. package/components/form.js.map +1 -1
  3. package/components/index.d.ts +4 -0
  4. package/components/index.js +2 -0
  5. package/components/index.js.map +1 -1
  6. package/components/index2.js +4 -2
  7. package/components/index2.js.map +1 -1
  8. package/components/mock-pds-modal.js +2 -2
  9. package/components/mock-pds-modal.js.map +1 -1
  10. package/components/pds-avatar.js +1 -1
  11. package/components/pds-button2.js +7 -4
  12. package/components/pds-button2.js.map +1 -1
  13. package/components/pds-checkbox2.js +8 -5
  14. package/components/pds-checkbox2.js.map +1 -1
  15. package/components/pds-chip.js +1 -100
  16. package/components/pds-chip.js.map +1 -1
  17. package/components/pds-chip2.js +105 -0
  18. package/components/pds-chip2.js.map +1 -0
  19. package/components/pds-combobox.js +735 -54
  20. package/components/pds-combobox.js.map +1 -1
  21. package/components/pds-copytext.js +4 -4
  22. package/components/pds-copytext.js.map +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu-separator.js.map +1 -1
  25. package/components/pds-dropdown-menu.js +1 -1
  26. package/components/pds-dropdown-menu.js.map +1 -1
  27. package/components/pds-filter.d.ts +11 -0
  28. package/components/pds-filter.js +518 -0
  29. package/components/pds-filter.js.map +1 -0
  30. package/components/pds-filters.d.ts +11 -0
  31. package/components/pds-filters.js +38 -0
  32. package/components/pds-filters.js.map +1 -0
  33. package/components/pds-image.js +2 -2
  34. package/components/pds-input.js +3 -3
  35. package/components/pds-input.js.map +1 -1
  36. package/components/pds-link2.js +2 -2
  37. package/components/pds-loader2.js +1 -1
  38. package/components/pds-modal-content.js +2 -2
  39. package/components/pds-modal-footer.js +1 -1
  40. package/components/pds-modal-header.js +1 -1
  41. package/components/pds-modal.js +4 -4
  42. package/components/pds-modal.js.map +1 -1
  43. package/components/pds-popover.js +123 -15
  44. package/components/pds-popover.js.map +1 -1
  45. package/components/pds-progress.js +1 -1
  46. package/components/pds-property.js +1 -1
  47. package/components/pds-radio.js +11 -5
  48. package/components/pds-radio.js.map +1 -1
  49. package/components/pds-row.js +1 -1
  50. package/components/pds-select.js +22 -6
  51. package/components/pds-select.js.map +1 -1
  52. package/components/pds-sortable-item.js +1 -1
  53. package/components/pds-sortable.js +1 -1
  54. package/components/pds-switch.js +8 -5
  55. package/components/pds-switch.js.map +1 -1
  56. package/components/pds-tab.js +4 -4
  57. package/components/pds-tab.js.map +1 -1
  58. package/components/pds-table-body.js +1 -1
  59. package/components/pds-table-cell2.js +3 -3
  60. package/components/pds-table-cell2.js.map +1 -1
  61. package/components/pds-table-head-cell2.js +3 -3
  62. package/components/pds-table-head-cell2.js.map +1 -1
  63. package/components/pds-table-head.js +2 -2
  64. package/components/pds-table-head.js.map +1 -1
  65. package/components/pds-table-row.js +2 -2
  66. package/components/pds-table-row.js.map +1 -1
  67. package/components/pds-table.js +1 -1
  68. package/components/pds-table.js.map +1 -1
  69. package/components/pds-tabpanel.js +1 -1
  70. package/components/pds-tabs.js +14 -4
  71. package/components/pds-tabs.js.map +1 -1
  72. package/components/pds-text2.js +1 -1
  73. package/components/pds-textarea.js +10 -7
  74. package/components/pds-textarea.js.map +1 -1
  75. package/components/pds-toast.js +3 -3
  76. package/components/pds-tooltip.js +4 -4
  77. package/components/pds-tooltip.js.map +1 -1
  78. package/dist/cjs/{form-Bx4nzJBo.js → form-hmpgbT1I.js} +18 -2
  79. package/dist/cjs/form-hmpgbT1I.js.map +1 -0
  80. package/dist/cjs/{index-g-uSeICs.js → index-DDTyvZD7.js} +5 -2
  81. package/dist/cjs/index-DDTyvZD7.js.map +1 -0
  82. package/dist/cjs/{index-DVaLegMK.js → index-DtnvzYhe.js} +7 -3
  83. package/dist/cjs/index-DtnvzYhe.js.map +1 -0
  84. package/dist/cjs/index.cjs.js +1 -1
  85. package/dist/cjs/loader.cjs.js +2 -2
  86. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
  87. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  88. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  89. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  92. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  93. package/dist/cjs/pds-button.cjs.entry.js +8 -5
  94. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  95. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  96. package/dist/cjs/pds-checkbox.cjs.entry.js +9 -6
  97. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  98. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  99. package/dist/cjs/pds-chip.cjs.entry.js +4 -4
  100. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  101. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  102. package/dist/cjs/pds-combobox.cjs.entry.js +719 -51
  103. package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-copytext.cjs.entry.js +5 -5
  106. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  107. package/dist/cjs/pds-copytext.entry.cjs.js.map +1 -1
  108. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  109. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  110. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
  111. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -1
  113. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  114. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
  115. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  116. package/dist/cjs/pds-filter.cjs.entry.js +488 -0
  117. package/dist/cjs/pds-filter.cjs.entry.js.map +1 -0
  118. package/dist/cjs/pds-filter.entry.cjs.js.map +1 -0
  119. package/dist/cjs/pds-filters.cjs.entry.js +20 -0
  120. package/dist/cjs/pds-filters.cjs.entry.js.map +1 -0
  121. package/dist/cjs/pds-filters.entry.cjs.js.map +1 -0
  122. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  123. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  124. package/dist/cjs/pds-input.cjs.entry.js +5 -5
  125. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  126. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  127. package/dist/cjs/pds-link.cjs.entry.js +4 -4
  128. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  129. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
  130. package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
  131. package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
  132. package/dist/cjs/pds-modal.cjs.entry.js +5 -5
  133. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  134. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  135. package/dist/cjs/pds-popover.cjs.entry.js +118 -13
  136. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  137. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  138. package/dist/cjs/pds-progress.cjs.entry.js +2 -2
  139. package/dist/cjs/pds-property.cjs.entry.js +2 -2
  140. package/dist/cjs/pds-radio.cjs.entry.js +12 -6
  141. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  142. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  143. package/dist/cjs/pds-row.cjs.entry.js +2 -2
  144. package/dist/cjs/pds-select.cjs.entry.js +21 -6
  145. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  146. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  147. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  148. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  149. package/dist/cjs/pds-switch.cjs.entry.js +9 -6
  150. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  151. package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
  152. package/dist/cjs/pds-tab.cjs.entry.js +5 -5
  153. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  154. package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
  155. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  156. package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
  157. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  158. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  159. package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
  160. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  161. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
  162. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  163. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  164. package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
  165. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  166. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  167. package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
  168. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  169. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  170. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  171. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  172. package/dist/cjs/pds-tabs.cjs.entry.js +15 -5
  173. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  174. package/dist/cjs/pds-tabs.entry.cjs.js.map +1 -1
  175. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  176. package/dist/cjs/pds-textarea.cjs.entry.js +11 -8
  177. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  178. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  179. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  180. package/dist/cjs/pds-tooltip.cjs.entry.js +5 -5
  181. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  182. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  183. package/dist/cjs/pine-core.cjs.js +2 -2
  184. package/dist/collection/collection-manifest.json +2 -0
  185. package/dist/collection/components/pds-button/pds-button.css +29 -3
  186. package/dist/collection/components/pds-button/pds-button.js +8 -5
  187. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  188. package/dist/collection/components/pds-button/stories/pds-button.stories.js +28 -1
  189. package/dist/collection/components/pds-checkbox/pds-checkbox.js +7 -4
  190. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  191. package/dist/collection/components/pds-chip/pds-chip.css +2 -2
  192. package/dist/collection/components/pds-chip/pds-chip.js +17 -5
  193. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  194. package/dist/collection/components/pds-combobox/pds-combobox.css +213 -4
  195. package/dist/collection/components/pds-combobox/pds-combobox.js +837 -54
  196. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
  197. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +182 -2
  198. package/dist/collection/components/pds-copytext/pds-copytext.css +6 -3
  199. package/dist/collection/components/pds-copytext/pds-copytext.js +2 -2
  200. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  201. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +1 -1
  202. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -1
  203. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  204. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +2 -0
  205. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js.map +1 -0
  206. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +193 -0
  207. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +732 -0
  208. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +1 -0
  209. package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +93 -0
  210. package/dist/collection/components/pds-filters/pds-filters.css +10 -0
  211. package/dist/collection/components/pds-filters/pds-filters.js +45 -0
  212. package/dist/collection/components/pds-filters/pds-filters.js.map +1 -0
  213. package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +40 -0
  214. package/dist/collection/components/pds-image/pds-image.js +2 -2
  215. package/dist/collection/components/pds-input/pds-input.css +18 -3
  216. package/dist/collection/components/pds-input/pds-input.js +1 -1
  217. package/dist/collection/components/pds-input/stories/pds-input.stories.js +42 -0
  218. package/dist/collection/components/pds-link/pds-link.js +2 -2
  219. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  220. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  221. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  222. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  223. package/dist/collection/components/pds-modal/pds-modal.css +2 -2
  224. package/dist/collection/components/pds-modal/pds-modal.js +3 -3
  225. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  226. package/dist/collection/components/pds-popover/pds-popover.css +3 -0
  227. package/dist/collection/components/pds-popover/pds-popover.js +226 -17
  228. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  229. package/dist/collection/components/pds-popover/popover-interface.js +2 -0
  230. package/dist/collection/components/pds-popover/popover-interface.js.map +1 -0
  231. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +1 -1
  232. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  233. package/dist/collection/components/pds-property/pds-property.js +1 -1
  234. package/dist/collection/components/pds-radio/pds-radio.js +10 -4
  235. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  236. package/dist/collection/components/pds-row/pds-row.js +1 -1
  237. package/dist/collection/components/pds-select/pds-select.css +1 -1
  238. package/dist/collection/components/pds-select/pds-select.js +19 -2
  239. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  240. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  241. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  242. package/dist/collection/components/pds-switch/pds-switch.js +7 -4
  243. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  244. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  245. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -1
  246. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  247. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +1 -1
  248. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  249. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +1 -1
  250. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  251. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -1
  252. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  253. package/dist/collection/components/pds-table/pds-table.css +1 -1
  254. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +5 -2
  255. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  256. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  257. package/dist/collection/components/pds-tabs/pds-tabs.js +15 -4
  258. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  259. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +1 -1
  260. package/dist/collection/components/pds-text/pds-text.js +1 -1
  261. package/dist/collection/components/pds-textarea/pds-textarea.css +1 -1
  262. package/dist/collection/components/pds-textarea/pds-textarea.js +8 -5
  263. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  264. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  265. package/dist/collection/components/pds-tooltip/pds-tooltip.css +1 -1
  266. package/dist/collection/components/pds-tooltip/pds-tooltip.js +3 -3
  267. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  268. package/dist/collection/utils/form.js +15 -0
  269. package/dist/collection/utils/form.js.map +1 -1
  270. package/dist/collection/utils/types.js.map +1 -1
  271. package/dist/docs.json +825 -84
  272. package/dist/esm/form-DwjNklzi.js +47 -0
  273. package/dist/esm/form-DwjNklzi.js.map +1 -0
  274. package/dist/esm/{index-BVCWKPy3.js → index-Bf1dou5H.js} +5 -2
  275. package/dist/esm/index-Bf1dou5H.js.map +1 -0
  276. package/dist/esm/{index-DrJ5r5Pu.js → index-D4zJBIgl.js} +6 -4
  277. package/dist/esm/index-D4zJBIgl.js.map +1 -0
  278. package/dist/esm/index.js +1 -1
  279. package/dist/esm/loader.js +3 -3
  280. package/dist/esm/mock-pds-modal.entry.js +3 -3
  281. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  282. package/dist/esm/pds-accordion.entry.js +2 -2
  283. package/dist/esm/pds-alert.entry.js +1 -1
  284. package/dist/esm/pds-avatar.entry.js +2 -2
  285. package/dist/esm/pds-box.entry.js +1 -1
  286. package/dist/esm/pds-button.entry.js +8 -5
  287. package/dist/esm/pds-button.entry.js.map +1 -1
  288. package/dist/esm/pds-checkbox.entry.js +9 -6
  289. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  290. package/dist/esm/pds-chip.entry.js +4 -4
  291. package/dist/esm/pds-chip.entry.js.map +1 -1
  292. package/dist/esm/pds-combobox.entry.js +719 -51
  293. package/dist/esm/pds-combobox.entry.js.map +1 -1
  294. package/dist/esm/pds-copytext.entry.js +5 -5
  295. package/dist/esm/pds-copytext.entry.js.map +1 -1
  296. package/dist/esm/pds-divider.entry.js +1 -1
  297. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  298. package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
  299. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -1
  300. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  301. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  302. package/dist/esm/pds-filter.entry.js +486 -0
  303. package/dist/esm/pds-filter.entry.js.map +1 -0
  304. package/dist/esm/pds-filters.entry.js +18 -0
  305. package/dist/esm/pds-filters.entry.js.map +1 -0
  306. package/dist/esm/pds-icon.entry.js +1 -1
  307. package/dist/esm/pds-image.entry.js +3 -3
  308. package/dist/esm/pds-input.entry.js +5 -5
  309. package/dist/esm/pds-input.entry.js.map +1 -1
  310. package/dist/esm/pds-link.entry.js +4 -4
  311. package/dist/esm/pds-loader.entry.js +2 -2
  312. package/dist/esm/pds-modal-content.entry.js +3 -3
  313. package/dist/esm/pds-modal-footer.entry.js +2 -2
  314. package/dist/esm/pds-modal-header.entry.js +2 -2
  315. package/dist/esm/pds-modal.entry.js +5 -5
  316. package/dist/esm/pds-modal.entry.js.map +1 -1
  317. package/dist/esm/pds-popover.entry.js +118 -13
  318. package/dist/esm/pds-popover.entry.js.map +1 -1
  319. package/dist/esm/pds-progress.entry.js +2 -2
  320. package/dist/esm/pds-property.entry.js +2 -2
  321. package/dist/esm/pds-radio.entry.js +12 -6
  322. package/dist/esm/pds-radio.entry.js.map +1 -1
  323. package/dist/esm/pds-row.entry.js +2 -2
  324. package/dist/esm/pds-select.entry.js +21 -6
  325. package/dist/esm/pds-select.entry.js.map +1 -1
  326. package/dist/esm/pds-sortable-item.entry.js +3 -3
  327. package/dist/esm/pds-sortable.entry.js +2 -2
  328. package/dist/esm/pds-switch.entry.js +9 -6
  329. package/dist/esm/pds-switch.entry.js.map +1 -1
  330. package/dist/esm/pds-tab.entry.js +5 -5
  331. package/dist/esm/pds-tab.entry.js.map +1 -1
  332. package/dist/esm/pds-table-body.entry.js +2 -2
  333. package/dist/esm/pds-table-cell.entry.js +4 -4
  334. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  335. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  336. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  337. package/dist/esm/pds-table-head.entry.js +3 -3
  338. package/dist/esm/pds-table-head.entry.js.map +1 -1
  339. package/dist/esm/pds-table-row.entry.js +3 -3
  340. package/dist/esm/pds-table-row.entry.js.map +1 -1
  341. package/dist/esm/pds-table.entry.js +2 -2
  342. package/dist/esm/pds-table.entry.js.map +1 -1
  343. package/dist/esm/pds-tabpanel.entry.js +2 -2
  344. package/dist/esm/pds-tabs.entry.js +15 -5
  345. package/dist/esm/pds-tabs.entry.js.map +1 -1
  346. package/dist/esm/pds-text.entry.js +2 -2
  347. package/dist/esm/pds-textarea.entry.js +11 -8
  348. package/dist/esm/pds-textarea.entry.js.map +1 -1
  349. package/dist/esm/pds-toast.entry.js +4 -4
  350. package/dist/esm/pds-tooltip.entry.js +5 -5
  351. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  352. package/dist/esm/pine-core.js +3 -3
  353. package/dist/esm-es5/form-DwjNklzi.js +2 -0
  354. package/dist/esm-es5/form-DwjNklzi.js.map +1 -0
  355. package/dist/esm-es5/{index-BVCWKPy3.js → index-Bf1dou5H.js} +2 -2
  356. package/dist/esm-es5/index-Bf1dou5H.js.map +1 -0
  357. package/dist/esm-es5/index-D4zJBIgl.js +2 -0
  358. package/dist/esm-es5/index-D4zJBIgl.js.map +1 -0
  359. package/dist/esm-es5/index.js +1 -1
  360. package/dist/esm-es5/loader.js +1 -1
  361. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  362. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  363. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  364. package/dist/esm-es5/pds-alert.entry.js +1 -1
  365. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  366. package/dist/esm-es5/pds-box.entry.js +1 -1
  367. package/dist/esm-es5/pds-button.entry.js +1 -1
  368. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  369. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  370. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  371. package/dist/esm-es5/pds-chip.entry.js +1 -1
  372. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  373. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  374. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  375. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  376. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  377. package/dist/esm-es5/pds-divider.entry.js +1 -1
  378. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  379. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  380. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -1
  381. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  382. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  383. package/dist/esm-es5/pds-filter.entry.js +2 -0
  384. package/dist/esm-es5/pds-filter.entry.js.map +1 -0
  385. package/dist/esm-es5/pds-filters.entry.js +2 -0
  386. package/dist/esm-es5/pds-filters.entry.js.map +1 -0
  387. package/dist/esm-es5/pds-icon.entry.js +1 -1
  388. package/dist/esm-es5/pds-image.entry.js +1 -1
  389. package/dist/esm-es5/pds-input.entry.js +1 -1
  390. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  391. package/dist/esm-es5/pds-link.entry.js +1 -1
  392. package/dist/esm-es5/pds-loader.entry.js +1 -1
  393. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  394. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  395. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  396. package/dist/esm-es5/pds-modal.entry.js +1 -1
  397. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  398. package/dist/esm-es5/pds-popover.entry.js +1 -1
  399. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  400. package/dist/esm-es5/pds-progress.entry.js +1 -1
  401. package/dist/esm-es5/pds-property.entry.js +1 -1
  402. package/dist/esm-es5/pds-radio.entry.js +1 -1
  403. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  404. package/dist/esm-es5/pds-row.entry.js +1 -1
  405. package/dist/esm-es5/pds-select.entry.js +1 -1
  406. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  407. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  408. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  409. package/dist/esm-es5/pds-switch.entry.js +1 -1
  410. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  411. package/dist/esm-es5/pds-tab.entry.js +1 -1
  412. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  413. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  414. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  415. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  416. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  417. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  418. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  419. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  420. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  421. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  422. package/dist/esm-es5/pds-table.entry.js +1 -1
  423. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  424. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  425. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  426. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  427. package/dist/esm-es5/pds-text.entry.js +1 -1
  428. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  429. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  430. package/dist/esm-es5/pds-toast.entry.js +1 -1
  431. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  432. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  433. package/dist/esm-es5/pine-core.js +1 -1
  434. package/dist/pine-core/index.esm.js +1 -1
  435. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  436. package/dist/pine-core/p-00346c62.system.entry.js +2 -0
  437. package/dist/pine-core/p-00346c62.system.entry.js.map +1 -0
  438. package/dist/pine-core/{p-72b05928.system.entry.js → p-0486ecc6.system.entry.js} +2 -2
  439. package/dist/pine-core/{p-72b05928.system.entry.js.map → p-0486ecc6.system.entry.js.map} +1 -1
  440. package/dist/pine-core/p-07e129db.entry.js +2 -0
  441. package/dist/pine-core/{p-540cfd70.entry.js → p-1009009c.entry.js} +2 -2
  442. package/dist/pine-core/{p-349a8869.entry.js → p-100de2b7.entry.js} +2 -2
  443. package/dist/pine-core/p-1b932ee3.entry.js +2 -0
  444. package/dist/pine-core/p-1b932ee3.entry.js.map +1 -0
  445. package/dist/pine-core/{p-e2887e78.entry.js → p-1b9d4482.entry.js} +2 -2
  446. package/dist/pine-core/p-1c32ffb3.entry.js +2 -0
  447. package/dist/pine-core/p-1c32ffb3.entry.js.map +1 -0
  448. package/dist/pine-core/p-20466115.entry.js +2 -0
  449. package/dist/pine-core/p-20466115.entry.js.map +1 -0
  450. package/dist/pine-core/{p-dfc5ab34.system.entry.js → p-2054b5cb.system.entry.js} +2 -2
  451. package/dist/pine-core/{p-8726c99d.system.entry.js → p-2597bc59.system.entry.js} +2 -2
  452. package/dist/pine-core/{p-5a709348.entry.js → p-25cb810d.entry.js} +2 -2
  453. package/dist/pine-core/{p-a1b51557.system.entry.js → p-25cf2860.system.entry.js} +2 -2
  454. package/dist/pine-core/{p-54183d70.system.entry.js → p-2aab28b1.system.entry.js} +2 -2
  455. package/dist/pine-core/p-2b102034.system.entry.js +2 -0
  456. package/dist/pine-core/p-2b102034.system.entry.js.map +1 -0
  457. package/dist/pine-core/p-2b12bc55.system.entry.js +2 -0
  458. package/dist/pine-core/p-2efc646c.system.entry.js +2 -0
  459. package/dist/pine-core/{p-ecb9edf8.entry.js → p-2fb6f9d5.entry.js} +2 -2
  460. package/dist/pine-core/p-2fd7f74e.entry.js +2 -0
  461. package/dist/pine-core/{p-39488f2c.system.entry.js → p-302849cf.system.entry.js} +2 -2
  462. package/dist/pine-core/{p-51d83489.system.entry.js → p-307f415a.system.entry.js} +2 -2
  463. package/dist/pine-core/p-378df5eb.system.entry.js +2 -0
  464. package/dist/pine-core/{p-e08f492a.entry.js → p-39648ce2.entry.js} +2 -2
  465. package/dist/pine-core/p-3dce3bc0.system.entry.js +2 -0
  466. package/dist/pine-core/p-3dce3bc0.system.entry.js.map +1 -0
  467. package/dist/pine-core/{p-5f5b19f4.entry.js → p-41e2fe3a.entry.js} +2 -2
  468. package/dist/pine-core/p-449ebe39.system.entry.js +2 -0
  469. package/dist/pine-core/p-45d574f1.system.entry.js +2 -0
  470. package/dist/pine-core/p-45d574f1.system.entry.js.map +1 -0
  471. package/dist/pine-core/p-465e3418.system.entry.js +2 -0
  472. package/dist/pine-core/p-465e3418.system.entry.js.map +1 -0
  473. package/dist/pine-core/p-4xv5UVkx.system.js.map +1 -0
  474. package/dist/pine-core/p-538b3902.system.entry.js +2 -0
  475. package/dist/pine-core/p-538b3902.system.entry.js.map +1 -0
  476. package/dist/pine-core/{p-c13ef6a7.system.entry.js → p-55d06d0a.system.entry.js} +3 -3
  477. package/dist/pine-core/{p-075eecf9.entry.js → p-5ac7af9e.entry.js} +2 -2
  478. package/dist/pine-core/p-61a25ab2.entry.js +2 -0
  479. package/dist/pine-core/p-61a25ab2.entry.js.map +1 -0
  480. package/dist/pine-core/p-6381a811.system.entry.js +4 -0
  481. package/dist/pine-core/p-6381a811.system.entry.js.map +1 -0
  482. package/dist/pine-core/p-6c36cab6.entry.js +2 -0
  483. package/dist/pine-core/p-6c36cab6.entry.js.map +1 -0
  484. package/dist/pine-core/p-6ed297cb.entry.js +2 -0
  485. package/dist/pine-core/p-6ed297cb.entry.js.map +1 -0
  486. package/dist/pine-core/p-708e963c.system.entry.js +2 -0
  487. package/dist/pine-core/p-708e963c.system.entry.js.map +1 -0
  488. package/dist/pine-core/p-7090d42d.system.entry.js +2 -0
  489. package/dist/pine-core/p-7090d42d.system.entry.js.map +1 -0
  490. package/dist/pine-core/{p-4deb7b8c.entry.js → p-725c350c.entry.js} +2 -2
  491. package/dist/pine-core/{p-4deb7b8c.entry.js.map → p-725c350c.entry.js.map} +1 -1
  492. package/dist/pine-core/{p-b2b1b7a9.system.entry.js → p-73a2e028.system.entry.js} +2 -2
  493. package/dist/pine-core/p-75187352.system.entry.js +2 -0
  494. package/dist/pine-core/p-75187352.system.entry.js.map +1 -0
  495. package/dist/pine-core/p-786967e8.entry.js +2 -0
  496. package/dist/pine-core/p-79422986.entry.js +2 -0
  497. package/dist/pine-core/p-79422986.entry.js.map +1 -0
  498. package/dist/pine-core/p-81bc089e.entry.js +2 -0
  499. package/dist/pine-core/p-81bc089e.entry.js.map +1 -0
  500. package/dist/pine-core/p-85c41629.entry.js +2 -0
  501. package/dist/pine-core/p-85c41629.entry.js.map +1 -0
  502. package/dist/pine-core/p-86263a62.entry.js +2 -0
  503. package/dist/pine-core/p-86263a62.entry.js.map +1 -0
  504. package/dist/pine-core/p-875d5d5a.system.entry.js +2 -0
  505. package/dist/pine-core/p-87ed43d5.entry.js +2 -0
  506. package/dist/pine-core/p-87ed43d5.entry.js.map +1 -0
  507. package/dist/pine-core/{p-c8122bea.entry.js → p-88773b86.entry.js} +2 -2
  508. package/dist/pine-core/p-8b4fb3f0.entry.js +2 -0
  509. package/dist/pine-core/p-8b4fb3f0.entry.js.map +1 -0
  510. package/dist/pine-core/p-8b5fc4b4.system.entry.js +2 -0
  511. package/dist/pine-core/p-8b5fc4b4.system.entry.js.map +1 -0
  512. package/dist/pine-core/{p-e89cb1f2.system.entry.js → p-8f69dd71.system.entry.js} +2 -2
  513. package/dist/pine-core/p-94183716.entry.js +2 -0
  514. package/dist/pine-core/p-94183716.entry.js.map +1 -0
  515. package/dist/pine-core/p-96c27dba.entry.js +2 -0
  516. package/dist/pine-core/p-96c27dba.entry.js.map +1 -0
  517. package/dist/pine-core/p-9766923f.entry.js +2 -0
  518. package/dist/pine-core/p-9766923f.entry.js.map +1 -0
  519. package/dist/pine-core/p-9b335a9f.entry.js +2 -0
  520. package/dist/pine-core/p-9b335a9f.entry.js.map +1 -0
  521. package/dist/pine-core/p-9c579956.system.entry.js +2 -0
  522. package/dist/pine-core/p-9c579956.system.entry.js.map +1 -0
  523. package/dist/pine-core/p-9cf2b7a6.entry.js +2 -0
  524. package/dist/pine-core/p-9cf2b7a6.entry.js.map +1 -0
  525. package/dist/pine-core/{p-Dh7jcLgJ.system.js.map → p-B-Doh1Wu.system.js.map} +1 -1
  526. package/dist/pine-core/{p-B1fiSdbt.system.js.map → p-BEgEi4w5.system.js.map} +1 -1
  527. package/dist/pine-core/p-BG99uNIQ.system.js +2 -0
  528. package/dist/pine-core/p-BG99uNIQ.system.js.map +1 -0
  529. package/dist/pine-core/p-BHavepTY.system.js +2 -0
  530. package/dist/pine-core/p-BHavepTY.system.js.map +1 -0
  531. package/dist/pine-core/{p-_E9ZEzfO.system.js.map → p-BIjeWHX_.system.js.map} +1 -1
  532. package/dist/pine-core/{p-EYhpJx2s.system.js.map → p-BJjdD3yf.system.js.map} +1 -1
  533. package/dist/pine-core/p-BLC5kuro.system.js.map +1 -0
  534. package/dist/pine-core/p-BPjnTOEL.system.js +2 -0
  535. package/dist/pine-core/{p-De9tROL-.system.js.map → p-BPjnTOEL.system.js.map} +1 -1
  536. package/dist/pine-core/{p-D05FrqXr.system.js.map → p-BRIdBthP.system.js.map} +1 -1
  537. package/dist/pine-core/{p-BVCWKPy3.js → p-Bf1dou5H.js} +2 -2
  538. package/dist/pine-core/p-Bf1dou5H.js.map +1 -0
  539. package/dist/pine-core/{p-Kj_j7PHx.system.js.map → p-BkPtASB1.system.js.map} +1 -1
  540. package/dist/pine-core/p-Bkfqi7zE.system.js.map +1 -0
  541. package/dist/pine-core/p-ByzULH8m.system.js.map +1 -0
  542. package/dist/pine-core/p-C1KChp5Q.system.js.map +1 -0
  543. package/dist/pine-core/p-C2W-sHx5.system.js.map +1 -0
  544. package/dist/pine-core/{p-CE6b_LzB.system.js.map → p-C3iAHQC6.system.js.map} +1 -1
  545. package/dist/pine-core/{p-ACQU83St.system.js.map → p-CCQd5PVN.system.js.map} +1 -1
  546. package/dist/pine-core/{p-ChslVme6.system.js.map → p-CG2PKUWT.system.js.map} +1 -1
  547. package/dist/pine-core/p-CIBXMJd-.system.js.map +1 -0
  548. package/dist/pine-core/p-CJNB_wrl.system.js.map +1 -0
  549. package/dist/pine-core/p-CSa_b_JX.system.js.map +1 -0
  550. package/dist/pine-core/p-Cid662up.system.js.map +1 -0
  551. package/dist/pine-core/{p-CWdEolqa.system.js.map → p-Cl47ROcT.system.js.map} +1 -1
  552. package/dist/pine-core/{p-0KTU2Jt-.system.js.map → p-CnPN6prI.system.js.map} +1 -1
  553. package/dist/pine-core/p-Cqzmj3D8.system.js.map +1 -0
  554. package/dist/pine-core/{p-B1FQkx7R.system.js.map → p-Ctdx1tCG.system.js.map} +1 -1
  555. package/dist/pine-core/{p-3gYSFJIn.system.js.map → p-CwNRZQss.system.js.map} +1 -1
  556. package/dist/pine-core/p-Cxlv_2hD.system.js.map +1 -0
  557. package/dist/pine-core/{p-B_C-mRjx.system.js → p-Cxvdulqq.system.js} +2 -2
  558. package/dist/pine-core/p-Cxvdulqq.system.js.map +1 -0
  559. package/dist/pine-core/p-D0foS5EP.system.js.map +1 -0
  560. package/dist/pine-core/p-D4zJBIgl.js +2 -0
  561. package/dist/pine-core/p-D4zJBIgl.js.map +1 -0
  562. package/dist/pine-core/{p-MBv7PsKc.system.js.map → p-D52TGCLt.system.js.map} +1 -1
  563. package/dist/pine-core/{p-CHJgq_z7.system.js.map → p-D7B3vOdC.system.js.map} +1 -1
  564. package/dist/pine-core/p-DCjZr2HA.system.js.map +1 -0
  565. package/dist/pine-core/p-DN3VK2yy.system.js.map +1 -0
  566. package/dist/pine-core/{p-Df_3qA_L.system.js.map → p-DOqVoXeA.system.js.map} +1 -1
  567. package/dist/pine-core/p-DW3lkDNz.system.js.map +1 -0
  568. package/dist/pine-core/p-DfrSuf6X.system.js.map +1 -0
  569. package/dist/pine-core/{p-CLoi4eKt.system.js.map → p-DmWU0f_O.system.js.map} +1 -1
  570. package/dist/pine-core/p-DpemOPFJ.system.js.map +1 -0
  571. package/dist/pine-core/p-DpzRSULT.system.js.map +1 -0
  572. package/dist/pine-core/{p-DYb5Y47j.system.js.map → p-Dq7Wu9rr.system.js.map} +1 -1
  573. package/dist/pine-core/p-DtdXdmNp.system.js.map +1 -0
  574. package/dist/pine-core/p-Dw05F6Xg.system.js.map +1 -0
  575. package/dist/pine-core/p-Dw7zXw_6.system.js.map +1 -0
  576. package/dist/pine-core/p-DwjNklzi.js +2 -0
  577. package/dist/pine-core/p-DwjNklzi.js.map +1 -0
  578. package/dist/pine-core/p-GrmqKqN8.system.js.map +1 -0
  579. package/dist/pine-core/p-HHZU8rBT.system.js.map +1 -0
  580. package/dist/pine-core/{p-C5Y492i0.system.js.map → p-M-zMP2QX.system.js.map} +1 -1
  581. package/dist/pine-core/p-WWWd_vEd.system.js +2 -0
  582. package/dist/pine-core/p-WWWd_vEd.system.js.map +1 -0
  583. package/dist/pine-core/p-a2708028.entry.js +2 -0
  584. package/dist/pine-core/p-a2708028.entry.js.map +1 -0
  585. package/dist/pine-core/{p-72053224.entry.js → p-a2cb65df.entry.js} +3 -3
  586. package/dist/pine-core/{p-52d37cc1.entry.js → p-a3785977.entry.js} +2 -2
  587. package/dist/pine-core/p-a645818a.entry.js +2 -0
  588. package/dist/pine-core/p-a707a7da.system.entry.js +2 -0
  589. package/dist/pine-core/p-a707a7da.system.entry.js.map +1 -0
  590. package/dist/pine-core/{p-f583e5d4.entry.js → p-a9cfaa1f.entry.js} +2 -2
  591. package/dist/pine-core/p-acd87a10.entry.js +2 -0
  592. package/dist/pine-core/p-acd87a10.entry.js.map +1 -0
  593. package/dist/pine-core/p-ae4ec5cf.system.entry.js +2 -0
  594. package/dist/pine-core/p-ae4ec5cf.system.entry.js.map +1 -0
  595. package/dist/pine-core/p-b23dd01c.entry.js +2 -0
  596. package/dist/pine-core/p-b23dd01c.entry.js.map +1 -0
  597. package/dist/pine-core/p-b669e1d9.entry.js +2 -0
  598. package/dist/pine-core/p-b9aafec7.system.entry.js +2 -0
  599. package/dist/pine-core/p-b9aafec7.system.entry.js.map +1 -0
  600. package/dist/pine-core/{p-52cb152b.system.entry.js → p-bc2fecd4.system.entry.js} +2 -2
  601. package/dist/pine-core/{p-e3fb0bc2.system.entry.js → p-bc637bed.system.entry.js} +2 -2
  602. package/dist/pine-core/{p-b6ea3332.entry.js → p-be5ef841.entry.js} +2 -2
  603. package/dist/pine-core/p-c3579585.system.entry.js +2 -0
  604. package/dist/pine-core/p-c3579585.system.entry.js.map +1 -0
  605. package/dist/pine-core/{p-fcb39155.system.entry.js → p-c3f84df8.system.entry.js} +2 -2
  606. package/dist/pine-core/p-c44d3551.entry.js +2 -0
  607. package/dist/pine-core/{p-e8d76117.entry.js → p-c55fc47e.entry.js} +2 -2
  608. package/dist/pine-core/p-cffc98ae.entry.js +3 -0
  609. package/dist/pine-core/p-cffc98ae.entry.js.map +1 -0
  610. package/dist/pine-core/{p-5e8badb9.entry.js → p-d1b27fa4.entry.js} +2 -2
  611. package/dist/pine-core/p-d2b15290.system.entry.js +2 -0
  612. package/dist/pine-core/p-d2b15290.system.entry.js.map +1 -0
  613. package/dist/pine-core/p-d4d22aee.entry.js +2 -0
  614. package/dist/pine-core/p-d4d22aee.entry.js.map +1 -0
  615. package/dist/pine-core/{p-5da82e8c.system.entry.js → p-dace69e7.system.entry.js} +2 -2
  616. package/dist/pine-core/p-db12273e.system.entry.js +2 -0
  617. package/dist/pine-core/p-e34c1224.system.entry.js +2 -0
  618. package/dist/pine-core/p-e34c1224.system.entry.js.map +1 -0
  619. package/dist/pine-core/p-e5adbf74.system.entry.js +2 -0
  620. package/dist/pine-core/p-e5adbf74.system.entry.js.map +1 -0
  621. package/dist/pine-core/p-e6085566.system.entry.js +2 -0
  622. package/dist/pine-core/p-e6085566.system.entry.js.map +1 -0
  623. package/dist/pine-core/p-e683e197.system.entry.js +2 -0
  624. package/dist/pine-core/p-e683e197.system.entry.js.map +1 -0
  625. package/dist/pine-core/p-e6b051e8.system.entry.js +2 -0
  626. package/dist/pine-core/p-e6b051e8.system.entry.js.map +1 -0
  627. package/dist/pine-core/{p-f55b9f90.system.entry.js → p-e702a8dc.system.entry.js} +2 -2
  628. package/dist/pine-core/{p-6db1e029.system.entry.js → p-ee583234.system.entry.js} +2 -2
  629. package/dist/pine-core/p-f15cd180.entry.js +2 -0
  630. package/dist/pine-core/p-f15cd180.entry.js.map +1 -0
  631. package/dist/pine-core/{p-0066d249.entry.js → p-f5d78141.entry.js} +2 -2
  632. package/dist/pine-core/p-f61ee383.system.entry.js +2 -0
  633. package/dist/pine-core/p-f61ee383.system.entry.js.map +1 -0
  634. package/dist/pine-core/p-f6d0bd39.entry.js +2 -0
  635. package/dist/pine-core/p-f6d0bd39.entry.js.map +1 -0
  636. package/dist/pine-core/{p-52af1890.system.entry.js → p-f911dde3.system.entry.js} +2 -2
  637. package/dist/pine-core/p-f92d7570.system.entry.js +2 -0
  638. package/dist/pine-core/p-f92d7570.system.entry.js.map +1 -0
  639. package/dist/pine-core/{p-BZoPY2dP.system.js.map → p-iazk4jjL.system.js.map} +1 -1
  640. package/dist/pine-core/{p-CqzGa2j0.system.js.map → p-k9JOparb.system.js.map} +1 -1
  641. package/dist/pine-core/{p-B7S-9dbT.system.js.map → p-kcOuXqWo.system.js.map} +1 -1
  642. package/dist/pine-core/{p-c0df3222.entry.js.map → p-ozqEY4Zc.system.js.map} +1 -1
  643. package/dist/pine-core/{p-CqK-uhv8.system.js.map → p-yaM1kuaC.system.js.map} +1 -1
  644. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  645. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  646. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  647. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  648. package/dist/pine-core/pds-copytext.entry.esm.js.map +1 -1
  649. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -1
  650. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  651. package/dist/pine-core/pds-filter.entry.esm.js.map +1 -0
  652. package/dist/pine-core/pds-filters.entry.esm.js.map +1 -0
  653. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  654. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  655. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  656. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  657. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  658. package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
  659. package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
  660. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  661. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
  662. package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
  663. package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
  664. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  665. package/dist/pine-core/pds-tabs.entry.esm.js.map +1 -1
  666. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  667. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  668. package/dist/pine-core/pine-core.css +1 -1
  669. package/dist/pine-core/pine-core.esm.js +1 -1
  670. package/dist/pine-core/pine-core.js +1 -1
  671. package/dist/types/components/pds-button/pds-button.d.ts +1 -1
  672. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +1 -0
  673. package/dist/types/components/pds-chip/pds-chip.d.ts +3 -2
  674. package/dist/types/components/pds-combobox/pds-combobox.d.ts +84 -5
  675. package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
  676. package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +133 -0
  677. package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
  678. package/dist/types/components/pds-popover/pds-popover.d.ts +33 -2
  679. package/dist/types/components/pds-popover/popover-interface.d.ts +8 -0
  680. package/dist/types/components/pds-radio/pds-radio.d.ts +3 -0
  681. package/dist/types/components/pds-select/pds-select.d.ts +6 -0
  682. package/dist/types/components/pds-switch/pds-switch.d.ts +1 -0
  683. package/dist/types/components/pds-tabs/pds-tabs.d.ts +1 -0
  684. package/dist/types/components/pds-textarea/pds-textarea.d.ts +1 -0
  685. package/dist/types/components.d.ts +227 -12
  686. package/dist/types/utils/form.d.ts +9 -0
  687. package/dist/types/utils/types.d.ts +2 -0
  688. package/hydrate/index.js +1529 -146
  689. package/hydrate/index.mjs +1529 -146
  690. package/package.json +2 -2
  691. package/dist/cjs/form-Bx4nzJBo.js.map +0 -1
  692. package/dist/cjs/index-DVaLegMK.js.map +0 -1
  693. package/dist/cjs/index-g-uSeICs.js.map +0 -1
  694. package/dist/esm/form-DTL_39D_.js +0 -32
  695. package/dist/esm/form-DTL_39D_.js.map +0 -1
  696. package/dist/esm/index-BVCWKPy3.js.map +0 -1
  697. package/dist/esm/index-DrJ5r5Pu.js.map +0 -1
  698. package/dist/esm-es5/form-DTL_39D_.js +0 -2
  699. package/dist/esm-es5/form-DTL_39D_.js.map +0 -1
  700. package/dist/esm-es5/index-BVCWKPy3.js.map +0 -1
  701. package/dist/esm-es5/index-DrJ5r5Pu.js +0 -2
  702. package/dist/esm-es5/index-DrJ5r5Pu.js.map +0 -1
  703. package/dist/pine-core/p-00616fc9.entry.js +0 -2
  704. package/dist/pine-core/p-00616fc9.entry.js.map +0 -1
  705. package/dist/pine-core/p-023d8b71.system.entry.js +0 -2
  706. package/dist/pine-core/p-023d8b71.system.entry.js.map +0 -1
  707. package/dist/pine-core/p-051ff780.system.entry.js +0 -2
  708. package/dist/pine-core/p-051ff780.system.entry.js.map +0 -1
  709. package/dist/pine-core/p-0TIvNV5c.system.js.map +0 -1
  710. package/dist/pine-core/p-0de9f8da.system.entry.js +0 -2
  711. package/dist/pine-core/p-0de9f8da.system.entry.js.map +0 -1
  712. package/dist/pine-core/p-14a52961.system.entry.js +0 -2
  713. package/dist/pine-core/p-14a52961.system.entry.js.map +0 -1
  714. package/dist/pine-core/p-232a2043.entry.js +0 -2
  715. package/dist/pine-core/p-25190921.entry.js +0 -2
  716. package/dist/pine-core/p-25190921.entry.js.map +0 -1
  717. package/dist/pine-core/p-297afc49.system.entry.js +0 -2
  718. package/dist/pine-core/p-297afc49.system.entry.js.map +0 -1
  719. package/dist/pine-core/p-2e19f167.system.entry.js +0 -2
  720. package/dist/pine-core/p-2e19f167.system.entry.js.map +0 -1
  721. package/dist/pine-core/p-318fd0cf.entry.js +0 -2
  722. package/dist/pine-core/p-318fd0cf.entry.js.map +0 -1
  723. package/dist/pine-core/p-346561a6.system.entry.js +0 -2
  724. package/dist/pine-core/p-346561a6.system.entry.js.map +0 -1
  725. package/dist/pine-core/p-3pEJO0vO.system.js.map +0 -1
  726. package/dist/pine-core/p-41d1b164.entry.js +0 -2
  727. package/dist/pine-core/p-41d1b164.entry.js.map +0 -1
  728. package/dist/pine-core/p-44087d1c.entry.js +0 -2
  729. package/dist/pine-core/p-44087d1c.entry.js.map +0 -1
  730. package/dist/pine-core/p-464dd476.entry.js +0 -2
  731. package/dist/pine-core/p-464dd476.entry.js.map +0 -1
  732. package/dist/pine-core/p-47670150.entry.js +0 -3
  733. package/dist/pine-core/p-47670150.entry.js.map +0 -1
  734. package/dist/pine-core/p-4bbf3e31.entry.js +0 -2
  735. package/dist/pine-core/p-4bbf3e31.entry.js.map +0 -1
  736. package/dist/pine-core/p-4c81420c.entry.js +0 -2
  737. package/dist/pine-core/p-4c81420c.entry.js.map +0 -1
  738. package/dist/pine-core/p-503cab1f.entry.js +0 -2
  739. package/dist/pine-core/p-503cab1f.entry.js.map +0 -1
  740. package/dist/pine-core/p-50c9e865.entry.js +0 -2
  741. package/dist/pine-core/p-50c9e865.entry.js.map +0 -1
  742. package/dist/pine-core/p-5708f95a.entry.js +0 -2
  743. package/dist/pine-core/p-651861ff.entry.js +0 -2
  744. package/dist/pine-core/p-651861ff.entry.js.map +0 -1
  745. package/dist/pine-core/p-66b10d29.entry.js +0 -2
  746. package/dist/pine-core/p-6d4d4705.system.entry.js +0 -2
  747. package/dist/pine-core/p-6d4d4705.system.entry.js.map +0 -1
  748. package/dist/pine-core/p-6f4a6d0b.entry.js +0 -2
  749. package/dist/pine-core/p-6f4a6d0b.entry.js.map +0 -1
  750. package/dist/pine-core/p-7004d1ea.system.entry.js +0 -2
  751. package/dist/pine-core/p-71169b66.system.entry.js +0 -2
  752. package/dist/pine-core/p-71169b66.system.entry.js.map +0 -1
  753. package/dist/pine-core/p-73158adf.system.entry.js +0 -2
  754. package/dist/pine-core/p-73158adf.system.entry.js.map +0 -1
  755. package/dist/pine-core/p-77336705.entry.js +0 -2
  756. package/dist/pine-core/p-77336705.entry.js.map +0 -1
  757. package/dist/pine-core/p-7cb4f0de.entry.js +0 -2
  758. package/dist/pine-core/p-7cb4f0de.entry.js.map +0 -1
  759. package/dist/pine-core/p-84949a12.entry.js +0 -2
  760. package/dist/pine-core/p-84949a12.entry.js.map +0 -1
  761. package/dist/pine-core/p-8722865f.system.entry.js +0 -2
  762. package/dist/pine-core/p-8722865f.system.entry.js.map +0 -1
  763. package/dist/pine-core/p-8999b63d.system.entry.js +0 -2
  764. package/dist/pine-core/p-8999b63d.system.entry.js.map +0 -1
  765. package/dist/pine-core/p-8ab7f0d7.system.entry.js +0 -4
  766. package/dist/pine-core/p-8ab7f0d7.system.entry.js.map +0 -1
  767. package/dist/pine-core/p-8d7abc83.entry.js +0 -2
  768. package/dist/pine-core/p-8d7abc83.entry.js.map +0 -1
  769. package/dist/pine-core/p-92c52409.system.entry.js +0 -2
  770. package/dist/pine-core/p-92c52409.system.entry.js.map +0 -1
  771. package/dist/pine-core/p-98fe56d9.entry.js +0 -2
  772. package/dist/pine-core/p-98fe56d9.entry.js.map +0 -1
  773. package/dist/pine-core/p-BEn3hirk.system.js +0 -2
  774. package/dist/pine-core/p-BEn3hirk.system.js.map +0 -1
  775. package/dist/pine-core/p-BG7_qxVr.system.js +0 -2
  776. package/dist/pine-core/p-BG7_qxVr.system.js.map +0 -1
  777. package/dist/pine-core/p-BGbUqsWH.system.js +0 -2
  778. package/dist/pine-core/p-BGbUqsWH.system.js.map +0 -1
  779. package/dist/pine-core/p-BKFboaI5.system.js.map +0 -1
  780. package/dist/pine-core/p-BRygGju8.system.js.map +0 -1
  781. package/dist/pine-core/p-BVCWKPy3.js.map +0 -1
  782. package/dist/pine-core/p-BVKCNX0X.system.js.map +0 -1
  783. package/dist/pine-core/p-B_C-mRjx.system.js.map +0 -1
  784. package/dist/pine-core/p-C0zqu7Gr.system.js.map +0 -1
  785. package/dist/pine-core/p-CCQUgOoR.system.js.map +0 -1
  786. package/dist/pine-core/p-CJT--ZXC.system.js.map +0 -1
  787. package/dist/pine-core/p-CQ8f8GnD.system.js.map +0 -1
  788. package/dist/pine-core/p-CcXaBX2A.system.js.map +0 -1
  789. package/dist/pine-core/p-CgyVIfOY.system.js.map +0 -1
  790. package/dist/pine-core/p-Cmzqpibo.system.js.map +0 -1
  791. package/dist/pine-core/p-Co5XZmTN.system.js.map +0 -1
  792. package/dist/pine-core/p-CpdNWpfd.system.js.map +0 -1
  793. package/dist/pine-core/p-Czoq9yJM.system.js.map +0 -1
  794. package/dist/pine-core/p-D9_z2w3q.system.js.map +0 -1
  795. package/dist/pine-core/p-DHmJZxQk.system.js.map +0 -1
  796. package/dist/pine-core/p-DTL_39D_.js +0 -2
  797. package/dist/pine-core/p-DTL_39D_.js.map +0 -1
  798. package/dist/pine-core/p-DXuK7cEc.system.js.map +0 -1
  799. package/dist/pine-core/p-De9tROL-.system.js +0 -2
  800. package/dist/pine-core/p-DrJ5r5Pu.js +0 -2
  801. package/dist/pine-core/p-DrJ5r5Pu.js.map +0 -1
  802. package/dist/pine-core/p-IhWWc2L_.system.js.map +0 -1
  803. package/dist/pine-core/p-UsEwlBJ0.system.js.map +0 -1
  804. package/dist/pine-core/p-WkrM7Vv0.system.js.map +0 -1
  805. package/dist/pine-core/p-a04556e4.system.entry.js +0 -2
  806. package/dist/pine-core/p-a04556e4.system.entry.js.map +0 -1
  807. package/dist/pine-core/p-a54f1d9e.entry.js +0 -2
  808. package/dist/pine-core/p-a54f1d9e.entry.js.map +0 -1
  809. package/dist/pine-core/p-a9895385.system.entry.js +0 -2
  810. package/dist/pine-core/p-a9895385.system.entry.js.map +0 -1
  811. package/dist/pine-core/p-aa645f28.system.entry.js +0 -2
  812. package/dist/pine-core/p-aa645f28.system.entry.js.map +0 -1
  813. package/dist/pine-core/p-ac37cf0d.entry.js +0 -2
  814. package/dist/pine-core/p-ac37cf0d.entry.js.map +0 -1
  815. package/dist/pine-core/p-ba187a35.entry.js +0 -2
  816. package/dist/pine-core/p-ba187a35.entry.js.map +0 -1
  817. package/dist/pine-core/p-bb8ef74a.system.entry.js +0 -2
  818. package/dist/pine-core/p-be939cb0.entry.js +0 -2
  819. package/dist/pine-core/p-c0df3222.entry.js +0 -2
  820. package/dist/pine-core/p-c1099665.system.entry.js +0 -2
  821. package/dist/pine-core/p-c2ffb466.system.entry.js +0 -2
  822. package/dist/pine-core/p-cd785026.system.entry.js +0 -2
  823. package/dist/pine-core/p-d8d8fe07.system.entry.js +0 -2
  824. package/dist/pine-core/p-d8d8fe07.system.entry.js.map +0 -1
  825. package/dist/pine-core/p-da367b5e.system.entry.js +0 -2
  826. package/dist/pine-core/p-da367b5e.system.entry.js.map +0 -1
  827. package/dist/pine-core/p-dc19ce6c.system.entry.js +0 -2
  828. package/dist/pine-core/p-dc19ce6c.system.entry.js.map +0 -1
  829. package/dist/pine-core/p-deb8a499.system.entry.js +0 -2
  830. package/dist/pine-core/p-deb8a499.system.entry.js.map +0 -1
  831. package/dist/pine-core/p-e65a7d1c.system.entry.js +0 -2
  832. package/dist/pine-core/p-efa788ea.entry.js +0 -2
  833. package/dist/pine-core/p-f880adaa.entry.js +0 -2
  834. package/dist/pine-core/p-fd091234.system.entry.js +0 -2
  835. package/dist/pine-core/p-fd091234.system.entry.js.map +0 -1
  836. package/dist/pine-core/p-m6UZWRsP.system.js.map +0 -1
  837. package/dist/pine-core/p-pQqXEKPh.system.js.map +0 -1
  838. /package/dist/pine-core/{p-66b10d29.entry.js.map → p-07e129db.entry.js.map} +0 -0
  839. /package/dist/pine-core/{p-540cfd70.entry.js.map → p-1009009c.entry.js.map} +0 -0
  840. /package/dist/pine-core/{p-349a8869.entry.js.map → p-100de2b7.entry.js.map} +0 -0
  841. /package/dist/pine-core/{p-e2887e78.entry.js.map → p-1b9d4482.entry.js.map} +0 -0
  842. /package/dist/pine-core/{p-dfc5ab34.system.entry.js.map → p-2054b5cb.system.entry.js.map} +0 -0
  843. /package/dist/pine-core/{p-8726c99d.system.entry.js.map → p-2597bc59.system.entry.js.map} +0 -0
  844. /package/dist/pine-core/{p-5a709348.entry.js.map → p-25cb810d.entry.js.map} +0 -0
  845. /package/dist/pine-core/{p-a1b51557.system.entry.js.map → p-25cf2860.system.entry.js.map} +0 -0
  846. /package/dist/pine-core/{p-54183d70.system.entry.js.map → p-2aab28b1.system.entry.js.map} +0 -0
  847. /package/dist/pine-core/{p-c2ffb466.system.entry.js.map → p-2b12bc55.system.entry.js.map} +0 -0
  848. /package/dist/pine-core/{p-cd785026.system.entry.js.map → p-2efc646c.system.entry.js.map} +0 -0
  849. /package/dist/pine-core/{p-ecb9edf8.entry.js.map → p-2fb6f9d5.entry.js.map} +0 -0
  850. /package/dist/pine-core/{p-efa788ea.entry.js.map → p-2fd7f74e.entry.js.map} +0 -0
  851. /package/dist/pine-core/{p-39488f2c.system.entry.js.map → p-302849cf.system.entry.js.map} +0 -0
  852. /package/dist/pine-core/{p-51d83489.system.entry.js.map → p-307f415a.system.entry.js.map} +0 -0
  853. /package/dist/pine-core/{p-bb8ef74a.system.entry.js.map → p-378df5eb.system.entry.js.map} +0 -0
  854. /package/dist/pine-core/{p-e08f492a.entry.js.map → p-39648ce2.entry.js.map} +0 -0
  855. /package/dist/pine-core/{p-5f5b19f4.entry.js.map → p-41e2fe3a.entry.js.map} +0 -0
  856. /package/dist/pine-core/{p-7004d1ea.system.entry.js.map → p-449ebe39.system.entry.js.map} +0 -0
  857. /package/dist/pine-core/{p-c13ef6a7.system.entry.js.map → p-55d06d0a.system.entry.js.map} +0 -0
  858. /package/dist/pine-core/{p-075eecf9.entry.js.map → p-5ac7af9e.entry.js.map} +0 -0
  859. /package/dist/pine-core/{p-b2b1b7a9.system.entry.js.map → p-73a2e028.system.entry.js.map} +0 -0
  860. /package/dist/pine-core/{p-be939cb0.entry.js.map → p-786967e8.entry.js.map} +0 -0
  861. /package/dist/pine-core/{p-e65a7d1c.system.entry.js.map → p-875d5d5a.system.entry.js.map} +0 -0
  862. /package/dist/pine-core/{p-c8122bea.entry.js.map → p-88773b86.entry.js.map} +0 -0
  863. /package/dist/pine-core/{p-e89cb1f2.system.entry.js.map → p-8f69dd71.system.entry.js.map} +0 -0
  864. /package/dist/pine-core/{p-72053224.entry.js.map → p-a2cb65df.entry.js.map} +0 -0
  865. /package/dist/pine-core/{p-52d37cc1.entry.js.map → p-a3785977.entry.js.map} +0 -0
  866. /package/dist/pine-core/{p-f880adaa.entry.js.map → p-a645818a.entry.js.map} +0 -0
  867. /package/dist/pine-core/{p-f583e5d4.entry.js.map → p-a9cfaa1f.entry.js.map} +0 -0
  868. /package/dist/pine-core/{p-5708f95a.entry.js.map → p-b669e1d9.entry.js.map} +0 -0
  869. /package/dist/pine-core/{p-52cb152b.system.entry.js.map → p-bc2fecd4.system.entry.js.map} +0 -0
  870. /package/dist/pine-core/{p-e3fb0bc2.system.entry.js.map → p-bc637bed.system.entry.js.map} +0 -0
  871. /package/dist/pine-core/{p-b6ea3332.entry.js.map → p-be5ef841.entry.js.map} +0 -0
  872. /package/dist/pine-core/{p-fcb39155.system.entry.js.map → p-c3f84df8.system.entry.js.map} +0 -0
  873. /package/dist/pine-core/{p-232a2043.entry.js.map → p-c44d3551.entry.js.map} +0 -0
  874. /package/dist/pine-core/{p-e8d76117.entry.js.map → p-c55fc47e.entry.js.map} +0 -0
  875. /package/dist/pine-core/{p-5e8badb9.entry.js.map → p-d1b27fa4.entry.js.map} +0 -0
  876. /package/dist/pine-core/{p-5da82e8c.system.entry.js.map → p-dace69e7.system.entry.js.map} +0 -0
  877. /package/dist/pine-core/{p-c1099665.system.entry.js.map → p-db12273e.system.entry.js.map} +0 -0
  878. /package/dist/pine-core/{p-f55b9f90.system.entry.js.map → p-e702a8dc.system.entry.js.map} +0 -0
  879. /package/dist/pine-core/{p-6db1e029.system.entry.js.map → p-ee583234.system.entry.js.map} +0 -0
  880. /package/dist/pine-core/{p-0066d249.entry.js.map → p-f5d78141.entry.js.map} +0 -0
  881. /package/dist/pine-core/{p-52af1890.system.entry.js.map → p-f911dde3.system.entry.js.map} +0 -0
@@ -45,7 +45,7 @@ export class PdsCombobox {
45
45
  */
46
46
  this.mode = 'filter';
47
47
  /**
48
- * Determines the combobox trigger: 'input' (editable input) or 'button' (button-like, non-editable).
48
+ * Determines the combobox trigger: 'input' (editable input), 'button' (button-like, non-editable), or 'chip' (chip-like, non-editable).
49
49
  * @default 'input'
50
50
  */
51
51
  this.trigger = 'input';
@@ -59,14 +59,33 @@ export class PdsCombobox {
59
59
  * @default 'secondary'
60
60
  */
61
61
  this.triggerVariant = 'secondary';
62
+ /**
63
+ * The sentiment for the chip trigger. Matches Pine chip sentiments.
64
+ * @default 'neutral'
65
+ */
66
+ this.chipSentiment = 'neutral';
67
+ /**
68
+ * Whether the chip trigger should be displayed in a larger size.
69
+ * @default false
70
+ */
71
+ this.chipLarge = false;
72
+ /**
73
+ * Whether a dot should be displayed on the chip trigger.
74
+ * @default false
75
+ */
76
+ this.chipDot = false;
62
77
  /**
63
78
  * The value of the combobox input.
64
79
  */
65
80
  this.value = '';
66
81
  /**
67
- * Internal state for filtered options
82
+ * Internal state for the display text shown in the input/trigger
83
+ */
84
+ this.displayText = '';
85
+ /**
86
+ * Internal state for filtered options and group labels
68
87
  */
69
- this.filteredOptions = [];
88
+ this.filteredItems = [];
70
89
  /**
71
90
  * Internal state for the currently highlighted option index
72
91
  */
@@ -83,45 +102,143 @@ export class PdsCombobox {
83
102
  * Internal state for the sanitized layout content of the selected option
84
103
  */
85
104
  this.selectedOptionLayoutContent = '';
105
+ /**
106
+ * Internal state to track chip properties for automatic rendering
107
+ */
108
+ this.selectedOptionChipProps = null;
86
109
  this.optionEls = [];
110
+ this.allItems = [];
111
+ this.isUpdatingFromSelection = false;
87
112
  this.handleInput = (e) => {
88
113
  const target = e.target;
89
- this.value = target.value;
114
+ this.displayText = target.value;
90
115
  this.isOpen = true;
91
116
  this.filterOptions();
92
117
  setTimeout(() => this.openDropdownPositioning(), 0);
93
118
  };
94
- this.handleFocus = () => {
95
- this.isOpen = true;
96
- this.filterOptions();
97
- setTimeout(() => this.openDropdownPositioning(), 0);
119
+ this.handleInputClick = () => {
120
+ // Open dropdown when input is clicked (but not when tabbed into)
121
+ if (!this.isOpen) {
122
+ this.isOpen = true;
123
+ this.filterOptions();
124
+ this.setInitialHighlightedIndex();
125
+ setTimeout(() => this.openDropdownPositioning(), 0);
126
+ }
98
127
  };
99
128
  this.handleKeyDown = (e) => {
100
- if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
129
+ if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp' || (e.altKey && e.key === 'ArrowDown'))) {
130
+ e.preventDefault();
101
131
  this.isOpen = true;
132
+ this.filterOptions();
133
+ // Set highlighted index immediately for testing
134
+ this.setInitialHighlightedIndex();
135
+ setTimeout(() => {
136
+ this.openDropdownPositioning();
137
+ // For input trigger, keep focus on input and use aria-activedescendant
138
+ // For button trigger, move focus to first option for keyboard navigation
139
+ if (this.trigger === 'input') {
140
+ this.focusFirstOption();
141
+ }
142
+ else {
143
+ this.focusFirstOptionForArrowKeys();
144
+ }
145
+ }, 0);
146
+ return;
147
+ }
148
+ if (!this.isOpen) {
102
149
  return;
103
150
  }
151
+ // Get only the option elements (skip group labels) for navigation
152
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
104
153
  switch (e.key) {
105
154
  case 'ArrowDown':
106
- this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.filteredOptions.length - 1);
155
+ e.preventDefault();
156
+ // If no option is highlighted and we have options, start at 0
157
+ if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
158
+ this.highlightedIndex = 0;
159
+ }
160
+ else {
161
+ this.highlightedIndex = Math.min(this.highlightedIndex + 1, selectableOptions.length - 1);
162
+ }
163
+ this.updateOptionFocus();
107
164
  break;
108
165
  case 'ArrowUp':
109
- this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
166
+ e.preventDefault();
167
+ // If no option is highlighted and we have options, start at last option
168
+ if (this.highlightedIndex < 0 && selectableOptions.length > 0) {
169
+ this.highlightedIndex = selectableOptions.length - 1;
170
+ }
171
+ else {
172
+ this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
173
+ }
174
+ this.updateOptionFocus();
175
+ break;
176
+ case 'Home':
177
+ e.preventDefault();
178
+ if (selectableOptions.length > 0) {
179
+ this.highlightedIndex = 0;
180
+ this.updateOptionFocus();
181
+ }
182
+ break;
183
+ case 'End':
184
+ e.preventDefault();
185
+ if (selectableOptions.length > 0) {
186
+ this.highlightedIndex = selectableOptions.length - 1;
187
+ this.updateOptionFocus();
188
+ }
189
+ break;
190
+ case 'PageDown':
191
+ e.preventDefault();
192
+ if (selectableOptions.length > 0) {
193
+ const nextIndex = Math.min(this.highlightedIndex + 10, selectableOptions.length - 1);
194
+ this.highlightedIndex = nextIndex;
195
+ this.updateOptionFocus();
196
+ }
197
+ break;
198
+ case 'PageUp':
199
+ e.preventDefault();
200
+ if (selectableOptions.length > 0) {
201
+ const prevIndex = Math.max(this.highlightedIndex - 10, 0);
202
+ this.highlightedIndex = prevIndex;
203
+ this.updateOptionFocus();
204
+ }
110
205
  break;
111
206
  case 'Enter':
112
- if (this.isOpen && this.highlightedIndex >= 0 && this.highlightedIndex < this.filteredOptions.length) {
113
- this.handleOptionClick(this.filteredOptions[this.highlightedIndex]);
207
+ e.preventDefault();
208
+ if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
209
+ this.handleOptionClick(selectableOptions[this.highlightedIndex]);
210
+ this.restoreFocusToTrigger();
211
+ }
212
+ break;
213
+ case ' ':
214
+ e.preventDefault();
215
+ if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {
216
+ this.handleOptionClick(selectableOptions[this.highlightedIndex]);
217
+ this.restoreFocusToTrigger();
114
218
  }
115
219
  break;
116
220
  case 'Escape':
221
+ e.preventDefault();
117
222
  this.isOpen = false;
223
+ this.highlightedIndex = -1;
224
+ this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
225
+ this.restoreFocusToTrigger();
226
+ break;
227
+ case 'Tab':
228
+ // Allow normal tab behavior to close dropdown and move focus
229
+ this.isOpen = false;
230
+ this.highlightedIndex = -1;
231
+ this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
118
232
  break;
119
233
  }
120
234
  };
235
+ // Track if we're in arrow-key navigation mode (focus should move between options)
236
+ this.isArrowKeyNavigationMode = false;
121
237
  // Event handler for option click
122
238
  this.onOptionClick = (event) => {
123
239
  const idx = Number(event.currentTarget.getAttribute('data-option-index'));
124
- const option = this.filteredOptions[idx];
240
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
241
+ const option = selectableOptions[idx];
125
242
  this.handleOptionClick(option);
126
243
  };
127
244
  // Event handler for mouse enter on option
@@ -133,58 +250,233 @@ export class PdsCombobox {
133
250
  this.onOptionMouseDown = (event) => {
134
251
  event.preventDefault();
135
252
  };
253
+ // Event handler for option keyboard events
254
+ this.onOptionKeyDown = (event) => {
255
+ // Delegate to main keyboard handler
256
+ this.handleKeyDown(event);
257
+ };
136
258
  // Handler for button trigger click
137
259
  this.onButtonTriggerClick = () => {
138
260
  this.isOpen = !this.isOpen;
139
- if (this.isOpen)
261
+ if (this.isOpen) {
262
+ this.filterOptions();
263
+ // Set highlighted index and prepare for keyboard navigation
264
+ this.setInitialHighlightedIndex();
265
+ // For button trigger, prepare for arrow-key navigation mode
266
+ this.isArrowKeyNavigationMode = true;
140
267
  setTimeout(() => this.openDropdownPositioning(), 0);
268
+ }
269
+ else {
270
+ // Reset navigation mode when closing
271
+ this.isArrowKeyNavigationMode = false;
272
+ }
141
273
  };
142
274
  // Handler for button trigger keyboard events
143
275
  this.onButtonTriggerKeyDown = (e) => {
144
- if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
276
+ if ((e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown' || e.key === 'ArrowUp') && !this.isOpen) {
145
277
  e.preventDefault();
278
+ e.stopPropagation(); // Prevent the event from bubbling and triggering click
146
279
  this.isOpen = true;
147
- this.highlightedIndex = 0;
148
- setTimeout(() => this.openDropdownPositioning(), 0);
280
+ this.filterOptions();
281
+ // Set highlighted index immediately
282
+ this.setInitialHighlightedIndex();
283
+ setTimeout(() => {
284
+ this.openDropdownPositioning();
285
+ // For all button trigger keyboard opening, focus the first option so subsequent navigation works
286
+ this.focusFirstOptionForArrowKeys();
287
+ }, 0);
149
288
  }
150
289
  else if (e.key === 'Escape') {
151
- this.isOpen = false;
290
+ e.preventDefault();
291
+ if (this.isOpen) {
292
+ this.isOpen = false;
293
+ this.highlightedIndex = -1;
294
+ this.updateAriaActiveDescendant(); // Clear aria-activedescendant
295
+ this.restoreFocusToTrigger();
296
+ }
297
+ }
298
+ else if (this.isOpen) {
299
+ // Delegate other keys to main keyboard handler when dropdown is open
300
+ this.handleKeyDown(e);
301
+ }
302
+ };
303
+ // Handler for button trigger keyup events - prevents space key from triggering synthetic click
304
+ this.onButtonTriggerKeyUp = (e) => {
305
+ if (e.key === ' ') {
306
+ e.preventDefault();
307
+ e.stopPropagation();
152
308
  }
153
309
  };
154
310
  // Close dropdown when focus leaves the combobox
155
311
  this.onComboboxFocusOut = (event) => {
312
+ var _a;
156
313
  const relatedTarget = event.relatedTarget;
157
- if (!this.el.contains(relatedTarget)) {
314
+ // Check if the related target is within our shadow DOM (listbox options)
315
+ const isRelatedTargetInListbox = relatedTarget && ((_a = this.listboxEl) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget));
316
+ const isRelatedTargetInCombobox = this.el.contains(relatedTarget);
317
+ // Don't close if focus is moving to an option in the listbox or staying within the combobox
318
+ if (!isRelatedTargetInCombobox && !isRelatedTargetInListbox) {
158
319
  this.isOpen = false;
159
- // If there's a selected option but the input value doesn't match, restore the selected option's value
160
- if (this.selectedOption && this.value !== this.getOptionLabel(this.selectedOption)) {
161
- this.value = this.getOptionLabel(this.selectedOption);
320
+ this.highlightedIndex = -1;
321
+ this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode
322
+ this.updateAriaActiveDescendant(); // Clear aria-activedescendant
323
+ // If there's a selected option but the display text doesn't match, restore the selected option's display text
324
+ if (this.selectedOption && this.displayText !== this.getOptionLabel(this.selectedOption)) {
325
+ this.displayText = this.getOptionLabel(this.selectedOption);
326
+ // The @Watch('selectedOption') will handle value and form internals if needed
162
327
  }
163
328
  }
164
329
  };
165
330
  }
331
+ connectedCallback() {
332
+ // Initialize ElementInternals for form association
333
+ if (this.el.attachInternals) {
334
+ this.internals = this.el.attachInternals();
335
+ }
336
+ }
166
337
  componentWillLoad() {
167
338
  this.updateOptions();
168
339
  }
340
+ componentDidLoad() {
341
+ var _a, _b, _c;
342
+ // Check for value-based preselection if no option is selected yet
343
+ if (!this.selectedOption && this.value && this.optionEls.length > 0) {
344
+ const matchingOption = this.optionEls.find(opt => opt.value === this.value);
345
+ if (matchingOption) {
346
+ this.setSelectedOption(matchingOption);
347
+ // Update the display text to show the option's text content
348
+ this.displayText = this.getOptionLabel(matchingOption);
349
+ // Keep this.value as the actual option value
350
+ // this.value remains unchanged (already matches matchingOption.value)
351
+ }
352
+ }
353
+ // Initialize form value with current value
354
+ if (this.internals) {
355
+ try {
356
+ this.internals.setFormValue((_c = (_b = (_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.value) !== null && _c !== void 0 ? _c : '');
357
+ }
358
+ catch (e) {
359
+ // ElementInternals.setFormValue not available in unit tests
360
+ }
361
+ }
362
+ }
169
363
  handleValueChange() {
170
364
  this.filterOptions();
365
+ // Sync with form internals for form association
366
+ if (this.internals) {
367
+ try {
368
+ this.internals.setFormValue(this.value);
369
+ }
370
+ catch (e) {
371
+ // ElementInternals.setFormValue not available in unit tests
372
+ }
373
+ }
374
+ // Find and select option that matches the value (for external value changes)
375
+ // Only do this if we're not already updating from a selection
376
+ if (!this.isUpdatingFromSelection && this.value && this.optionEls.length > 0) {
377
+ const currentSelectedValue = this.selectedOption ? this.selectedOption.value : null;
378
+ // If the value doesn't match the currently selected option's value, we need to update
379
+ if (this.value !== currentSelectedValue) {
380
+ const matchingOption = this.optionEls.find(opt => opt.value === this.value);
381
+ if (matchingOption) {
382
+ this.isUpdatingFromSelection = true;
383
+ this.setSelectedOption(matchingOption);
384
+ // Update the display text to show the option's text content
385
+ this.displayText = this.getOptionLabel(matchingOption);
386
+ // Keep this.value as the actual option value (already correct)
387
+ this.isUpdatingFromSelection = false;
388
+ }
389
+ }
390
+ }
171
391
  }
172
392
  handleSelectedOptionChange() {
173
393
  // Update the layout content when selected option changes
174
394
  this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)
175
395
  ? this.getOptionLayoutContent(this.selectedOption)
176
396
  : '';
397
+ // Update chip properties for automatic rendering when selected option changes
398
+ this.selectedOptionChipProps = this.selectedOption && this.isOptionChip(this.selectedOption)
399
+ ? this.getOptionChipProps(this.selectedOption)
400
+ : null;
401
+ // Update display text when selected option changes
402
+ if (this.selectedOption) {
403
+ this.displayText = this.getOptionLabel(this.selectedOption);
404
+ this.value = this.selectedOption.value;
405
+ // Update form internals with the actual option value
406
+ if (this.internals) {
407
+ try {
408
+ this.internals.setFormValue(this.selectedOption.value);
409
+ }
410
+ catch (e) {
411
+ // ElementInternals.setFormValue not available in unit tests
412
+ }
413
+ }
414
+ }
415
+ else {
416
+ this.displayText = '';
417
+ this.value = '';
418
+ if (this.internals) {
419
+ try {
420
+ this.internals.setFormValue('');
421
+ }
422
+ catch (e) {
423
+ // ElementInternals.setFormValue not available in unit tests
424
+ }
425
+ }
426
+ }
177
427
  }
178
428
  updateOptions() {
179
429
  var _a;
180
- // Get all <option> elements from the slot
430
+ // Get all elements from the slot
181
431
  const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
182
432
  if (slot) {
183
- this.optionEls = slot.assignedElements({ flatten: true })
184
- .filter(el => el.tagName === 'OPTION');
185
- // Set initial selected option if one exists (only check DOM on initialization)
186
- if (!this.selectedOption) {
187
- const initialSelected = this.optionEls.find(opt => opt.hasAttribute('selected')) || null;
433
+ const allElements = slot.assignedElements({ flatten: true });
434
+ // Separate options from group labels and flatten optgroups
435
+ this.allItems = [];
436
+ this.optionEls = [];
437
+ allElements.forEach(el => {
438
+ if (el.tagName === 'OPTION') {
439
+ this.optionEls.push(el);
440
+ this.allItems.push(el);
441
+ }
442
+ else if (el.tagName === 'OPTGROUP') {
443
+ const optgroup = el;
444
+ this.allItems.push(optgroup);
445
+ // Add optgroup children (options)
446
+ Array.from(optgroup.children).forEach(child => {
447
+ if (child.tagName === 'OPTION') {
448
+ this.optionEls.push(child);
449
+ this.allItems.push(child);
450
+ }
451
+ });
452
+ }
453
+ else if (el.tagName === 'PDS-TEXT') {
454
+ this.allItems.push(el);
455
+ }
456
+ });
457
+ // Set initial selected option based on value property
458
+ let initialSelected = null;
459
+ // Check if value property matches any option
460
+ if (this.value) {
461
+ initialSelected = this.optionEls.find(opt => opt.value === this.value) || null;
462
+ if (initialSelected) {
463
+ // Update the display text to show the option's text content
464
+ this.displayText = this.getOptionLabel(initialSelected);
465
+ // Keep this.value as the actual option value (already correct)
466
+ }
467
+ }
468
+ // For chip triggers, ensure we always have a selected option
469
+ if (!initialSelected && this.trigger === 'chip' && this.optionEls.length > 0) {
470
+ initialSelected = this.optionEls[0]; // Select first option as default
471
+ this.value = initialSelected.value;
472
+ this.displayText = this.getOptionLabel(initialSelected);
473
+ console.warn('PDS Combobox: Chip triggers should always have a selected option. Automatically selected the first option.');
474
+ }
475
+ // Update selection if we found a different selected option or if we don't have one
476
+ if (initialSelected && initialSelected !== this.selectedOption) {
477
+ this.setSelectedOption(initialSelected);
478
+ }
479
+ else if (!this.selectedOption && initialSelected) {
188
480
  this.setSelectedOption(initialSelected);
189
481
  }
190
482
  this.filterOptions();
@@ -234,6 +526,22 @@ export class PdsCombobox {
234
526
  isOptionLayout(option) {
235
527
  return this.customOptionLayouts && option.hasAttribute('data-layout');
236
528
  }
529
+ // Helper method to check if option has chip attributes (new automatic approach)
530
+ isOptionChip(option) {
531
+ return option.hasAttribute('chip-sentiment') ||
532
+ option.hasAttribute('chip-large') ||
533
+ option.hasAttribute('chip-icon') ||
534
+ option.hasAttribute('chip-dot');
535
+ }
536
+ // Helper method to get chip properties from option attributes
537
+ getOptionChipProps(option) {
538
+ return {
539
+ sentiment: option.getAttribute('chip-sentiment') || 'neutral',
540
+ large: option.hasAttribute('chip-large'),
541
+ icon: option.getAttribute('chip-icon') || undefined,
542
+ dot: option.hasAttribute('chip-dot')
543
+ };
544
+ }
237
545
  // Helper method to check if option is selected (single source of truth)
238
546
  isOptionSelected(option) {
239
547
  return this.selectedOption === option;
@@ -241,14 +549,25 @@ export class PdsCombobox {
241
549
  // Helper method to set selected option (centralized state management)
242
550
  setSelectedOption(option) {
243
551
  this.selectedOption = option;
552
+ // Immediately update chip properties for automatic rendering to ensure reactivity
553
+ if (option && this.isOptionChip(option)) {
554
+ this.selectedOptionChipProps = this.getOptionChipProps(option);
555
+ }
556
+ else {
557
+ this.selectedOptionChipProps = null;
558
+ }
244
559
  }
245
560
  filterOptions() {
561
+ // Ensure allItems includes optionEls if not already populated (for edge cases)
562
+ if (this.allItems.length === 0 && this.optionEls.length > 0) {
563
+ this.allItems = [...this.optionEls];
564
+ }
246
565
  if (this.mode === 'select-only') {
247
- this.filteredOptions = this.optionEls;
566
+ this.filteredItems = [...this.allItems];
248
567
  }
249
568
  else {
250
- const val = this.value.toLowerCase();
251
- this.filteredOptions = this.optionEls.filter(option => {
569
+ const val = this.displayText.toLowerCase();
570
+ const filteredOptions = this.optionEls.filter(option => {
252
571
  // For layout options, search both text content and data-search-text attribute
253
572
  if (this.isOptionLayout(option)) {
254
573
  const searchText = option.getAttribute('data-search-text') || option.textContent || '';
@@ -256,6 +575,31 @@ export class PdsCombobox {
256
575
  }
257
576
  return this.getOptionLabel(option).toLowerCase().includes(val);
258
577
  });
578
+ // Rebuild filtered items maintaining group structure - simplified approach
579
+ this.filteredItems = [];
580
+ let currentGroupLabel = null;
581
+ this.allItems.forEach(item => {
582
+ if (item.tagName === 'OPTGROUP' || item.tagName === 'PDS-TEXT') {
583
+ currentGroupLabel = item;
584
+ }
585
+ else if (item.tagName === 'OPTION' && filteredOptions.includes(item)) {
586
+ const optionEl = item;
587
+ const parent = optionEl.parentElement;
588
+ let labelToUse = null;
589
+ if (parent && parent.tagName === 'OPTGROUP') {
590
+ // Only use the actual parent optgroup as label
591
+ labelToUse = parent;
592
+ }
593
+ else if (currentGroupLabel && currentGroupLabel.tagName === 'PDS-TEXT') {
594
+ // Allow pds-text to label subsequent top-level options until another label appears
595
+ labelToUse = currentGroupLabel;
596
+ }
597
+ if (labelToUse && !this.filteredItems.includes(labelToUse)) {
598
+ this.filteredItems.push(labelToUse);
599
+ }
600
+ this.filteredItems.push(optionEl);
601
+ }
602
+ });
259
603
  }
260
604
  this.highlightedIndex = -1;
261
605
  }
@@ -278,7 +622,7 @@ export class PdsCombobox {
278
622
  left: `${x}px`,
279
623
  top: `${y}px`,
280
624
  position: 'absolute',
281
- zIndex: 1000,
625
+ zIndex: 'var(--pine-z-index-raised)',
282
626
  });
283
627
  });
284
628
  }
@@ -288,7 +632,130 @@ export class PdsCombobox {
288
632
  */
289
633
  async setFocus() {
290
634
  var _a;
291
- (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
635
+ if (this.inputEl) {
636
+ this.inputEl.focus();
637
+ }
638
+ else {
639
+ (_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.focus();
640
+ }
641
+ }
642
+ /**
643
+ * Sets the initial highlighted index when dropdown opens.
644
+ * If there's a selected option, highlight it. Otherwise, highlight the first option.
645
+ */
646
+ setInitialHighlightedIndex() {
647
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
648
+ if (selectableOptions.length === 0) {
649
+ this.highlightedIndex = -1;
650
+ return;
651
+ }
652
+ // If there's a selected option, find its index in the filtered options
653
+ if (this.selectedOption) {
654
+ const selectedIndex = selectableOptions.findIndex(option => option === this.selectedOption);
655
+ if (selectedIndex >= 0) {
656
+ this.highlightedIndex = selectedIndex;
657
+ return;
658
+ }
659
+ }
660
+ // No selected option or selected option not in filtered results, highlight first option
661
+ this.highlightedIndex = 0;
662
+ }
663
+ /**
664
+ * Focus management helper - moves focus to the first option when dropdown opens
665
+ */
666
+ focusFirstOption() {
667
+ if (this.isOpen) {
668
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
669
+ if (selectableOptions.length > 0) {
670
+ this.setInitialHighlightedIndex();
671
+ // DON'T focus the option elements - keep focus on trigger and use aria-activedescendant
672
+ // This prevents the focusout event that was closing the dropdown
673
+ // But still call updateOptionFocus for scrolling
674
+ if (this.listboxEl) {
675
+ this.updateOptionFocus();
676
+ }
677
+ }
678
+ }
679
+ }
680
+ /**
681
+ * Focus management helper - actually focuses the first option when opened via arrow keys
682
+ */
683
+ focusFirstOptionForArrowKeys() {
684
+ if (this.isOpen) {
685
+ // Set arrow-key navigation mode
686
+ this.isArrowKeyNavigationMode = true;
687
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
688
+ if (selectableOptions.length > 0) {
689
+ this.setInitialHighlightedIndex();
690
+ // For arrow key navigation, actually focus the highlighted option
691
+ if (this.listboxEl) {
692
+ const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
693
+ const highlightedOption = optionElements[this.highlightedIndex];
694
+ if (highlightedOption) {
695
+ // Remove tabindex from all options first
696
+ optionElements.forEach(option => {
697
+ option.setAttribute('tabindex', '-1');
698
+ });
699
+ // Set tabindex and focus on highlighted option
700
+ highlightedOption.setAttribute('tabindex', '0');
701
+ highlightedOption.focus();
702
+ highlightedOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
703
+ }
704
+ }
705
+ // Update aria-activedescendant on trigger
706
+ this.updateAriaActiveDescendant();
707
+ }
708
+ }
709
+ }
710
+ /**
711
+ * Focus management helper - updates visual state and scrolling for the currently highlighted option
712
+ * Note: We don't actually focus the option to prevent focusout events that close the dropdown
713
+ */
714
+ updateOptionFocus() {
715
+ if (!this.listboxEl || this.highlightedIndex < 0)
716
+ return;
717
+ const optionElements = this.listboxEl.querySelectorAll('[role="option"]');
718
+ const currentOption = optionElements[this.highlightedIndex];
719
+ if (currentOption) {
720
+ // Check if any option currently has focus OR if we're in arrow-key navigation mode
721
+ const hasOptionFocus = Array.from(optionElements).some(el => el === document.activeElement);
722
+ if (hasOptionFocus || this.isArrowKeyNavigationMode) {
723
+ // We're in arrow-key navigation mode, so actually move focus between options
724
+ optionElements.forEach(option => {
725
+ option.setAttribute('tabindex', '-1');
726
+ });
727
+ currentOption.setAttribute('tabindex', '0');
728
+ currentOption.focus();
729
+ }
730
+ // Always scroll the option into view
731
+ currentOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
732
+ }
733
+ // Always update aria-activedescendant on the trigger element
734
+ this.updateAriaActiveDescendant();
735
+ }
736
+ /**
737
+ * Updates aria-activedescendant on the trigger element
738
+ */
739
+ updateAriaActiveDescendant() {
740
+ if (this.triggerEl && this.highlightedIndex >= 0) {
741
+ this.triggerEl.setAttribute('aria-activedescendant', `pds-combobox-option-${this.highlightedIndex}`);
742
+ }
743
+ else if (this.triggerEl) {
744
+ this.triggerEl.removeAttribute('aria-activedescendant');
745
+ }
746
+ }
747
+ /**
748
+ * Focus management helper - restores focus to the trigger element
749
+ */
750
+ restoreFocusToTrigger() {
751
+ setTimeout(() => {
752
+ if (this.inputEl) {
753
+ this.inputEl.focus();
754
+ }
755
+ else if (this.triggerEl) {
756
+ this.triggerEl.focus();
757
+ }
758
+ }, 0);
292
759
  }
293
760
  /**
294
761
  * Gets the value of the currently selected option.
@@ -298,7 +765,7 @@ export class PdsCombobox {
298
765
  }
299
766
  // Get the label of the selected option
300
767
  get selectedLabel() {
301
- return this.selectedOption ? this.getOptionLabel(this.selectedOption) : '';
768
+ return this.displayText || '';
302
769
  }
303
770
  // Get the layout content of the selected option for button trigger
304
771
  get selectedLayoutContent() {
@@ -308,30 +775,148 @@ export class PdsCombobox {
308
775
  get selectedHasLayout() {
309
776
  return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;
310
777
  }
778
+ // Extract chip sentiment from selected option's attributes, layout content, or slotted trigger content
779
+ get selectedChipSentiment() {
780
+ // First priority: Check selected option's chip attributes (new automatic approach)
781
+ if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
782
+ const sentiment = this.selectedOption.getAttribute('chip-sentiment');
783
+ if (sentiment)
784
+ return sentiment;
785
+ }
786
+ // Second priority: Check selected option's layout content (existing custom layout approach)
787
+ if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
788
+ const chipElement = this.selectedOption.querySelector('pds-chip');
789
+ const sentiment = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('sentiment');
790
+ if (sentiment)
791
+ return sentiment;
792
+ }
793
+ // Third priority: Check if we have custom trigger content with a chip (initial state)
794
+ if (this.customTriggerContent) {
795
+ const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
796
+ if (slottedChip) {
797
+ const sentiment = slottedChip.getAttribute('sentiment');
798
+ if (sentiment)
799
+ return sentiment;
800
+ }
801
+ }
802
+ // Fallback: Use component props
803
+ return this.chipSentiment;
804
+ }
805
+ // Extract chip large from selected option's attributes, layout content, or slotted trigger content
806
+ get selectedChipLarge() {
807
+ // First priority: Check selected option's chip attributes (new automatic approach)
808
+ if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
809
+ if (this.selectedOption.hasAttribute('chip-large'))
810
+ return true;
811
+ }
812
+ // Second priority: Check selected option's layout content (existing custom layout approach)
813
+ if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
814
+ const chipElement = this.selectedOption.querySelector('pds-chip');
815
+ if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('large'))
816
+ return true;
817
+ }
818
+ // Third priority: Check if we have custom trigger content with a chip (initial state)
819
+ if (this.customTriggerContent) {
820
+ const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
821
+ if (slottedChip && slottedChip.hasAttribute('large')) {
822
+ return true;
823
+ }
824
+ }
825
+ // Fallback: Use component props
826
+ return this.chipLarge;
827
+ }
828
+ // Extract chip icon from selected option's attributes, layout content, or slotted trigger content
829
+ get selectedChipIcon() {
830
+ // First priority: Check selected option's chip attributes (new automatic approach)
831
+ if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
832
+ const icon = this.selectedOption.getAttribute('chip-icon');
833
+ if (icon)
834
+ return icon;
835
+ }
836
+ // Second priority: Check selected option's layout content (existing custom layout approach)
837
+ if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
838
+ const chipElement = this.selectedOption.querySelector('pds-chip');
839
+ const icon = chipElement === null || chipElement === void 0 ? void 0 : chipElement.getAttribute('icon');
840
+ if (icon)
841
+ return icon;
842
+ }
843
+ // Third priority: Check if we have custom trigger content with a chip (initial state)
844
+ if (this.customTriggerContent) {
845
+ const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
846
+ if (slottedChip) {
847
+ const icon = slottedChip.getAttribute('icon');
848
+ if (icon)
849
+ return icon;
850
+ }
851
+ }
852
+ // Fallback: Use component props
853
+ return this.chipIcon;
854
+ }
855
+ // Extract chip dot from selected option's attributes, layout content, or slotted trigger content
856
+ get selectedChipDot() {
857
+ // First priority: Check selected option's chip attributes (new automatic approach)
858
+ if (this.selectedOption && this.isOptionChip(this.selectedOption)) {
859
+ if (this.selectedOption.hasAttribute('chip-dot'))
860
+ return true;
861
+ }
862
+ // Second priority: Check selected option's layout content (existing custom layout approach)
863
+ if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {
864
+ const chipElement = this.selectedOption.querySelector('pds-chip');
865
+ if (chipElement === null || chipElement === void 0 ? void 0 : chipElement.hasAttribute('dot'))
866
+ return true;
867
+ }
868
+ // Third priority: Check if we have custom trigger content with a chip (initial state)
869
+ if (this.customTriggerContent) {
870
+ const slottedChip = this.el.querySelector('pds-chip[slot="trigger-content"]');
871
+ if (slottedChip && slottedChip.hasAttribute('dot')) {
872
+ return true;
873
+ }
874
+ }
875
+ // Fallback: Use component props
876
+ return this.chipDot;
877
+ }
311
878
  handleOptionClick(option) {
312
879
  // Update reactive state - single source of truth
880
+ // The @Watch('selectedOption') will handle displayText, value, and form internals
313
881
  this.setSelectedOption(option);
314
- this.value = this.getOptionLabel(option);
315
882
  this.isOpen = false;
316
883
  this.pdsComboboxChange.emit({ value: option.value });
317
884
  }
318
885
  renderDropdown() {
319
- if (!this.isOpen || this.filteredOptions.length === 0)
886
+ if (!this.isOpen || this.filteredItems.length === 0) {
887
+ return null;
888
+ }
889
+ let optionIndex = 0;
890
+ const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');
891
+ return (h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", "aria-label": this.label || 'Options', "aria-multiselectable": "false", ref: el => (this.listboxEl = el) }, this.filteredItems.map((item, itemIdx) => {
892
+ if (item.tagName === 'OPTGROUP') {
893
+ const optgroup = item;
894
+ return (h("li", { key: `optgroup-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation", "aria-label": optgroup.label }, optgroup.label));
895
+ }
896
+ else if (item.tagName === 'PDS-TEXT') {
897
+ const pdsText = item;
898
+ return (h("li", { key: `pds-text-${itemIdx}`, class: "pds-combobox__group-label", role: "presentation" }, pdsText.textContent));
899
+ }
900
+ else if (item.tagName === 'OPTION') {
901
+ const option = item;
902
+ const isSelected = this.isOptionSelected(option);
903
+ const isHighlighted = this.highlightedIndex === optionIndex;
904
+ const isLayout = this.isOptionLayout(option);
905
+ const isChip = this.isOptionChip(option);
906
+ const currentOptionIndex = optionIndex++;
907
+ return (h("li", { key: option.value, id: `pds-combobox-option-${currentOptionIndex}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-setsize": selectableOptions.length, "aria-posinset": currentOptionIndex + 1, "aria-label": isLayout || isChip ? option.getAttribute('aria-label') || this.getOptionLabel(option) : undefined, tabindex: isHighlighted ? '0' : '-1', class: {
908
+ 'pds-combobox__option': true,
909
+ 'pds-combobox__option--highlighted': isHighlighted,
910
+ 'pds-combobox__option--layout': isLayout,
911
+ 'pds-combobox__option--chip': isChip,
912
+ }, "data-option-index": currentOptionIndex, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter, onKeyDown: this.onOptionKeyDown }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : isChip ? (this.renderOptionChip(option)) : (this.getOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
913
+ }
320
914
  return null;
321
- return (h("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
322
- const isSelected = this.isOptionSelected(option);
323
- const isHighlighted = this.highlightedIndex === idx;
324
- const isLayout = this.isOptionLayout(option);
325
- return (h("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
326
- 'pds-combobox__option': true,
327
- 'pds-combobox__option--highlighted': isHighlighted,
328
- 'pds-combobox__option--layout': isLayout,
329
- }, "data-option-index": idx, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter }, isLayout ? (h("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && h("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
330
915
  })));
331
916
  }
332
917
  // Helper method to render the caret icon
333
918
  renderCaretIcon() {
334
- return h("pds-icon", { icon: "caret-down", "aria-hidden": "true", "aria-label": "dropdown indicator", class: "pds-combobox__button-trigger-chevron" });
919
+ return h("pds-icon", { icon: "caret-down", "aria-hidden": "true", class: "pds-combobox__button-trigger-chevron" });
335
920
  }
336
921
  // Helper method to render layout content
337
922
  renderLayoutContent() {
@@ -345,6 +930,23 @@ export class PdsCombobox {
345
930
  shouldShowLayoutContent() {
346
931
  return this.selectedHasLayout && !!this.selectedLayoutContent;
347
932
  }
933
+ // Helper method to build chip trigger CSS classes
934
+ getChipTriggerClass() {
935
+ const classes = ['pds-combobox__chip-trigger'];
936
+ // Add sentiment class
937
+ classes.push(`pds-combobox__chip-trigger--${this.selectedChipSentiment}`);
938
+ // Always use dropdown variant for chip triggers
939
+ classes.push('pds-combobox__chip-trigger--dropdown');
940
+ // Add large class if needed
941
+ if (this.selectedChipLarge) {
942
+ classes.push('pds-combobox__chip-trigger--large');
943
+ }
944
+ // Add dot class if needed
945
+ if (this.selectedChipDot) {
946
+ classes.push('pds-combobox__chip-trigger--dot');
947
+ }
948
+ return classes.join(' ');
949
+ }
348
950
  renderButtonTriggerContent() {
349
951
  // Case 1: Custom trigger content with layout priority
350
952
  if (this.customTriggerContent) {
@@ -361,15 +963,81 @@ export class PdsCombobox {
361
963
  // Case 3: Standard mode with default text content
362
964
  return [this.renderDefaultContent(), this.renderCaretIcon()];
363
965
  }
966
+ renderChipTriggerContent() {
967
+ // Case 1: Custom trigger content with layout priority
968
+ if (this.customTriggerContent) {
969
+ if (this.shouldShowLayoutContent()) {
970
+ // When using custom layouts, the chip handles its own dropdown arrow
971
+ return this.renderChipTriggerLayoutContent();
972
+ }
973
+ // Fall back to slot content when no layout is available - chip handles its own dropdown arrow
974
+ return h("slot", { name: "trigger-content" });
975
+ }
976
+ // Case 2: Standard mode with layout content
977
+ if (this.shouldShowLayoutContent()) {
978
+ // When using custom layouts, the chip handles its own dropdown arrow
979
+ return this.renderChipTriggerLayoutContent();
980
+ }
981
+ // Case 3: Automatic chip mode - selected option has chip attributes
982
+ if (this.selectedOption && this.selectedOptionChipProps) {
983
+ // Render as chip automatically - chip handles its own dropdown arrow
984
+ return this.renderSelectedOptionAsChip();
985
+ }
986
+ // Case 4: Standard mode with default text content
987
+ return [
988
+ this.renderChipTriggerDefaultContent(),
989
+ this.renderCaretIcon()
990
+ ];
991
+ }
992
+ // Helper method to render selected option as chip for trigger (automatic approach)
993
+ renderSelectedOptionAsChip() {
994
+ if (!this.selectedOption || !this.selectedOptionChipProps)
995
+ return null;
996
+ return (h("pds-chip", { sentiment: this.selectedOptionChipProps.sentiment, variant: "dropdown" // Always use dropdown variant for triggers
997
+ ,
998
+ large: this.selectedOptionChipProps.large, icon: this.selectedOptionChipProps.icon, dot: this.selectedOptionChipProps.dot, class: "pds-combobox__chip-trigger-auto" }, this.getOptionLabel(this.selectedOption)));
999
+ }
1000
+ // Helper method to render chip trigger layout content
1001
+ renderChipTriggerLayoutContent() {
1002
+ return (h("div", { class: "pds-combobox__chip-trigger-layout-wrapper", innerHTML: this.getModifiedLayoutContentForTrigger() }));
1003
+ }
1004
+ // Helper method to modify layout content for trigger use (ensure dropdown variant)
1005
+ getModifiedLayoutContentForTrigger() {
1006
+ let content = this.selectedLayoutContent;
1007
+ // If the content contains a pds-chip, ensure it has variant="dropdown"
1008
+ if (content.includes('<pds-chip')) {
1009
+ // Use a temporary div to parse and modify the HTML
1010
+ const tempDiv = document.createElement('div');
1011
+ tempDiv.innerHTML = content;
1012
+ const chipElement = tempDiv.querySelector('pds-chip');
1013
+ if (chipElement) {
1014
+ chipElement.setAttribute('variant', 'dropdown');
1015
+ content = tempDiv.innerHTML;
1016
+ }
1017
+ }
1018
+ return content;
1019
+ }
1020
+ // Helper method to render chip trigger default content
1021
+ renderChipTriggerDefaultContent() {
1022
+ return (h("span", { class: "pds-combobox__chip-trigger-label" }, this.selectedChipIcon && h("pds-icon", { icon: this.selectedChipIcon, class: "pds-combobox__chip-trigger-icon" }), this.selectedLabel || this.placeholder));
1023
+ }
1024
+ // Helper method to render option as chip (new automatic approach)
1025
+ renderOptionChip(option) {
1026
+ const chipProps = this.getOptionChipProps(option);
1027
+ return (h("pds-chip", { sentiment: chipProps.sentiment, variant: "text" // Dropdown options use text variant, not dropdown
1028
+ ,
1029
+ large: chipProps.large, icon: chipProps.icon, dot: chipProps.dot, class: "pds-combobox__option-chip" }, this.getOptionLabel(option)));
1030
+ }
364
1031
  render() {
365
1032
  const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
366
- return (h(Host, { key: 'ecc1f18dcb9869055af047446364afd66d13e5f6' }, h("div", { key: 'caf80cf07647666e6ea21bc7e8fa7e944a98f3b5', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (h("label", { key: '08d38b21ce3c2d78a6a405b81e4291d2f5e61aed', htmlFor: this.componentId, class: "pds-combobox__label" }, h("span", { key: '58a3986e2656522377fce50dfad73a0960e8a9db', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (h("input", { ref: el => {
1033
+ return (h(Host, { key: 'd62992abd6eae05cfff52cfc0272490ca6370291' }, h("div", { key: 'affff971535065b7352daee494742bf7b65a61f4', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (h("label", { key: 'c27f88928932bc4535698cb88595b1559cb22e55', htmlFor: this.componentId, class: "pds-combobox__label" }, h("span", { key: '0b65e67897735819cb2a4dc7d6d7d355af2f28d5', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (h("div", { class: "pds-combobox__input-wrapper", style: { width: this.triggerWidth } }, h("input", { ref: el => {
367
1034
  this.inputEl = el;
368
1035
  this.triggerEl = el;
369
- }, class: "pds-combobox__input", style: { width: this.triggerWidth }, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": 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.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" })) : (h("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), h("div", { key: 'a91eb5b7998c9274de0f7e7e5184def30d23ad06', style: { display: 'none' } }, h("slot", { key: '40dbc40a9286b8caade78bfb70af366193bb08f2', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
1036
+ }, 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" }), h("pds-icon", { icon: "enlarge", "aria-hidden": "true", class: "pds-combobox__input-icon" }))) : this.trigger === 'chip' ? (h("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())) : (h("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())), h("div", { key: '47c259c2bc5b6f4f1d249d9bddd476b11c5a90fe', style: { display: 'none' } }, h("slot", { key: '83355a804fe978b6fb58838b4174bc815cf2f933', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
370
1037
  }
371
1038
  static get is() { return "pds-combobox"; }
372
1039
  static get encapsulation() { return "shadow"; }
1040
+ static get formAssociated() { return true; }
373
1041
  static get originalStyleUrls() {
374
1042
  return {
375
1043
  "$": ["pds-combobox.scss"]
@@ -401,6 +1069,25 @@ export class PdsCombobox {
401
1069
  "attribute": "component-id",
402
1070
  "reflect": false
403
1071
  },
1072
+ "name": {
1073
+ "type": "string",
1074
+ "mutable": false,
1075
+ "complexType": {
1076
+ "original": "string",
1077
+ "resolved": "string",
1078
+ "references": {}
1079
+ },
1080
+ "required": false,
1081
+ "optional": true,
1082
+ "docs": {
1083
+ "tags": [],
1084
+ "text": "The name of the form control. Submitted with the form as part of a name/value pair."
1085
+ },
1086
+ "getter": false,
1087
+ "setter": false,
1088
+ "attribute": "name",
1089
+ "reflect": true
1090
+ },
404
1091
  "customOptionLayouts": {
405
1092
  "type": "boolean",
406
1093
  "mutable": false,
@@ -617,8 +1304,8 @@ export class PdsCombobox {
617
1304
  "type": "string",
618
1305
  "mutable": false,
619
1306
  "complexType": {
620
- "original": "'input' | 'button'",
621
- "resolved": "\"button\" | \"input\"",
1307
+ "original": "'input' | 'button' | 'chip'",
1308
+ "resolved": "\"button\" | \"chip\" | \"input\"",
622
1309
  "references": {}
623
1310
  },
624
1311
  "required": false,
@@ -628,7 +1315,7 @@ export class PdsCombobox {
628
1315
  "name": "default",
629
1316
  "text": "'input'"
630
1317
  }],
631
- "text": "Determines the combobox trigger: 'input' (editable input) or 'button' (button-like, non-editable)."
1318
+ "text": "Determines the combobox trigger: 'input' (editable input), 'button' (button-like, non-editable), or 'chip' (chip-like, non-editable)."
632
1319
  },
633
1320
  "getter": false,
634
1321
  "setter": false,
@@ -682,6 +1369,100 @@ export class PdsCombobox {
682
1369
  "reflect": false,
683
1370
  "defaultValue": "'secondary'"
684
1371
  },
1372
+ "chipSentiment": {
1373
+ "type": "string",
1374
+ "mutable": false,
1375
+ "complexType": {
1376
+ "original": "ChipSentimentType",
1377
+ "resolved": "\"accent\" | \"brand\" | \"danger\" | \"info\" | \"neutral\" | \"success\" | \"warning\"",
1378
+ "references": {
1379
+ "ChipSentimentType": {
1380
+ "location": "import",
1381
+ "path": "@utils/types",
1382
+ "id": "src/utils/types.ts::ChipSentimentType"
1383
+ }
1384
+ }
1385
+ },
1386
+ "required": false,
1387
+ "optional": false,
1388
+ "docs": {
1389
+ "tags": [{
1390
+ "name": "default",
1391
+ "text": "'neutral'"
1392
+ }],
1393
+ "text": "The sentiment for the chip trigger. Matches Pine chip sentiments."
1394
+ },
1395
+ "getter": false,
1396
+ "setter": false,
1397
+ "attribute": "chip-sentiment",
1398
+ "reflect": false,
1399
+ "defaultValue": "'neutral'"
1400
+ },
1401
+ "chipLarge": {
1402
+ "type": "boolean",
1403
+ "mutable": false,
1404
+ "complexType": {
1405
+ "original": "boolean",
1406
+ "resolved": "boolean",
1407
+ "references": {}
1408
+ },
1409
+ "required": false,
1410
+ "optional": false,
1411
+ "docs": {
1412
+ "tags": [{
1413
+ "name": "default",
1414
+ "text": "false"
1415
+ }],
1416
+ "text": "Whether the chip trigger should be displayed in a larger size."
1417
+ },
1418
+ "getter": false,
1419
+ "setter": false,
1420
+ "attribute": "chip-large",
1421
+ "reflect": false,
1422
+ "defaultValue": "false"
1423
+ },
1424
+ "chipIcon": {
1425
+ "type": "string",
1426
+ "mutable": false,
1427
+ "complexType": {
1428
+ "original": "string",
1429
+ "resolved": "string",
1430
+ "references": {}
1431
+ },
1432
+ "required": false,
1433
+ "optional": true,
1434
+ "docs": {
1435
+ "tags": [],
1436
+ "text": "The name of the icon to display in the chip trigger."
1437
+ },
1438
+ "getter": false,
1439
+ "setter": false,
1440
+ "attribute": "chip-icon",
1441
+ "reflect": false
1442
+ },
1443
+ "chipDot": {
1444
+ "type": "boolean",
1445
+ "mutable": false,
1446
+ "complexType": {
1447
+ "original": "boolean",
1448
+ "resolved": "boolean",
1449
+ "references": {}
1450
+ },
1451
+ "required": false,
1452
+ "optional": false,
1453
+ "docs": {
1454
+ "tags": [{
1455
+ "name": "default",
1456
+ "text": "false"
1457
+ }],
1458
+ "text": "Whether a dot should be displayed on the chip trigger."
1459
+ },
1460
+ "getter": false,
1461
+ "setter": false,
1462
+ "attribute": "chip-dot",
1463
+ "reflect": false,
1464
+ "defaultValue": "false"
1465
+ },
685
1466
  "value": {
686
1467
  "type": "string",
687
1468
  "mutable": true,
@@ -706,11 +1487,13 @@ export class PdsCombobox {
706
1487
  }
707
1488
  static get states() {
708
1489
  return {
709
- "filteredOptions": {},
1490
+ "displayText": {},
1491
+ "filteredItems": {},
710
1492
  "highlightedIndex": {},
711
1493
  "isOpen": {},
712
1494
  "selectedOption": {},
713
- "selectedOptionLayoutContent": {}
1495
+ "selectedOptionLayoutContent": {},
1496
+ "selectedOptionChipProps": {}
714
1497
  };
715
1498
  }
716
1499
  static get events() {