@pine-ds/core 3.26.4 → 3.27.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 (1123) hide show
  1. package/components/attributes.js +1 -85
  2. package/components/closest.js +1 -12
  3. package/components/floating-ui.dom.js +1 -1631
  4. package/components/form.js +1 -62
  5. package/components/index.d.ts +1 -0
  6. package/components/index.js +1 -54
  7. package/components/index2.js +1 -20
  8. package/components/mock-pds-modal.js +1 -119
  9. package/components/pds-accordion.js +1 -74
  10. package/components/pds-alert.js +1 -115
  11. package/components/pds-avatar.js +1 -141
  12. package/components/pds-box.js +1 -9
  13. package/components/pds-box2.js +1 -283
  14. package/components/pds-button.js +1 -9
  15. package/components/pds-button2.js +1 -250
  16. package/components/pds-checkbox.js +1 -9
  17. package/components/pds-checkbox2.js +1 -150
  18. package/components/pds-chip.js +1 -9
  19. package/components/pds-chip2.js +1 -167
  20. package/components/pds-combobox.js +2 -2958
  21. package/components/pds-container.js +1 -61
  22. package/components/pds-copytext.js +1 -154
  23. package/components/pds-divider.js +1 -58
  24. package/components/pds-dropdown-menu-item.js +1 -128
  25. package/components/pds-dropdown-menu-separator.js +1 -46
  26. package/components/pds-dropdown-menu.js +1 -349
  27. package/components/pds-filter.js +1 -524
  28. package/components/pds-filters.js +1 -40
  29. package/components/pds-icon.js +1 -9
  30. package/components/pds-icon2.js +1 -601
  31. package/components/pds-image.js +1 -61
  32. package/components/pds-input.js +1 -372
  33. package/components/pds-link.js +1 -9
  34. package/components/pds-link2.js +1 -93
  35. package/components/pds-loader.js +1 -9
  36. package/components/pds-loader2.js +1 -79
  37. package/components/pds-modal-content.js +1 -214
  38. package/components/pds-modal-footer.js +1 -37
  39. package/components/pds-modal-header.js +1 -37
  40. package/components/pds-modal.js +1 -291
  41. package/components/pds-multiselect.js +1 -1087
  42. package/components/pds-popover.js +1 -602
  43. package/components/pds-progress.js +1 -60
  44. package/components/pds-property.js +1 -57
  45. package/components/pds-radio-group.js +1 -211
  46. package/components/pds-radio.js +1 -138
  47. package/components/pds-row.js +1 -99
  48. package/components/pds-select.js +1 -291
  49. package/components/pds-sortable-item.js +1 -67
  50. package/components/pds-sortable.js +2 -2747
  51. package/components/pds-switch.js +1 -147
  52. package/components/pds-tab.js +1 -71
  53. package/components/pds-table-body.js +1 -38
  54. package/components/pds-table-cell.js +1 -9
  55. package/components/pds-table-cell2.js +1 -169
  56. package/components/pds-table-head-cell.js +1 -9
  57. package/components/pds-table-head-cell2.js +1 -254
  58. package/components/pds-table-head.js +1 -102
  59. package/components/pds-table-row.js +1 -197
  60. package/components/pds-table.js +1 -291
  61. package/components/pds-tabpanel.js +1 -48
  62. package/components/pds-tabs.js +1 -126
  63. package/components/pds-text.js +1 -9
  64. package/components/pds-text2.js +1 -110
  65. package/components/pds-textarea.js +1 -376
  66. package/components/pds-toast.js +1 -175
  67. package/components/pds-tooltip.js +1 -362
  68. package/components/scroll.js +1 -78
  69. package/components/truncation-tooltip.js +1 -247
  70. package/components/utils.js +1 -74
  71. package/dist/cjs/attributes-oNMnBEnP.js +0 -3
  72. package/dist/cjs/closest-BZXvuB_Y.js +0 -3
  73. package/dist/cjs/floating-ui.dom-BZk7Blsu.js +0 -3
  74. package/dist/cjs/form-CpM5Z8q7.js +0 -3
  75. package/dist/cjs/{index-BUvWX8u2.js → index-DBhfI2Jq.js} +567 -387
  76. package/dist/cjs/index-DGBoDsAL.js +0 -3
  77. package/dist/cjs/index.cjs.js +0 -1
  78. package/dist/cjs/loader.cjs.js +2 -3
  79. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -4
  80. package/dist/cjs/pds-accordion.cjs.entry.js +7 -6
  81. package/dist/cjs/pds-alert.cjs.entry.js +4 -5
  82. package/dist/cjs/pds-avatar.cjs.entry.js +3 -4
  83. package/dist/cjs/pds-box.cjs.entry.js +3 -4
  84. package/dist/cjs/pds-button.cjs.entry.js +3 -4
  85. package/dist/cjs/pds-checkbox.cjs.entry.js +9 -6
  86. package/dist/cjs/pds-chip.cjs.entry.js +4 -5
  87. package/dist/cjs/pds-combobox.cjs.entry.js +18 -9
  88. package/dist/cjs/pds-container.cjs.entry.js +3 -4
  89. package/dist/cjs/pds-copytext.cjs.entry.js +10 -7
  90. package/dist/cjs/pds-divider.cjs.entry.js +3 -4
  91. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +3 -4
  92. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -4
  93. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +3 -4
  94. package/dist/cjs/pds-filter.cjs.entry.js +3 -4
  95. package/dist/cjs/pds-filters.cjs.entry.js +3 -4
  96. package/dist/cjs/pds-icon.cjs.entry.js +18 -9
  97. package/dist/cjs/pds-image.cjs.entry.js +3 -4
  98. package/dist/cjs/pds-input.cjs.entry.js +12 -9
  99. package/dist/cjs/pds-link.cjs.entry.js +5 -6
  100. package/dist/cjs/pds-loader.cjs.entry.js +3 -4
  101. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -4
  102. package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -4
  103. package/dist/cjs/pds-modal-header.cjs.entry.js +3 -4
  104. package/dist/cjs/pds-modal.cjs.entry.js +6 -5
  105. package/dist/cjs/pds-multiselect.cjs.entry.js +15 -8
  106. package/dist/cjs/pds-popover.cjs.entry.js +3 -4
  107. package/dist/cjs/pds-progress.cjs.entry.js +3 -4
  108. package/dist/cjs/pds-property.cjs.entry.js +3 -4
  109. package/dist/cjs/pds-radio-group.cjs.entry.js +15 -8
  110. package/dist/cjs/pds-radio.cjs.entry.js +4 -5
  111. package/dist/cjs/pds-row.cjs.entry.js +3 -4
  112. package/dist/cjs/pds-select.cjs.entry.js +13 -10
  113. package/dist/cjs/pds-sortable-item.cjs.entry.js +4 -5
  114. package/dist/cjs/pds-sortable.cjs.entry.js +6 -5
  115. package/dist/cjs/pds-switch.cjs.entry.js +7 -6
  116. package/dist/cjs/pds-tab.cjs.entry.js +3 -4
  117. package/dist/cjs/pds-table-body.cjs.entry.js +3 -4
  118. package/dist/cjs/pds-table-cell.cjs.entry.js +6 -5
  119. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -4
  120. package/dist/cjs/pds-table-head.cjs.entry.js +3 -4
  121. package/dist/cjs/pds-table-row.cjs.entry.js +3 -4
  122. package/dist/cjs/pds-table.cjs.entry.js +3 -4
  123. package/dist/cjs/pds-tabpanel.cjs.entry.js +3 -4
  124. package/dist/cjs/pds-tabs.cjs.entry.js +3 -4
  125. package/dist/cjs/pds-text.cjs.entry.js +46 -6
  126. package/dist/cjs/pds-textarea.cjs.entry.js +14 -9
  127. package/dist/cjs/pds-toast.cjs.entry.js +6 -5
  128. package/dist/cjs/pds-tooltip.cjs.entry.js +6 -5
  129. package/dist/cjs/pine-core.cjs.js +3 -4
  130. package/dist/cjs/scroll-2XcoE_6Q.js +0 -3
  131. package/dist/cjs/truncation-tooltip-CVzAha5B.js +0 -3
  132. package/dist/cjs/utils-7jx8T2mW.js +0 -3
  133. package/dist/collection/collection-manifest.json +3 -2
  134. package/dist/collection/components/_internal/pds-label/pds-label.js +0 -1
  135. package/dist/collection/components/pds-accordion/pds-accordion.js +1 -2
  136. package/dist/collection/components/pds-alert/pds-alert.js +0 -1
  137. package/dist/collection/components/pds-avatar/pds-avatar.js +0 -1
  138. package/dist/collection/components/pds-box/pds-box.js +206 -134
  139. package/dist/collection/components/pds-button/pds-button.css +74 -74
  140. package/dist/collection/components/pds-button/pds-button.js +2 -2
  141. package/dist/collection/components/pds-checkbox/checkbox-interface.js +0 -1
  142. package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
  143. package/dist/collection/components/pds-chip/pds-chip.js +6 -4
  144. package/dist/collection/components/pds-combobox/combobox-interface.js +0 -1
  145. package/dist/collection/components/pds-combobox/pds-combobox.css +3 -0
  146. package/dist/collection/components/pds-combobox/pds-combobox.js +10 -6
  147. package/dist/collection/components/pds-container/pds-container.js +0 -1
  148. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -2
  149. package/dist/collection/components/pds-divider/pds-divider.js +0 -1
  150. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +0 -1
  151. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +0 -1
  152. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +2 -2
  153. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +0 -1
  154. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +8 -5
  155. package/dist/collection/components/pds-filters/pds-filters.js +0 -1
  156. package/dist/collection/components/pds-image/pds-image.js +0 -1
  157. package/dist/collection/components/pds-input/input-interface.js +0 -1
  158. package/dist/collection/components/pds-input/pds-input.js +5 -4
  159. package/dist/collection/components/pds-link/pds-link.js +154 -3
  160. package/dist/collection/components/pds-loader/pds-loader.js +0 -1
  161. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +0 -1
  162. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +0 -1
  163. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +0 -1
  164. package/dist/collection/components/pds-modal/pds-modal.js +0 -1
  165. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +0 -1
  166. package/dist/collection/components/pds-multiselect/multiselect-interface.js +0 -1
  167. package/dist/collection/components/pds-multiselect/pds-multiselect.css +1 -0
  168. package/dist/collection/components/pds-multiselect/pds-multiselect.js +12 -7
  169. package/dist/collection/components/pds-popover/pds-popover.js +6 -4
  170. package/dist/collection/components/pds-popover/popover-interface.js +0 -1
  171. package/dist/collection/components/pds-progress/pds-progress.js +0 -1
  172. package/dist/collection/components/pds-property/pds-property.js +0 -1
  173. package/dist/collection/components/pds-radio/pds-radio.js +0 -1
  174. package/dist/collection/components/pds-radio-group/pds-radio-group.js +2 -2
  175. package/dist/collection/components/pds-radio-group/radio-group-interface.js +0 -1
  176. package/dist/collection/components/pds-row/pds-row.js +9 -7
  177. package/dist/collection/components/pds-select/pds-select.js +2 -3
  178. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -2
  179. package/dist/collection/components/pds-sortable/pds-sortable.js +2 -2
  180. package/dist/collection/components/pds-sortable/sortable-interface.js +0 -1
  181. package/dist/collection/components/pds-switch/pds-switch.js +0 -1
  182. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +0 -1
  183. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +0 -1
  184. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +0 -1
  185. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +0 -1
  186. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +0 -1
  187. package/dist/collection/components/pds-table/pds-table.css +1 -0
  188. package/dist/collection/components/pds-table/pds-table.js +0 -1
  189. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +0 -1
  190. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +0 -1
  191. package/dist/collection/components/pds-tabs/pds-tabs.js +0 -1
  192. package/dist/collection/components/pds-text/pds-text.js +31 -4
  193. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -3
  194. package/dist/collection/components/pds-textarea/textarea-interface.js +0 -1
  195. package/dist/collection/components/pds-toast/pds-toast.js +0 -1
  196. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  197. package/dist/collection/global/pine-ui-global.js +0 -1
  198. package/dist/collection/index.js +0 -1
  199. package/dist/collection/utils/attributes.js +0 -1
  200. package/dist/collection/utils/closest.js +0 -1
  201. package/dist/collection/utils/form.js +0 -1
  202. package/dist/collection/utils/interfaces.js +0 -1
  203. package/dist/collection/utils/overlay.js +0 -1
  204. package/dist/collection/utils/scroll.js +0 -1
  205. package/dist/collection/utils/test/axe.js +9 -4
  206. package/dist/collection/utils/truncation-tooltip.js +0 -1
  207. package/dist/collection/utils/types.js +18 -2
  208. package/dist/collection/utils/utils.js +0 -1
  209. package/dist/docs.d.ts +37 -0
  210. package/dist/docs.json +2335 -1965
  211. package/dist/esm/attributes-C0M1gTKv.js +0 -3
  212. package/dist/esm/closest-DnUJodVd.js +0 -3
  213. package/dist/esm/floating-ui.dom-DDtwbwIl.js +0 -3
  214. package/dist/esm/form-C3xDZBme.js +0 -3
  215. package/dist/esm/{index-B2f84Zog.js → index-CaRgVPt7.js} +567 -387
  216. package/dist/esm/index-D4ys0pep.js +0 -3
  217. package/dist/esm/index.js +0 -1
  218. package/dist/esm/loader.js +3 -4
  219. package/dist/esm/mock-pds-modal.entry.js +3 -4
  220. package/dist/esm/pds-accordion.entry.js +7 -6
  221. package/dist/esm/pds-alert.entry.js +4 -5
  222. package/dist/esm/pds-avatar.entry.js +3 -4
  223. package/dist/esm/pds-box.entry.js +3 -4
  224. package/dist/esm/pds-button.entry.js +3 -4
  225. package/dist/esm/pds-checkbox.entry.js +9 -6
  226. package/dist/esm/pds-chip.entry.js +4 -5
  227. package/dist/esm/pds-combobox.entry.js +18 -9
  228. package/dist/esm/pds-container.entry.js +3 -4
  229. package/dist/esm/pds-copytext.entry.js +10 -7
  230. package/dist/esm/pds-divider.entry.js +3 -4
  231. package/dist/esm/pds-dropdown-menu-item.entry.js +3 -4
  232. package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -4
  233. package/dist/esm/pds-dropdown-menu.entry.js +3 -4
  234. package/dist/esm/pds-filter.entry.js +3 -4
  235. package/dist/esm/pds-filters.entry.js +3 -4
  236. package/dist/esm/pds-icon.entry.js +18 -9
  237. package/dist/esm/pds-image.entry.js +3 -4
  238. package/dist/esm/pds-input.entry.js +12 -9
  239. package/dist/esm/pds-link.entry.js +5 -6
  240. package/dist/esm/pds-loader.entry.js +3 -4
  241. package/dist/esm/pds-modal-content.entry.js +3 -4
  242. package/dist/esm/pds-modal-footer.entry.js +3 -4
  243. package/dist/esm/pds-modal-header.entry.js +3 -4
  244. package/dist/esm/pds-modal.entry.js +6 -5
  245. package/dist/esm/pds-multiselect.entry.js +15 -8
  246. package/dist/esm/pds-popover.entry.js +3 -4
  247. package/dist/esm/pds-progress.entry.js +3 -4
  248. package/dist/esm/pds-property.entry.js +3 -4
  249. package/dist/esm/pds-radio-group.entry.js +15 -8
  250. package/dist/esm/pds-radio.entry.js +4 -5
  251. package/dist/esm/pds-row.entry.js +3 -4
  252. package/dist/esm/pds-select.entry.js +13 -10
  253. package/dist/esm/pds-sortable-item.entry.js +4 -5
  254. package/dist/esm/pds-sortable.entry.js +6 -5
  255. package/dist/esm/pds-switch.entry.js +7 -6
  256. package/dist/esm/pds-tab.entry.js +3 -4
  257. package/dist/esm/pds-table-body.entry.js +3 -4
  258. package/dist/esm/pds-table-cell.entry.js +6 -5
  259. package/dist/esm/pds-table-head-cell.entry.js +3 -4
  260. package/dist/esm/pds-table-head.entry.js +3 -4
  261. package/dist/esm/pds-table-row.entry.js +3 -4
  262. package/dist/esm/pds-table.entry.js +3 -4
  263. package/dist/esm/pds-tabpanel.entry.js +3 -4
  264. package/dist/esm/pds-tabs.entry.js +3 -4
  265. package/dist/esm/pds-text.entry.js +46 -6
  266. package/dist/esm/pds-textarea.entry.js +14 -9
  267. package/dist/esm/pds-toast.entry.js +6 -5
  268. package/dist/esm/pds-tooltip.entry.js +6 -5
  269. package/dist/esm/pine-core.js +4 -5
  270. package/dist/esm/scroll-DtgUQhjl.js +0 -3
  271. package/dist/esm/truncation-tooltip-Blk4GigP.js +0 -3
  272. package/dist/esm/utils-tJa4KYNO.js +0 -3
  273. package/dist/esm-es5/attributes-C0M1gTKv.js +1 -2
  274. package/dist/esm-es5/closest-DnUJodVd.js +1 -2
  275. package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js +1 -2
  276. package/dist/esm-es5/form-C3xDZBme.js +1 -2
  277. package/dist/esm-es5/index-CaRgVPt7.js +2 -0
  278. package/dist/esm-es5/index-D4ys0pep.js +1 -2
  279. package/dist/esm-es5/index.js +0 -2
  280. package/dist/esm-es5/loader.js +1 -2
  281. package/dist/esm-es5/mock-pds-modal.entry.js +1 -2
  282. package/dist/esm-es5/pds-accordion.entry.js +1 -2
  283. package/dist/esm-es5/pds-alert.entry.js +1 -2
  284. package/dist/esm-es5/pds-avatar.entry.js +1 -2
  285. package/dist/esm-es5/pds-box.entry.js +1 -2
  286. package/dist/esm-es5/pds-button.entry.js +1 -2
  287. package/dist/esm-es5/pds-checkbox.entry.js +1 -2
  288. package/dist/esm-es5/pds-chip.entry.js +1 -2
  289. package/dist/esm-es5/pds-combobox.entry.js +2 -3
  290. package/dist/esm-es5/pds-container.entry.js +1 -2
  291. package/dist/esm-es5/pds-copytext.entry.js +1 -2
  292. package/dist/esm-es5/pds-divider.entry.js +1 -2
  293. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -2
  294. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -2
  295. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -2
  296. package/dist/esm-es5/pds-filter.entry.js +1 -2
  297. package/dist/esm-es5/pds-filters.entry.js +1 -2
  298. package/dist/esm-es5/pds-icon.entry.js +1 -2
  299. package/dist/esm-es5/pds-image.entry.js +1 -2
  300. package/dist/esm-es5/pds-input.entry.js +1 -2
  301. package/dist/esm-es5/pds-link.entry.js +1 -2
  302. package/dist/esm-es5/pds-loader.entry.js +1 -2
  303. package/dist/esm-es5/pds-modal-content.entry.js +1 -2
  304. package/dist/esm-es5/pds-modal-footer.entry.js +1 -2
  305. package/dist/esm-es5/pds-modal-header.entry.js +1 -2
  306. package/dist/esm-es5/pds-modal.entry.js +1 -2
  307. package/dist/esm-es5/pds-multiselect.entry.js +1 -2
  308. package/dist/esm-es5/pds-popover.entry.js +1 -2
  309. package/dist/esm-es5/pds-progress.entry.js +1 -2
  310. package/dist/esm-es5/pds-property.entry.js +1 -2
  311. package/dist/esm-es5/pds-radio-group.entry.js +1 -2
  312. package/dist/esm-es5/pds-radio.entry.js +1 -2
  313. package/dist/esm-es5/pds-row.entry.js +1 -2
  314. package/dist/esm-es5/pds-select.entry.js +1 -2
  315. package/dist/esm-es5/pds-sortable-item.entry.js +1 -2
  316. package/dist/esm-es5/pds-sortable.entry.js +2 -3
  317. package/dist/esm-es5/pds-switch.entry.js +1 -2
  318. package/dist/esm-es5/pds-tab.entry.js +1 -2
  319. package/dist/esm-es5/pds-table-body.entry.js +1 -2
  320. package/dist/esm-es5/pds-table-cell.entry.js +1 -2
  321. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -2
  322. package/dist/esm-es5/pds-table-head.entry.js +1 -2
  323. package/dist/esm-es5/pds-table-row.entry.js +1 -2
  324. package/dist/esm-es5/pds-table.entry.js +1 -2
  325. package/dist/esm-es5/pds-tabpanel.entry.js +1 -2
  326. package/dist/esm-es5/pds-tabs.entry.js +1 -2
  327. package/dist/esm-es5/pds-text.entry.js +1 -2
  328. package/dist/esm-es5/pds-textarea.entry.js +1 -2
  329. package/dist/esm-es5/pds-toast.entry.js +1 -2
  330. package/dist/esm-es5/pds-tooltip.entry.js +1 -2
  331. package/dist/esm-es5/pine-core.js +1 -2
  332. package/dist/esm-es5/scroll-DtgUQhjl.js +1 -2
  333. package/dist/esm-es5/truncation-tooltip-Blk4GigP.js +1 -2
  334. package/dist/esm-es5/utils-tJa4KYNO.js +1 -2
  335. package/dist/pine-core/index.esm.js +0 -2
  336. package/dist/pine-core/p-002c420f.system.entry.js +1 -0
  337. package/dist/pine-core/p-003f91b1.system.entry.js +1 -0
  338. package/dist/pine-core/p-006398c3.system.entry.js +1 -0
  339. package/dist/pine-core/p-01dba061.entry.js +1 -0
  340. package/dist/pine-core/p-0451fdf7.entry.js +1 -0
  341. package/dist/pine-core/p-04f8b32a.entry.js +1 -0
  342. package/dist/pine-core/p-0bf56f61.entry.js +1 -0
  343. package/dist/pine-core/p-13ec2343.entry.js +1 -0
  344. package/dist/pine-core/p-190ba1df.entry.js +1 -0
  345. package/dist/pine-core/p-1e1804ed.system.entry.js +1 -0
  346. package/dist/pine-core/p-1e3beca4.system.entry.js +1 -0
  347. package/dist/pine-core/p-20f39b93.system.entry.js +1 -0
  348. package/dist/pine-core/p-22bfa998.entry.js +1 -0
  349. package/dist/pine-core/p-27ac77c3.entry.js +1 -0
  350. package/dist/pine-core/p-2b0cb8c4.system.entry.js +1 -0
  351. package/dist/pine-core/p-334b7c30.entry.js +1 -0
  352. package/dist/pine-core/p-3876b9be.entry.js +1 -0
  353. package/dist/pine-core/p-3a1b7302.system.entry.js +1 -0
  354. package/dist/pine-core/p-3ad9bcef.system.entry.js +1 -0
  355. package/dist/pine-core/p-3ba36512.system.entry.js +1 -0
  356. package/dist/pine-core/p-3f19666c.entry.js +1 -0
  357. package/dist/pine-core/p-3fa80c5a.system.entry.js +1 -0
  358. package/dist/pine-core/p-44388b8f.system.entry.js +1 -0
  359. package/dist/pine-core/p-44f58d33.system.entry.js +1 -0
  360. package/dist/pine-core/p-46de2438.entry.js +1 -0
  361. package/dist/pine-core/p-4abec102.system.entry.js +3 -0
  362. package/dist/pine-core/p-4e49712d.entry.js +1 -0
  363. package/dist/pine-core/p-52e9ec4f.entry.js +1 -0
  364. package/dist/pine-core/p-52f7115b.entry.js +1 -0
  365. package/dist/pine-core/p-5584a56b.entry.js +1 -0
  366. package/dist/pine-core/p-568bb210.system.entry.js +1 -0
  367. package/dist/pine-core/p-571d6bef.system.entry.js +1 -0
  368. package/dist/pine-core/p-587a15ee.system.entry.js +1 -0
  369. package/dist/pine-core/p-59a5dd77.system.entry.js +1 -0
  370. package/dist/pine-core/p-59c60e5b.entry.js +1 -0
  371. package/dist/pine-core/p-5a2df1e2.entry.js +1 -0
  372. package/dist/pine-core/p-5c6c2f79.system.entry.js +1 -0
  373. package/dist/pine-core/p-618ba6d5.system.entry.js +1 -0
  374. package/dist/pine-core/p-638e9cb3.entry.js +1 -0
  375. package/dist/pine-core/p-63e0d4a5.system.entry.js +1 -0
  376. package/dist/pine-core/p-65fb166c.system.entry.js +1 -0
  377. package/dist/pine-core/p-68121613.system.entry.js +1 -0
  378. package/dist/pine-core/p-6a2373d0.system.entry.js +1 -0
  379. package/dist/pine-core/p-6c5aacad.entry.js +1 -0
  380. package/dist/pine-core/p-71ca8845.system.entry.js +1 -0
  381. package/dist/pine-core/p-7247fb4f.entry.js +2 -0
  382. package/dist/pine-core/p-73b81009.entry.js +1 -0
  383. package/dist/pine-core/p-73dd2a2b.entry.js +1 -0
  384. package/dist/pine-core/p-74e06c8d.system.entry.js +1 -0
  385. package/dist/pine-core/p-7520a715.system.entry.js +1 -0
  386. package/dist/pine-core/p-7766e970.entry.js +1 -0
  387. package/dist/pine-core/p-7874fe2b.entry.js +1 -0
  388. package/dist/pine-core/p-791d357a.entry.js +1 -0
  389. package/dist/pine-core/p-7a4da839.entry.js +1 -0
  390. package/dist/pine-core/p-7aca41d9.system.entry.js +1 -0
  391. package/dist/pine-core/p-7b71f1bf.system.entry.js +1 -0
  392. package/dist/pine-core/p-7b954dbf.entry.js +1 -0
  393. package/dist/pine-core/p-8065c732.entry.js +1 -0
  394. package/dist/pine-core/p-829c52dc.entry.js +1 -0
  395. package/dist/pine-core/p-835d9f18.system.entry.js +1 -0
  396. package/dist/pine-core/p-83eb33d4.entry.js +1 -0
  397. package/dist/pine-core/p-855dfc31.system.entry.js +1 -0
  398. package/dist/pine-core/p-889fce8a.entry.js +7 -0
  399. package/dist/pine-core/p-974bf0c5.entry.js +1 -0
  400. package/dist/pine-core/p-9865431f.system.entry.js +1 -0
  401. package/dist/pine-core/p-B1u-QvFn.system.js +1 -2
  402. package/dist/pine-core/p-BG6uGRQj.system.js +1 -2
  403. package/dist/pine-core/p-BNSGedhN.js +1 -2
  404. package/dist/pine-core/p-BhQhw0S3.system.js +1 -2
  405. package/dist/pine-core/p-BrLs99ML.system.js +1 -2
  406. package/dist/pine-core/p-C0M1gTKv.js +1 -2
  407. package/dist/pine-core/p-C3xDZBme.js +1 -2
  408. package/dist/pine-core/p-C61CFP22.system.js +1 -0
  409. package/dist/pine-core/p-C62JIZmE.system.js +1 -2
  410. package/dist/pine-core/p-CRCxGYgw.system.js +1 -2
  411. package/dist/pine-core/p-CaRgVPt7.js +2 -0
  412. package/dist/pine-core/p-CdwliqhD.system.js +2 -0
  413. package/dist/pine-core/p-D4ys0pep.js +1 -2
  414. package/dist/pine-core/p-DDtwbwIl.js +1 -2
  415. package/dist/pine-core/p-DVra397g.system.js +1 -2
  416. package/dist/pine-core/p-DnUJodVd.js +1 -2
  417. package/dist/pine-core/p-DtgUQhjl.js +1 -2
  418. package/dist/pine-core/p-YWpyar7R.system.js +1 -2
  419. package/dist/pine-core/p-a1750a54.entry.js +1 -0
  420. package/dist/pine-core/p-a659cce1.entry.js +1 -0
  421. package/dist/pine-core/p-a739bdfa.entry.js +1 -0
  422. package/dist/pine-core/p-a982ac91.system.entry.js +1 -0
  423. package/dist/pine-core/p-ab957ace.system.entry.js +1 -0
  424. package/dist/pine-core/p-ae2b466a.system.entry.js +1 -0
  425. package/dist/pine-core/p-ae840ec4.entry.js +1 -0
  426. package/dist/pine-core/p-b0b6acdb.system.entry.js +1 -0
  427. package/dist/pine-core/p-b1b317a5.entry.js +1 -0
  428. package/dist/pine-core/p-b88be8be.entry.js +1 -0
  429. package/dist/pine-core/p-ba88ff60.system.entry.js +1 -0
  430. package/dist/pine-core/p-babd0607.system.entry.js +1 -0
  431. package/dist/pine-core/p-bdf18687.entry.js +1 -0
  432. package/dist/pine-core/p-c273210a.entry.js +1 -0
  433. package/dist/pine-core/p-c3a99f39.entry.js +1 -0
  434. package/dist/pine-core/p-ccb889d8.system.entry.js +1 -0
  435. package/dist/pine-core/p-cce6dcf0.system.entry.js +1 -0
  436. package/dist/pine-core/p-cce83ef0.entry.js +1 -0
  437. package/dist/pine-core/p-d09ae46d.system.entry.js +1 -0
  438. package/dist/pine-core/p-d5c1f85e.system.entry.js +1 -0
  439. package/dist/pine-core/p-db1572a3.entry.js +1 -0
  440. package/dist/pine-core/p-e0cfb931.system.entry.js +1 -0
  441. package/dist/pine-core/p-e291db30.entry.js +1 -0
  442. package/dist/pine-core/p-e620e492.system.entry.js +1 -0
  443. package/dist/pine-core/p-e70c9002.entry.js +1 -0
  444. package/dist/pine-core/p-e77c5c08.system.entry.js +1 -0
  445. package/dist/pine-core/p-edf4e4eb.system.entry.js +1 -0
  446. package/dist/pine-core/p-ee6f914c.entry.js +1 -0
  447. package/dist/pine-core/{p-85e889c3.system.entry.js → p-ef71710b.system.entry.js} +2 -3
  448. package/dist/pine-core/p-f2315f2a.entry.js +1 -0
  449. package/dist/pine-core/p-f2cf8e76.entry.js +1 -0
  450. package/dist/pine-core/p-f366f064.entry.js +1 -0
  451. package/dist/pine-core/p-f928817f.system.entry.js +1 -0
  452. package/dist/pine-core/p-fa81009f.system.entry.js +1 -0
  453. package/dist/pine-core/p-fb68e503.system.entry.js +1 -0
  454. package/dist/pine-core/p-kYMYDfJY.system.js +1 -2
  455. package/dist/pine-core/p-tJa4KYNO.js +1 -2
  456. package/dist/pine-core/pine-core.esm.js +1 -2
  457. package/dist/pine-core/pine-core.js +1 -1
  458. package/dist/scripts/vscode-custom-data-generator.js +0 -1
  459. package/dist/types/components/pds-link/pds-link.d.ts +40 -0
  460. package/dist/types/components/pds-text/pds-text.d.ts +4 -1
  461. package/dist/types/components.d.ts +768 -123
  462. package/dist/types/stencil-public-runtime.d.ts +110 -5
  463. package/dist/types/utils/test/axe.d.ts +5 -4
  464. package/dist/types/utils/types.d.ts +2 -0
  465. package/hydrate/index.d.ts +12 -0
  466. package/hydrate/index.js +5209 -1055
  467. package/hydrate/index.mjs +5208 -1056
  468. package/package.json +11 -11
  469. package/components/attributes.js.map +0 -1
  470. package/components/closest.js.map +0 -1
  471. package/components/floating-ui.dom.js.map +0 -1
  472. package/components/form.js.map +0 -1
  473. package/components/index.js.map +0 -1
  474. package/components/index2.js.map +0 -1
  475. package/components/mock-pds-modal.js.map +0 -1
  476. package/components/pds-accordion.js.map +0 -1
  477. package/components/pds-alert.js.map +0 -1
  478. package/components/pds-avatar.js.map +0 -1
  479. package/components/pds-box.js.map +0 -1
  480. package/components/pds-box2.js.map +0 -1
  481. package/components/pds-button.js.map +0 -1
  482. package/components/pds-button2.js.map +0 -1
  483. package/components/pds-checkbox.js.map +0 -1
  484. package/components/pds-checkbox2.js.map +0 -1
  485. package/components/pds-chip.js.map +0 -1
  486. package/components/pds-chip2.js.map +0 -1
  487. package/components/pds-combobox.js.map +0 -1
  488. package/components/pds-container.js.map +0 -1
  489. package/components/pds-copytext.js.map +0 -1
  490. package/components/pds-divider.js.map +0 -1
  491. package/components/pds-dropdown-menu-item.js.map +0 -1
  492. package/components/pds-dropdown-menu-separator.js.map +0 -1
  493. package/components/pds-dropdown-menu.js.map +0 -1
  494. package/components/pds-filter.js.map +0 -1
  495. package/components/pds-filters.js.map +0 -1
  496. package/components/pds-icon.js.map +0 -1
  497. package/components/pds-icon2.js.map +0 -1
  498. package/components/pds-image.js.map +0 -1
  499. package/components/pds-input.js.map +0 -1
  500. package/components/pds-link.js.map +0 -1
  501. package/components/pds-link2.js.map +0 -1
  502. package/components/pds-loader.js.map +0 -1
  503. package/components/pds-loader2.js.map +0 -1
  504. package/components/pds-modal-content.js.map +0 -1
  505. package/components/pds-modal-footer.js.map +0 -1
  506. package/components/pds-modal-header.js.map +0 -1
  507. package/components/pds-modal.js.map +0 -1
  508. package/components/pds-multiselect.js.map +0 -1
  509. package/components/pds-popover.js.map +0 -1
  510. package/components/pds-progress.js.map +0 -1
  511. package/components/pds-property.js.map +0 -1
  512. package/components/pds-radio-group.js.map +0 -1
  513. package/components/pds-radio.js.map +0 -1
  514. package/components/pds-row.js.map +0 -1
  515. package/components/pds-select.js.map +0 -1
  516. package/components/pds-sortable-item.js.map +0 -1
  517. package/components/pds-sortable.js.map +0 -1
  518. package/components/pds-switch.js.map +0 -1
  519. package/components/pds-tab.js.map +0 -1
  520. package/components/pds-table-body.js.map +0 -1
  521. package/components/pds-table-cell.js.map +0 -1
  522. package/components/pds-table-cell2.js.map +0 -1
  523. package/components/pds-table-head-cell.js.map +0 -1
  524. package/components/pds-table-head-cell2.js.map +0 -1
  525. package/components/pds-table-head.js.map +0 -1
  526. package/components/pds-table-row.js.map +0 -1
  527. package/components/pds-table.js.map +0 -1
  528. package/components/pds-tabpanel.js.map +0 -1
  529. package/components/pds-tabs.js.map +0 -1
  530. package/components/pds-text.js.map +0 -1
  531. package/components/pds-text2.js.map +0 -1
  532. package/components/pds-textarea.js.map +0 -1
  533. package/components/pds-toast.js.map +0 -1
  534. package/components/pds-tooltip.js.map +0 -1
  535. package/components/scroll.js.map +0 -1
  536. package/components/truncation-tooltip.js.map +0 -1
  537. package/components/utils.js.map +0 -1
  538. package/dist/cjs/attributes-oNMnBEnP.js.map +0 -1
  539. package/dist/cjs/closest-BZXvuB_Y.js.map +0 -1
  540. package/dist/cjs/floating-ui.dom-BZk7Blsu.js.map +0 -1
  541. package/dist/cjs/form-CpM5Z8q7.js.map +0 -1
  542. package/dist/cjs/index-BUvWX8u2.js.map +0 -1
  543. package/dist/cjs/index-DGBoDsAL.js.map +0 -1
  544. package/dist/cjs/index.cjs.js.map +0 -1
  545. package/dist/cjs/loader.cjs.js.map +0 -1
  546. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +0 -1
  547. package/dist/cjs/pds-accordion.entry.cjs.js.map +0 -1
  548. package/dist/cjs/pds-alert.entry.cjs.js.map +0 -1
  549. package/dist/cjs/pds-avatar.entry.cjs.js.map +0 -1
  550. package/dist/cjs/pds-box.entry.cjs.js.map +0 -1
  551. package/dist/cjs/pds-button.entry.cjs.js.map +0 -1
  552. package/dist/cjs/pds-checkbox.entry.cjs.js.map +0 -1
  553. package/dist/cjs/pds-chip.entry.cjs.js.map +0 -1
  554. package/dist/cjs/pds-combobox.entry.cjs.js.map +0 -1
  555. package/dist/cjs/pds-container.entry.cjs.js.map +0 -1
  556. package/dist/cjs/pds-copytext.entry.cjs.js.map +0 -1
  557. package/dist/cjs/pds-divider.entry.cjs.js.map +0 -1
  558. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +0 -1
  559. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +0 -1
  560. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +0 -1
  561. package/dist/cjs/pds-filter.entry.cjs.js.map +0 -1
  562. package/dist/cjs/pds-filters.entry.cjs.js.map +0 -1
  563. package/dist/cjs/pds-icon.entry.cjs.js.map +0 -1
  564. package/dist/cjs/pds-image.entry.cjs.js.map +0 -1
  565. package/dist/cjs/pds-input.entry.cjs.js.map +0 -1
  566. package/dist/cjs/pds-link.entry.cjs.js.map +0 -1
  567. package/dist/cjs/pds-loader.entry.cjs.js.map +0 -1
  568. package/dist/cjs/pds-modal-content.entry.cjs.js.map +0 -1
  569. package/dist/cjs/pds-modal-footer.entry.cjs.js.map +0 -1
  570. package/dist/cjs/pds-modal-header.entry.cjs.js.map +0 -1
  571. package/dist/cjs/pds-modal.entry.cjs.js.map +0 -1
  572. package/dist/cjs/pds-multiselect.entry.cjs.js.map +0 -1
  573. package/dist/cjs/pds-popover.entry.cjs.js.map +0 -1
  574. package/dist/cjs/pds-progress.entry.cjs.js.map +0 -1
  575. package/dist/cjs/pds-property.entry.cjs.js.map +0 -1
  576. package/dist/cjs/pds-radio-group.entry.cjs.js.map +0 -1
  577. package/dist/cjs/pds-radio.entry.cjs.js.map +0 -1
  578. package/dist/cjs/pds-row.entry.cjs.js.map +0 -1
  579. package/dist/cjs/pds-select.entry.cjs.js.map +0 -1
  580. package/dist/cjs/pds-sortable-item.entry.cjs.js.map +0 -1
  581. package/dist/cjs/pds-sortable.entry.cjs.js.map +0 -1
  582. package/dist/cjs/pds-switch.entry.cjs.js.map +0 -1
  583. package/dist/cjs/pds-tab.entry.cjs.js.map +0 -1
  584. package/dist/cjs/pds-table-body.entry.cjs.js.map +0 -1
  585. package/dist/cjs/pds-table-cell.entry.cjs.js.map +0 -1
  586. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +0 -1
  587. package/dist/cjs/pds-table-head.entry.cjs.js.map +0 -1
  588. package/dist/cjs/pds-table-row.entry.cjs.js.map +0 -1
  589. package/dist/cjs/pds-table.entry.cjs.js.map +0 -1
  590. package/dist/cjs/pds-tabpanel.entry.cjs.js.map +0 -1
  591. package/dist/cjs/pds-tabs.entry.cjs.js.map +0 -1
  592. package/dist/cjs/pds-text.entry.cjs.js.map +0 -1
  593. package/dist/cjs/pds-textarea.entry.cjs.js.map +0 -1
  594. package/dist/cjs/pds-toast.entry.cjs.js.map +0 -1
  595. package/dist/cjs/pds-tooltip.entry.cjs.js.map +0 -1
  596. package/dist/cjs/pine-core.cjs.js.map +0 -1
  597. package/dist/cjs/scroll-2XcoE_6Q.js.map +0 -1
  598. package/dist/cjs/truncation-tooltip-CVzAha5B.js.map +0 -1
  599. package/dist/cjs/utils-7jx8T2mW.js.map +0 -1
  600. package/dist/collection/components/_internal/pds-label/pds-label.js.map +0 -1
  601. package/dist/collection/components/pds-accordion/pds-accordion.js.map +0 -1
  602. package/dist/collection/components/pds-alert/pds-alert.js.map +0 -1
  603. package/dist/collection/components/pds-avatar/pds-avatar.js.map +0 -1
  604. package/dist/collection/components/pds-box/pds-box.js.map +0 -1
  605. package/dist/collection/components/pds-button/pds-button.js.map +0 -1
  606. package/dist/collection/components/pds-checkbox/checkbox-interface.js.map +0 -1
  607. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +0 -1
  608. package/dist/collection/components/pds-chip/pds-chip.js.map +0 -1
  609. package/dist/collection/components/pds-combobox/combobox-interface.js.map +0 -1
  610. package/dist/collection/components/pds-combobox/pds-combobox.js.map +0 -1
  611. package/dist/collection/components/pds-container/pds-container.js.map +0 -1
  612. package/dist/collection/components/pds-copytext/pds-copytext.js.map +0 -1
  613. package/dist/collection/components/pds-divider/pds-divider.js.map +0 -1
  614. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +0 -1
  615. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js.map +0 -1
  616. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +0 -1
  617. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js.map +0 -1
  618. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +0 -1
  619. package/dist/collection/components/pds-filters/pds-filters.js.map +0 -1
  620. package/dist/collection/components/pds-image/pds-image.js.map +0 -1
  621. package/dist/collection/components/pds-input/input-interface.js.map +0 -1
  622. package/dist/collection/components/pds-input/pds-input.js.map +0 -1
  623. package/dist/collection/components/pds-link/pds-link.js.map +0 -1
  624. package/dist/collection/components/pds-loader/pds-loader.js.map +0 -1
  625. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +0 -1
  626. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js.map +0 -1
  627. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js.map +0 -1
  628. package/dist/collection/components/pds-modal/pds-modal.js.map +0 -1
  629. package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +0 -1
  630. package/dist/collection/components/pds-multiselect/multiselect-interface.js.map +0 -1
  631. package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +0 -1
  632. package/dist/collection/components/pds-popover/pds-popover.js.map +0 -1
  633. package/dist/collection/components/pds-popover/popover-interface.js.map +0 -1
  634. package/dist/collection/components/pds-progress/pds-progress.js.map +0 -1
  635. package/dist/collection/components/pds-property/pds-property.js.map +0 -1
  636. package/dist/collection/components/pds-radio/pds-radio.js.map +0 -1
  637. package/dist/collection/components/pds-radio-group/pds-radio-group.js.map +0 -1
  638. package/dist/collection/components/pds-radio-group/radio-group-interface.js.map +0 -1
  639. package/dist/collection/components/pds-row/pds-row.js.map +0 -1
  640. package/dist/collection/components/pds-select/pds-select.js.map +0 -1
  641. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js.map +0 -1
  642. package/dist/collection/components/pds-sortable/pds-sortable.js.map +0 -1
  643. package/dist/collection/components/pds-sortable/sortable-interface.js.map +0 -1
  644. package/dist/collection/components/pds-switch/pds-switch.js.map +0 -1
  645. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +0 -1
  646. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +0 -1
  647. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +0 -1
  648. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +0 -1
  649. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +0 -1
  650. package/dist/collection/components/pds-table/pds-table.js.map +0 -1
  651. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js.map +0 -1
  652. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js.map +0 -1
  653. package/dist/collection/components/pds-tabs/pds-tabs.js.map +0 -1
  654. package/dist/collection/components/pds-text/pds-text.js.map +0 -1
  655. package/dist/collection/components/pds-textarea/pds-textarea.js.map +0 -1
  656. package/dist/collection/components/pds-textarea/textarea-interface.js.map +0 -1
  657. package/dist/collection/components/pds-toast/pds-toast.js.map +0 -1
  658. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +0 -1
  659. package/dist/collection/global/pine-ui-global.js.map +0 -1
  660. package/dist/collection/index.js.map +0 -1
  661. package/dist/collection/utils/attributes.js.map +0 -1
  662. package/dist/collection/utils/closest.js.map +0 -1
  663. package/dist/collection/utils/form.js.map +0 -1
  664. package/dist/collection/utils/interfaces.js.map +0 -1
  665. package/dist/collection/utils/overlay.js.map +0 -1
  666. package/dist/collection/utils/scroll.js.map +0 -1
  667. package/dist/collection/utils/test/axe.js.map +0 -1
  668. package/dist/collection/utils/truncation-tooltip.js.map +0 -1
  669. package/dist/collection/utils/types.js.map +0 -1
  670. package/dist/collection/utils/utils.js.map +0 -1
  671. package/dist/esm/attributes-C0M1gTKv.js.map +0 -1
  672. package/dist/esm/closest-DnUJodVd.js.map +0 -1
  673. package/dist/esm/floating-ui.dom-DDtwbwIl.js.map +0 -1
  674. package/dist/esm/form-C3xDZBme.js.map +0 -1
  675. package/dist/esm/index-B2f84Zog.js.map +0 -1
  676. package/dist/esm/index-D4ys0pep.js.map +0 -1
  677. package/dist/esm/index.js.map +0 -1
  678. package/dist/esm/loader.js.map +0 -1
  679. package/dist/esm/mock-pds-modal.entry.js.map +0 -1
  680. package/dist/esm/pds-accordion.entry.js.map +0 -1
  681. package/dist/esm/pds-alert.entry.js.map +0 -1
  682. package/dist/esm/pds-avatar.entry.js.map +0 -1
  683. package/dist/esm/pds-box.entry.js.map +0 -1
  684. package/dist/esm/pds-button.entry.js.map +0 -1
  685. package/dist/esm/pds-checkbox.entry.js.map +0 -1
  686. package/dist/esm/pds-chip.entry.js.map +0 -1
  687. package/dist/esm/pds-combobox.entry.js.map +0 -1
  688. package/dist/esm/pds-container.entry.js.map +0 -1
  689. package/dist/esm/pds-copytext.entry.js.map +0 -1
  690. package/dist/esm/pds-divider.entry.js.map +0 -1
  691. package/dist/esm/pds-dropdown-menu-item.entry.js.map +0 -1
  692. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +0 -1
  693. package/dist/esm/pds-dropdown-menu.entry.js.map +0 -1
  694. package/dist/esm/pds-filter.entry.js.map +0 -1
  695. package/dist/esm/pds-filters.entry.js.map +0 -1
  696. package/dist/esm/pds-icon.entry.js.map +0 -1
  697. package/dist/esm/pds-image.entry.js.map +0 -1
  698. package/dist/esm/pds-input.entry.js.map +0 -1
  699. package/dist/esm/pds-link.entry.js.map +0 -1
  700. package/dist/esm/pds-loader.entry.js.map +0 -1
  701. package/dist/esm/pds-modal-content.entry.js.map +0 -1
  702. package/dist/esm/pds-modal-footer.entry.js.map +0 -1
  703. package/dist/esm/pds-modal-header.entry.js.map +0 -1
  704. package/dist/esm/pds-modal.entry.js.map +0 -1
  705. package/dist/esm/pds-multiselect.entry.js.map +0 -1
  706. package/dist/esm/pds-popover.entry.js.map +0 -1
  707. package/dist/esm/pds-progress.entry.js.map +0 -1
  708. package/dist/esm/pds-property.entry.js.map +0 -1
  709. package/dist/esm/pds-radio-group.entry.js.map +0 -1
  710. package/dist/esm/pds-radio.entry.js.map +0 -1
  711. package/dist/esm/pds-row.entry.js.map +0 -1
  712. package/dist/esm/pds-select.entry.js.map +0 -1
  713. package/dist/esm/pds-sortable-item.entry.js.map +0 -1
  714. package/dist/esm/pds-sortable.entry.js.map +0 -1
  715. package/dist/esm/pds-switch.entry.js.map +0 -1
  716. package/dist/esm/pds-tab.entry.js.map +0 -1
  717. package/dist/esm/pds-table-body.entry.js.map +0 -1
  718. package/dist/esm/pds-table-cell.entry.js.map +0 -1
  719. package/dist/esm/pds-table-head-cell.entry.js.map +0 -1
  720. package/dist/esm/pds-table-head.entry.js.map +0 -1
  721. package/dist/esm/pds-table-row.entry.js.map +0 -1
  722. package/dist/esm/pds-table.entry.js.map +0 -1
  723. package/dist/esm/pds-tabpanel.entry.js.map +0 -1
  724. package/dist/esm/pds-tabs.entry.js.map +0 -1
  725. package/dist/esm/pds-text.entry.js.map +0 -1
  726. package/dist/esm/pds-textarea.entry.js.map +0 -1
  727. package/dist/esm/pds-toast.entry.js.map +0 -1
  728. package/dist/esm/pds-tooltip.entry.js.map +0 -1
  729. package/dist/esm/pine-core.js.map +0 -1
  730. package/dist/esm/scroll-DtgUQhjl.js.map +0 -1
  731. package/dist/esm/truncation-tooltip-Blk4GigP.js.map +0 -1
  732. package/dist/esm/utils-tJa4KYNO.js.map +0 -1
  733. package/dist/esm-es5/attributes-C0M1gTKv.js.map +0 -1
  734. package/dist/esm-es5/closest-DnUJodVd.js.map +0 -1
  735. package/dist/esm-es5/floating-ui.dom-DDtwbwIl.js.map +0 -1
  736. package/dist/esm-es5/form-C3xDZBme.js.map +0 -1
  737. package/dist/esm-es5/index-B2f84Zog.js +0 -3
  738. package/dist/esm-es5/index-B2f84Zog.js.map +0 -1
  739. package/dist/esm-es5/index-D4ys0pep.js.map +0 -1
  740. package/dist/esm-es5/index.js.map +0 -1
  741. package/dist/esm-es5/loader.js.map +0 -1
  742. package/dist/esm-es5/mock-pds-modal.entry.js.map +0 -1
  743. package/dist/esm-es5/pds-accordion.entry.js.map +0 -1
  744. package/dist/esm-es5/pds-alert.entry.js.map +0 -1
  745. package/dist/esm-es5/pds-avatar.entry.js.map +0 -1
  746. package/dist/esm-es5/pds-box.entry.js.map +0 -1
  747. package/dist/esm-es5/pds-button.entry.js.map +0 -1
  748. package/dist/esm-es5/pds-checkbox.entry.js.map +0 -1
  749. package/dist/esm-es5/pds-chip.entry.js.map +0 -1
  750. package/dist/esm-es5/pds-combobox.entry.js.map +0 -1
  751. package/dist/esm-es5/pds-container.entry.js.map +0 -1
  752. package/dist/esm-es5/pds-copytext.entry.js.map +0 -1
  753. package/dist/esm-es5/pds-divider.entry.js.map +0 -1
  754. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +0 -1
  755. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +0 -1
  756. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +0 -1
  757. package/dist/esm-es5/pds-filter.entry.js.map +0 -1
  758. package/dist/esm-es5/pds-filters.entry.js.map +0 -1
  759. package/dist/esm-es5/pds-icon.entry.js.map +0 -1
  760. package/dist/esm-es5/pds-image.entry.js.map +0 -1
  761. package/dist/esm-es5/pds-input.entry.js.map +0 -1
  762. package/dist/esm-es5/pds-link.entry.js.map +0 -1
  763. package/dist/esm-es5/pds-loader.entry.js.map +0 -1
  764. package/dist/esm-es5/pds-modal-content.entry.js.map +0 -1
  765. package/dist/esm-es5/pds-modal-footer.entry.js.map +0 -1
  766. package/dist/esm-es5/pds-modal-header.entry.js.map +0 -1
  767. package/dist/esm-es5/pds-modal.entry.js.map +0 -1
  768. package/dist/esm-es5/pds-multiselect.entry.js.map +0 -1
  769. package/dist/esm-es5/pds-popover.entry.js.map +0 -1
  770. package/dist/esm-es5/pds-progress.entry.js.map +0 -1
  771. package/dist/esm-es5/pds-property.entry.js.map +0 -1
  772. package/dist/esm-es5/pds-radio-group.entry.js.map +0 -1
  773. package/dist/esm-es5/pds-radio.entry.js.map +0 -1
  774. package/dist/esm-es5/pds-row.entry.js.map +0 -1
  775. package/dist/esm-es5/pds-select.entry.js.map +0 -1
  776. package/dist/esm-es5/pds-sortable-item.entry.js.map +0 -1
  777. package/dist/esm-es5/pds-sortable.entry.js.map +0 -1
  778. package/dist/esm-es5/pds-switch.entry.js.map +0 -1
  779. package/dist/esm-es5/pds-tab.entry.js.map +0 -1
  780. package/dist/esm-es5/pds-table-body.entry.js.map +0 -1
  781. package/dist/esm-es5/pds-table-cell.entry.js.map +0 -1
  782. package/dist/esm-es5/pds-table-head-cell.entry.js.map +0 -1
  783. package/dist/esm-es5/pds-table-head.entry.js.map +0 -1
  784. package/dist/esm-es5/pds-table-row.entry.js.map +0 -1
  785. package/dist/esm-es5/pds-table.entry.js.map +0 -1
  786. package/dist/esm-es5/pds-tabpanel.entry.js.map +0 -1
  787. package/dist/esm-es5/pds-tabs.entry.js.map +0 -1
  788. package/dist/esm-es5/pds-text.entry.js.map +0 -1
  789. package/dist/esm-es5/pds-textarea.entry.js.map +0 -1
  790. package/dist/esm-es5/pds-toast.entry.js.map +0 -1
  791. package/dist/esm-es5/pds-tooltip.entry.js.map +0 -1
  792. package/dist/esm-es5/pine-core.js.map +0 -1
  793. package/dist/esm-es5/scroll-DtgUQhjl.js.map +0 -1
  794. package/dist/esm-es5/truncation-tooltip-Blk4GigP.js.map +0 -1
  795. package/dist/esm-es5/utils-tJa4KYNO.js.map +0 -1
  796. package/dist/pine-core/index.esm.js.map +0 -1
  797. package/dist/pine-core/loader.esm.js.map +0 -1
  798. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +0 -1
  799. package/dist/pine-core/p-037dbdcd.system.entry.js +0 -2
  800. package/dist/pine-core/p-037dbdcd.system.entry.js.map +0 -1
  801. package/dist/pine-core/p-06713f25.entry.js +0 -2
  802. package/dist/pine-core/p-06713f25.entry.js.map +0 -1
  803. package/dist/pine-core/p-0977b2dd.entry.js +0 -2
  804. package/dist/pine-core/p-0977b2dd.entry.js.map +0 -1
  805. package/dist/pine-core/p-099e9f9b.system.entry.js +0 -2
  806. package/dist/pine-core/p-099e9f9b.system.entry.js.map +0 -1
  807. package/dist/pine-core/p-0a7115f0.entry.js +0 -2
  808. package/dist/pine-core/p-0a7115f0.entry.js.map +0 -1
  809. package/dist/pine-core/p-0c1ab384.system.entry.js +0 -2
  810. package/dist/pine-core/p-0c1ab384.system.entry.js.map +0 -1
  811. package/dist/pine-core/p-0dee7449.system.entry.js +0 -2
  812. package/dist/pine-core/p-0dee7449.system.entry.js.map +0 -1
  813. package/dist/pine-core/p-102d0dd6.system.entry.js +0 -2
  814. package/dist/pine-core/p-102d0dd6.system.entry.js.map +0 -1
  815. package/dist/pine-core/p-10ebecc5.entry.js +0 -2
  816. package/dist/pine-core/p-10ebecc5.entry.js.map +0 -1
  817. package/dist/pine-core/p-1598f3af.entry.js +0 -2
  818. package/dist/pine-core/p-1598f3af.entry.js.map +0 -1
  819. package/dist/pine-core/p-1c32102e.system.entry.js +0 -2
  820. package/dist/pine-core/p-1c32102e.system.entry.js.map +0 -1
  821. package/dist/pine-core/p-2258b31b.system.entry.js +0 -2
  822. package/dist/pine-core/p-2258b31b.system.entry.js.map +0 -1
  823. package/dist/pine-core/p-275fa74c.system.entry.js +0 -2
  824. package/dist/pine-core/p-275fa74c.system.entry.js.map +0 -1
  825. package/dist/pine-core/p-27fc0737.system.entry.js +0 -2
  826. package/dist/pine-core/p-27fc0737.system.entry.js.map +0 -1
  827. package/dist/pine-core/p-32ad2807.system.entry.js +0 -2
  828. package/dist/pine-core/p-32ad2807.system.entry.js.map +0 -1
  829. package/dist/pine-core/p-33544ed1.system.entry.js +0 -2
  830. package/dist/pine-core/p-33544ed1.system.entry.js.map +0 -1
  831. package/dist/pine-core/p-34763aae.system.entry.js +0 -2
  832. package/dist/pine-core/p-34763aae.system.entry.js.map +0 -1
  833. package/dist/pine-core/p-36070380.system.entry.js +0 -2
  834. package/dist/pine-core/p-36070380.system.entry.js.map +0 -1
  835. package/dist/pine-core/p-3625bc45.entry.js +0 -2
  836. package/dist/pine-core/p-3625bc45.entry.js.map +0 -1
  837. package/dist/pine-core/p-3b087f24.entry.js +0 -2
  838. package/dist/pine-core/p-3b087f24.entry.js.map +0 -1
  839. package/dist/pine-core/p-3f66c070.entry.js +0 -2
  840. package/dist/pine-core/p-3f66c070.entry.js.map +0 -1
  841. package/dist/pine-core/p-407aad2b.system.entry.js +0 -2
  842. package/dist/pine-core/p-407aad2b.system.entry.js.map +0 -1
  843. package/dist/pine-core/p-44ca9b92.entry.js +0 -2
  844. package/dist/pine-core/p-44ca9b92.entry.js.map +0 -1
  845. package/dist/pine-core/p-476db791.entry.js +0 -2
  846. package/dist/pine-core/p-476db791.entry.js.map +0 -1
  847. package/dist/pine-core/p-4780403d.system.entry.js +0 -2
  848. package/dist/pine-core/p-4780403d.system.entry.js.map +0 -1
  849. package/dist/pine-core/p-48ac6873.entry.js +0 -2
  850. package/dist/pine-core/p-48ac6873.entry.js.map +0 -1
  851. package/dist/pine-core/p-4FBDaIH3.system.js.map +0 -1
  852. package/dist/pine-core/p-4ede20e6.entry.js +0 -2
  853. package/dist/pine-core/p-4ede20e6.entry.js.map +0 -1
  854. package/dist/pine-core/p-4f2a48cb.system.entry.js +0 -2
  855. package/dist/pine-core/p-4f2a48cb.system.entry.js.map +0 -1
  856. package/dist/pine-core/p-4f440dd4.entry.js +0 -2
  857. package/dist/pine-core/p-4f440dd4.entry.js.map +0 -1
  858. package/dist/pine-core/p-4jrX5aRd.system.js.map +0 -1
  859. package/dist/pine-core/p-51e47e6e.system.entry.js +0 -2
  860. package/dist/pine-core/p-51e47e6e.system.entry.js.map +0 -1
  861. package/dist/pine-core/p-52411757.system.entry.js +0 -2
  862. package/dist/pine-core/p-52411757.system.entry.js.map +0 -1
  863. package/dist/pine-core/p-557005a0.entry.js +0 -2
  864. package/dist/pine-core/p-557005a0.entry.js.map +0 -1
  865. package/dist/pine-core/p-5e117b98.entry.js +0 -2
  866. package/dist/pine-core/p-5e117b98.entry.js.map +0 -1
  867. package/dist/pine-core/p-639012b9.system.entry.js +0 -2
  868. package/dist/pine-core/p-639012b9.system.entry.js.map +0 -1
  869. package/dist/pine-core/p-643b01ad.entry.js +0 -2
  870. package/dist/pine-core/p-643b01ad.entry.js.map +0 -1
  871. package/dist/pine-core/p-6623b257.system.entry.js +0 -2
  872. package/dist/pine-core/p-6623b257.system.entry.js.map +0 -1
  873. package/dist/pine-core/p-74ff4d96.system.entry.js +0 -2
  874. package/dist/pine-core/p-74ff4d96.system.entry.js.map +0 -1
  875. package/dist/pine-core/p-77327e1b.system.entry.js +0 -2
  876. package/dist/pine-core/p-77327e1b.system.entry.js.map +0 -1
  877. package/dist/pine-core/p-774ecbd4.entry.js +0 -2
  878. package/dist/pine-core/p-774ecbd4.entry.js.map +0 -1
  879. package/dist/pine-core/p-7926dc93.entry.js +0 -2
  880. package/dist/pine-core/p-7926dc93.entry.js.map +0 -1
  881. package/dist/pine-core/p-7a3eccef.entry.js +0 -2
  882. package/dist/pine-core/p-7a3eccef.entry.js.map +0 -1
  883. package/dist/pine-core/p-7acb131c.system.entry.js +0 -2
  884. package/dist/pine-core/p-7acb131c.system.entry.js.map +0 -1
  885. package/dist/pine-core/p-81a3e32b.entry.js +0 -2
  886. package/dist/pine-core/p-81a3e32b.entry.js.map +0 -1
  887. package/dist/pine-core/p-848763b6.system.entry.js +0 -2
  888. package/dist/pine-core/p-848763b6.system.entry.js.map +0 -1
  889. package/dist/pine-core/p-85e889c3.system.entry.js.map +0 -1
  890. package/dist/pine-core/p-8669e0e3.system.entry.js +0 -2
  891. package/dist/pine-core/p-8669e0e3.system.entry.js.map +0 -1
  892. package/dist/pine-core/p-8735cb58.entry.js +0 -2
  893. package/dist/pine-core/p-8735cb58.entry.js.map +0 -1
  894. package/dist/pine-core/p-8b3aeaf9.system.entry.js +0 -2
  895. package/dist/pine-core/p-8b3aeaf9.system.entry.js.map +0 -1
  896. package/dist/pine-core/p-8b7aa53d.entry.js +0 -2
  897. package/dist/pine-core/p-8b7aa53d.entry.js.map +0 -1
  898. package/dist/pine-core/p-8c97fcb1.entry.js +0 -2
  899. package/dist/pine-core/p-8c97fcb1.entry.js.map +0 -1
  900. package/dist/pine-core/p-8c9f8ca6.entry.js +0 -2
  901. package/dist/pine-core/p-8c9f8ca6.entry.js.map +0 -1
  902. package/dist/pine-core/p-904e8d9d.system.entry.js +0 -2
  903. package/dist/pine-core/p-904e8d9d.system.entry.js.map +0 -1
  904. package/dist/pine-core/p-91bea052.entry.js +0 -2
  905. package/dist/pine-core/p-91bea052.entry.js.map +0 -1
  906. package/dist/pine-core/p-9230df2a.system.entry.js +0 -2
  907. package/dist/pine-core/p-9230df2a.system.entry.js.map +0 -1
  908. package/dist/pine-core/p-94a09b06.entry.js +0 -2
  909. package/dist/pine-core/p-94a09b06.entry.js.map +0 -1
  910. package/dist/pine-core/p-94d4d1de.entry.js +0 -3
  911. package/dist/pine-core/p-94d4d1de.entry.js.map +0 -1
  912. package/dist/pine-core/p-984db3fc.entry.js +0 -2
  913. package/dist/pine-core/p-984db3fc.entry.js.map +0 -1
  914. package/dist/pine-core/p-988d1723.system.entry.js +0 -2
  915. package/dist/pine-core/p-988d1723.system.entry.js.map +0 -1
  916. package/dist/pine-core/p-98dabbbf.entry.js +0 -2
  917. package/dist/pine-core/p-98dabbbf.entry.js.map +0 -1
  918. package/dist/pine-core/p-9a3c9d15.system.entry.js +0 -2
  919. package/dist/pine-core/p-9a3c9d15.system.entry.js.map +0 -1
  920. package/dist/pine-core/p-9b3aedeb.system.entry.js +0 -2
  921. package/dist/pine-core/p-9b3aedeb.system.entry.js.map +0 -1
  922. package/dist/pine-core/p-9ce56712.system.entry.js +0 -2
  923. package/dist/pine-core/p-9ce56712.system.entry.js.map +0 -1
  924. package/dist/pine-core/p-9e48d1ea.system.entry.js +0 -2
  925. package/dist/pine-core/p-9e48d1ea.system.entry.js.map +0 -1
  926. package/dist/pine-core/p-9e5c58c6.entry.js +0 -8
  927. package/dist/pine-core/p-9e5c58c6.entry.js.map +0 -1
  928. package/dist/pine-core/p-B-I9BXj1.system.js.map +0 -1
  929. package/dist/pine-core/p-B-nnQT8K.system.js.map +0 -1
  930. package/dist/pine-core/p-B1u-QvFn.system.js.map +0 -1
  931. package/dist/pine-core/p-B2f84Zog.js +0 -3
  932. package/dist/pine-core/p-B2f84Zog.js.map +0 -1
  933. package/dist/pine-core/p-BC7kndqW.system.js.map +0 -1
  934. package/dist/pine-core/p-BFAhunk3.system.js.map +0 -1
  935. package/dist/pine-core/p-BG6uGRQj.system.js.map +0 -1
  936. package/dist/pine-core/p-BJQiqlL7.system.js.map +0 -1
  937. package/dist/pine-core/p-BLg534X3.system.js.map +0 -1
  938. package/dist/pine-core/p-BNSGedhN.js.map +0 -1
  939. package/dist/pine-core/p-BT-iITx_.system.js.map +0 -1
  940. package/dist/pine-core/p-BTsajr3h.system.js.map +0 -1
  941. package/dist/pine-core/p-BcCpTdwz.system.js.map +0 -1
  942. package/dist/pine-core/p-BhQhw0S3.system.js.map +0 -1
  943. package/dist/pine-core/p-Bkk7A0W9.system.js.map +0 -1
  944. package/dist/pine-core/p-BmOvsRx7.system.js.map +0 -1
  945. package/dist/pine-core/p-BrLs99ML.system.js.map +0 -1
  946. package/dist/pine-core/p-BtfqzsXS.system.js.map +0 -1
  947. package/dist/pine-core/p-BvJkwltO.system.js.map +0 -1
  948. package/dist/pine-core/p-BvV4-w8H.system.js.map +0 -1
  949. package/dist/pine-core/p-C0M1gTKv.js.map +0 -1
  950. package/dist/pine-core/p-C3TuSlI7.system.js.map +0 -1
  951. package/dist/pine-core/p-C3xDZBme.js.map +0 -1
  952. package/dist/pine-core/p-C5jXV4WJ.system.js.map +0 -1
  953. package/dist/pine-core/p-C5qxTQb1.system.js.map +0 -1
  954. package/dist/pine-core/p-C62JIZmE.system.js.map +0 -1
  955. package/dist/pine-core/p-C6yvFUy3.system.js.map +0 -1
  956. package/dist/pine-core/p-CCRLZO4N.system.js.map +0 -1
  957. package/dist/pine-core/p-CD-PjU09.system.js.map +0 -1
  958. package/dist/pine-core/p-CI-oL5TR.system.js.map +0 -1
  959. package/dist/pine-core/p-CIbXcB4O.system.js.map +0 -1
  960. package/dist/pine-core/p-CIe6-SsT.system.js.map +0 -1
  961. package/dist/pine-core/p-CRCxGYgw.system.js.map +0 -1
  962. package/dist/pine-core/p-CSVND2Gt.system.js.map +0 -1
  963. package/dist/pine-core/p-CUEE9EMe.system.js.map +0 -1
  964. package/dist/pine-core/p-CXImmjF5.system.js.map +0 -1
  965. package/dist/pine-core/p-C_g3FnvJ.system.js.map +0 -1
  966. package/dist/pine-core/p-CmNZDo8q.system.js.map +0 -1
  967. package/dist/pine-core/p-Cn98QWqb.system.js.map +0 -1
  968. package/dist/pine-core/p-Cqgvmo2o.system.js +0 -2
  969. package/dist/pine-core/p-Cqgvmo2o.system.js.map +0 -1
  970. package/dist/pine-core/p-Cu24FhMY.system.js.map +0 -1
  971. package/dist/pine-core/p-CwEjYXkp.system.js.map +0 -1
  972. package/dist/pine-core/p-D4ys0pep.js.map +0 -1
  973. package/dist/pine-core/p-DA3fC_kX.system.js.map +0 -1
  974. package/dist/pine-core/p-DDtwbwIl.js.map +0 -1
  975. package/dist/pine-core/p-DG_z5J3G.system.js.map +0 -1
  976. package/dist/pine-core/p-DL3JCnpO.system.js.map +0 -1
  977. package/dist/pine-core/p-DSlRwx2e.system.js.map +0 -1
  978. package/dist/pine-core/p-DVra397g.system.js.map +0 -1
  979. package/dist/pine-core/p-DYlgS5d7.system.js +0 -3
  980. package/dist/pine-core/p-DYlgS5d7.system.js.map +0 -1
  981. package/dist/pine-core/p-DeVgpUr5.system.js.map +0 -1
  982. package/dist/pine-core/p-DnUJodVd.js.map +0 -1
  983. package/dist/pine-core/p-DtgUQhjl.js.map +0 -1
  984. package/dist/pine-core/p-Dxrjs-vy.system.js.map +0 -1
  985. package/dist/pine-core/p-H7VDsgsr.system.js.map +0 -1
  986. package/dist/pine-core/p-JwuGXyPc.system.js.map +0 -1
  987. package/dist/pine-core/p-U1PewsWZ.system.js.map +0 -1
  988. package/dist/pine-core/p-UILRZV99.system.js.map +0 -1
  989. package/dist/pine-core/p-V-ORMWaS.system.js.map +0 -1
  990. package/dist/pine-core/p-W7E5TRNL.system.js.map +0 -1
  991. package/dist/pine-core/p-YWpyar7R.system.js.map +0 -1
  992. package/dist/pine-core/p-Yfy85hdp.system.js.map +0 -1
  993. package/dist/pine-core/p-ZrPaY2bh.system.js.map +0 -1
  994. package/dist/pine-core/p-a30b386f.entry.js +0 -2
  995. package/dist/pine-core/p-a30b386f.entry.js.map +0 -1
  996. package/dist/pine-core/p-a5014407.system.entry.js +0 -2
  997. package/dist/pine-core/p-a5014407.system.entry.js.map +0 -1
  998. package/dist/pine-core/p-a695ff4c.system.entry.js +0 -2
  999. package/dist/pine-core/p-a695ff4c.system.entry.js.map +0 -1
  1000. package/dist/pine-core/p-a8c49f8e.entry.js +0 -2
  1001. package/dist/pine-core/p-a8c49f8e.entry.js.map +0 -1
  1002. package/dist/pine-core/p-ae74a4b6.system.entry.js +0 -2
  1003. package/dist/pine-core/p-ae74a4b6.system.entry.js.map +0 -1
  1004. package/dist/pine-core/p-b1cde22a.entry.js +0 -2
  1005. package/dist/pine-core/p-b1cde22a.entry.js.map +0 -1
  1006. package/dist/pine-core/p-b9340fb1.system.entry.js +0 -2
  1007. package/dist/pine-core/p-b9340fb1.system.entry.js.map +0 -1
  1008. package/dist/pine-core/p-b9fcc3f8.system.entry.js +0 -2
  1009. package/dist/pine-core/p-b9fcc3f8.system.entry.js.map +0 -1
  1010. package/dist/pine-core/p-bIvjoz7p.system.js.map +0 -1
  1011. package/dist/pine-core/p-bc8f61d1.entry.js +0 -2
  1012. package/dist/pine-core/p-bc8f61d1.entry.js.map +0 -1
  1013. package/dist/pine-core/p-bea013d1.entry.js +0 -2
  1014. package/dist/pine-core/p-bea013d1.entry.js.map +0 -1
  1015. package/dist/pine-core/p-c026479a.system.entry.js +0 -2
  1016. package/dist/pine-core/p-c026479a.system.entry.js.map +0 -1
  1017. package/dist/pine-core/p-c9784d20.system.entry.js +0 -4
  1018. package/dist/pine-core/p-c9784d20.system.entry.js.map +0 -1
  1019. package/dist/pine-core/p-c9b06db1.system.entry.js +0 -2
  1020. package/dist/pine-core/p-c9b06db1.system.entry.js.map +0 -1
  1021. package/dist/pine-core/p-cab14421.entry.js +0 -2
  1022. package/dist/pine-core/p-cab14421.entry.js.map +0 -1
  1023. package/dist/pine-core/p-d5fcdcdd.entry.js +0 -2
  1024. package/dist/pine-core/p-d5fcdcdd.entry.js.map +0 -1
  1025. package/dist/pine-core/p-d86e20b5.system.entry.js +0 -2
  1026. package/dist/pine-core/p-d86e20b5.system.entry.js.map +0 -1
  1027. package/dist/pine-core/p-d9354ad3.system.entry.js +0 -2
  1028. package/dist/pine-core/p-d9354ad3.system.entry.js.map +0 -1
  1029. package/dist/pine-core/p-dab76f15.entry.js +0 -2
  1030. package/dist/pine-core/p-dab76f15.entry.js.map +0 -1
  1031. package/dist/pine-core/p-db16d1fe.entry.js +0 -2
  1032. package/dist/pine-core/p-db16d1fe.entry.js.map +0 -1
  1033. package/dist/pine-core/p-db63f83b.system.entry.js +0 -2
  1034. package/dist/pine-core/p-db63f83b.system.entry.js.map +0 -1
  1035. package/dist/pine-core/p-dd3ea74e.system.entry.js +0 -2
  1036. package/dist/pine-core/p-dd3ea74e.system.entry.js.map +0 -1
  1037. package/dist/pine-core/p-ddb48534.entry.js +0 -2
  1038. package/dist/pine-core/p-ddb48534.entry.js.map +0 -1
  1039. package/dist/pine-core/p-de9f43b6.entry.js +0 -2
  1040. package/dist/pine-core/p-de9f43b6.entry.js.map +0 -1
  1041. package/dist/pine-core/p-e25da259.entry.js +0 -2
  1042. package/dist/pine-core/p-e25da259.entry.js.map +0 -1
  1043. package/dist/pine-core/p-e288dc89.system.entry.js +0 -2
  1044. package/dist/pine-core/p-e288dc89.system.entry.js.map +0 -1
  1045. package/dist/pine-core/p-ea5c42b8.system.entry.js +0 -2
  1046. package/dist/pine-core/p-ea5c42b8.system.entry.js.map +0 -1
  1047. package/dist/pine-core/p-ed5d5be6.entry.js +0 -2
  1048. package/dist/pine-core/p-ed5d5be6.entry.js.map +0 -1
  1049. package/dist/pine-core/p-ef081f0f.entry.js +0 -2
  1050. package/dist/pine-core/p-ef081f0f.entry.js.map +0 -1
  1051. package/dist/pine-core/p-f09c5021.entry.js +0 -2
  1052. package/dist/pine-core/p-f09c5021.entry.js.map +0 -1
  1053. package/dist/pine-core/p-f201cf57.entry.js +0 -2
  1054. package/dist/pine-core/p-f201cf57.entry.js.map +0 -1
  1055. package/dist/pine-core/p-f20ab351.entry.js +0 -2
  1056. package/dist/pine-core/p-f20ab351.entry.js.map +0 -1
  1057. package/dist/pine-core/p-f2798581.entry.js +0 -2
  1058. package/dist/pine-core/p-f2798581.entry.js.map +0 -1
  1059. package/dist/pine-core/p-f2ca0cf8.entry.js +0 -2
  1060. package/dist/pine-core/p-f2ca0cf8.entry.js.map +0 -1
  1061. package/dist/pine-core/p-f77fad86.system.entry.js +0 -2
  1062. package/dist/pine-core/p-f77fad86.system.entry.js.map +0 -1
  1063. package/dist/pine-core/p-ff472f7c.system.entry.js +0 -2
  1064. package/dist/pine-core/p-ff472f7c.system.entry.js.map +0 -1
  1065. package/dist/pine-core/p-ff5b2c90.entry.js +0 -2
  1066. package/dist/pine-core/p-ff5b2c90.entry.js.map +0 -1
  1067. package/dist/pine-core/p-g4mFEadi.system.js.map +0 -1
  1068. package/dist/pine-core/p-kYMYDfJY.system.js.map +0 -1
  1069. package/dist/pine-core/p-tJa4KYNO.js.map +0 -1
  1070. package/dist/pine-core/p-vLxlRu4_.system.js.map +0 -1
  1071. package/dist/pine-core/p-ziMh7dwl.system.js.map +0 -1
  1072. package/dist/pine-core/pds-accordion.entry.esm.js.map +0 -1
  1073. package/dist/pine-core/pds-alert.entry.esm.js.map +0 -1
  1074. package/dist/pine-core/pds-avatar.entry.esm.js.map +0 -1
  1075. package/dist/pine-core/pds-box.entry.esm.js.map +0 -1
  1076. package/dist/pine-core/pds-button.entry.esm.js.map +0 -1
  1077. package/dist/pine-core/pds-checkbox.entry.esm.js.map +0 -1
  1078. package/dist/pine-core/pds-chip.entry.esm.js.map +0 -1
  1079. package/dist/pine-core/pds-combobox.entry.esm.js.map +0 -1
  1080. package/dist/pine-core/pds-container.entry.esm.js.map +0 -1
  1081. package/dist/pine-core/pds-copytext.entry.esm.js.map +0 -1
  1082. package/dist/pine-core/pds-divider.entry.esm.js.map +0 -1
  1083. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +0 -1
  1084. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +0 -1
  1085. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +0 -1
  1086. package/dist/pine-core/pds-filter.entry.esm.js.map +0 -1
  1087. package/dist/pine-core/pds-filters.entry.esm.js.map +0 -1
  1088. package/dist/pine-core/pds-icon.entry.esm.js.map +0 -1
  1089. package/dist/pine-core/pds-image.entry.esm.js.map +0 -1
  1090. package/dist/pine-core/pds-input.entry.esm.js.map +0 -1
  1091. package/dist/pine-core/pds-link.entry.esm.js.map +0 -1
  1092. package/dist/pine-core/pds-loader.entry.esm.js.map +0 -1
  1093. package/dist/pine-core/pds-modal-content.entry.esm.js.map +0 -1
  1094. package/dist/pine-core/pds-modal-footer.entry.esm.js.map +0 -1
  1095. package/dist/pine-core/pds-modal-header.entry.esm.js.map +0 -1
  1096. package/dist/pine-core/pds-modal.entry.esm.js.map +0 -1
  1097. package/dist/pine-core/pds-multiselect.entry.esm.js.map +0 -1
  1098. package/dist/pine-core/pds-popover.entry.esm.js.map +0 -1
  1099. package/dist/pine-core/pds-progress.entry.esm.js.map +0 -1
  1100. package/dist/pine-core/pds-property.entry.esm.js.map +0 -1
  1101. package/dist/pine-core/pds-radio-group.entry.esm.js.map +0 -1
  1102. package/dist/pine-core/pds-radio.entry.esm.js.map +0 -1
  1103. package/dist/pine-core/pds-row.entry.esm.js.map +0 -1
  1104. package/dist/pine-core/pds-select.entry.esm.js.map +0 -1
  1105. package/dist/pine-core/pds-sortable-item.entry.esm.js.map +0 -1
  1106. package/dist/pine-core/pds-sortable.entry.esm.js.map +0 -1
  1107. package/dist/pine-core/pds-switch.entry.esm.js.map +0 -1
  1108. package/dist/pine-core/pds-tab.entry.esm.js.map +0 -1
  1109. package/dist/pine-core/pds-table-body.entry.esm.js.map +0 -1
  1110. package/dist/pine-core/pds-table-cell.entry.esm.js.map +0 -1
  1111. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +0 -1
  1112. package/dist/pine-core/pds-table-head.entry.esm.js.map +0 -1
  1113. package/dist/pine-core/pds-table-row.entry.esm.js.map +0 -1
  1114. package/dist/pine-core/pds-table.entry.esm.js.map +0 -1
  1115. package/dist/pine-core/pds-tabpanel.entry.esm.js.map +0 -1
  1116. package/dist/pine-core/pds-tabs.entry.esm.js.map +0 -1
  1117. package/dist/pine-core/pds-text.entry.esm.js.map +0 -1
  1118. package/dist/pine-core/pds-textarea.entry.esm.js.map +0 -1
  1119. package/dist/pine-core/pds-toast.entry.esm.js.map +0 -1
  1120. package/dist/pine-core/pds-tooltip.entry.esm.js.map +0 -1
  1121. package/dist/pine-core/pine-core.esm.js.map +0 -1
  1122. package/dist/scripts/vscode-custom-data-generator.js.map +0 -1
  1123. package/dist/vscode.html-data.json +0 -10551
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-avatar.js","sourceRoot":"","sources":["../../../../src/components/pds-avatar/pds-avatar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop } from '@stencil/core';\nimport { checkCircleFilled, userFilled } from '@pine-ds/icons/icons';\n\n/**\n * @part asset-wrapper\n * @part button\n * @part image - The main image element that represents the avatar component.\n*/\n@Component({\n tag: 'pds-avatar',\n styleUrls: ['pds-avatar.scss'],\n shadow: true,\n})\nexport class PdsAvatar {\n\n /**\n * The alt for a custom user image.\n * @defaultValue null\n */\n @Prop() alt?: string | null = null;\n\n /**\n * Determines whether the badge is visible or not.\n * @defaultValue false\n */\n @Prop() badge? = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether the avatar functions as a dropdown trigger.\n * @defaultValue false\n */\n @Prop() dropdown? = false;\n\n /**\n * The src for a custom user image.\n * @defaultValue null\n */\n @Prop() image?: string | null = null;\n\n /**\n * The initials to display in the avatar when no image is provided.\n * @defaultValue null\n */\n @Prop() initials?: string | null = null;\n\n /**\n * Size of the avatar. Value can be preset or custom.\n * @defaultValue lg\n */\n @Prop({ reflect: true }) size?:\n | 'xl' // 64px\n | 'lg' // 56px\n | 'md' // 40px\n | 'sm' // 32px\n | 'xs' // 24px\n | string = 'lg';\n\n /**\n * Determines the variant of avatar. Changes appearance accordingly.\n * @defaultValue customer\n */\n @Prop({ reflect: true }) variant?: 'customer' | 'admin' = 'customer';\n\n private avatarSize() {\n const sizes: { [key: string]: any } = {\n xs: '24px',\n sm: '32px',\n md: '40px',\n lg: '56px',\n xl: '64px',\n }\n\n if (sizes[this.size]) {\n return sizes[this.size];\n } else {\n return this.size\n }\n }\n\n private renderAssetWrapper = () => {\n const style = {\n height: this.avatarSize(),\n width: this.avatarSize()\n };\n\n return (\n <div style={style} part=\"asset-wrapper\">\n {this.renderIconOrImage()}\n {this.renderBadge()}\n </div>\n )\n };\n\n private renderAvatar = () => {\n return (\n this.dropdown\n ?\n <button class=\"pds-avatar__button\" type=\"button\" part=\"button\" aria-label=\"Avatar dropdown trigger\">\n {this.renderAssetWrapper()}\n </button>\n :\n this.renderAssetWrapper()\n )\n };\n\n private renderBadge = () => (\n this.badge\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n && <pds-icon color=\"var(--pine-color-purple-600)\" class=\"pds-avatar__badge\" icon={checkCircleFilled} size=\"33.53%\"></pds-icon>\n );\n\n private renderIconOrImage = () => {\n if (this.image) {\n return <img alt={this.alt} src={this.image} />;\n }\n\n if (this.initials) {\n return (\n <svg class=\"pds-avatar__initials\" viewBox=\"0 0 32 32\">\n <text x=\"16\" y=\"20\">{this.initials}</text>\n </svg>\n );\n }\n\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n return <pds-icon color=\"var(--pine-color-brand)\" icon={userFilled} size=\"33.53%\"></pds-icon>;\n };\n\n private classNames = () => (\n {\n 'pds-avatar': true,\n [`pds-avatar--has-image`]: this.image !== '' && this.image !== null, // Remove when FF supports :has selector\n [`pds-avatar--has-initials`]: this.initials !== '' && this.initials !== null,\n [`pds-avatar--${this.variant}`]: this.variant === 'admin'\n }\n );\n\n render() {\n\n return (\n <Host\n id={this.componentId}\n class={{...this.classNames()}}\n >\n {this.renderAvatar()}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-box.js","sourceRoot":"","sources":["../../../../src/components/pds-box/pds-box.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\nimport { BoxColumnType, BoxSpacingType, BoxShadowSizeType } from '../../utils/types';\nimport { normalizeColorValue } from '../../utils/utils';\n\n@Component({\n tag: 'pds-box',\n styleUrl: 'pds-box.scss',\n})\nexport class PdsBox {\n /**\n * Defines how items within the box are aligned.\n * @defaultValue stretch\n */\n @Prop() alignItems?: `start` | `center` | `end` | `baseline` | `stretch` ;\n\n /**\n * Defines how items within the box are aligned at the XS breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the SM breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the MD breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the LG breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how items within the box are aligned at the XL breakpoint.\n * @defaultValue stretch\n */\n @Prop() alignItemsXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container.\n * @defaultValue stretch\n */\n @Prop() alignSelf?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XS breakpoint.\n *\n */\n @Prop() alignSelfXs?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the SM breakpoint.\n *\n */\n @Prop() alignSelfSm?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the MD breakpoint.\n *\n */\n @Prop() alignSelfMd?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the LG breakpoint.\n *\n */\n @Prop() alignSelfLg?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * Defines how the box is aligned within its container at the XL breakpoint.\n *\n */\n @Prop() alignSelfXl?: `start` | `center` | `end` | `baseline` | `stretch`;\n\n /**\n * If `true`, the box will be sized to fit its contents.\n */\n @Prop() auto?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XS breakpoint.\n */\n @Prop() autoXs?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the SM breakpoint.\n */\n @Prop() autoSm?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the MD breakpoint.\n */\n @Prop() autoMd?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the LG breakpoint.\n */\n @Prop() autoLg?: boolean;\n\n /**\n * If `true`, the box will be sized to fit its contents at the XL breakpoint.\n */\n @Prop() autoXl?: boolean;\n\n /**\n * Defines the background-color of the box.\n */\n @Prop() backgroundColor?: string;\n\n /**\n * If `true`, the box will have a border.\n */\n @Prop() border? = false;\n\n /**\n * Defines the border color of the box.\n */\n @Prop() borderColor?: string;\n\n /**\n * Defines how rounded the box corners are.\n * @defaultValue none\n */\n @Prop() borderRadius?: `none` | `xs`| `sm` | `md` | `lg` | `circle`;\n\n /**\n * Defines the orientation of the box items.\n * @defaultValue row\n */\n @Prop() direction?: `row` | `column`;\n\n /**\n * Defines the display style of the box.\n * @defaultValue flex\n */\n @Prop() display?: `flex` | `inline-flex` | `block` | `inline-block`;\n\n /**\n * If `true`, sets the box `max-width` to `100%`.\n */\n @Prop() fit?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XS breakpoint.\n */\n @Prop() fitXs?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the SM breakpoint.\n */\n @Prop() fitSm?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the MD breakpoint.\n */\n @Prop() fitMd?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the LG breakpoint.\n */\n @Prop() fitLg?: boolean;\n\n /**\n * If `true`, sets the box `max-width` to `100%` at the XL breakpoint.\n */\n @Prop() fitXl?: boolean;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() gap?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() gapXs?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() gapSm?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() gapMd?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() gapLg?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() gapXl?: BoxSpacingType;\n\n /**\n * Defines whether flex items are forced onto one line or can wrap onto multiple lines.\n * @defaultValue false\n */\n @Prop() wrap?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XS breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXs?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the SM breakpoint.\n * @defaultValue false\n */\n @Prop() wrapSm?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the MD breakpoint.\n * @defaultValue false\n */\n @Prop() wrapMd?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the LG breakpoint.\n * @defaultValue false\n */\n @Prop() wrapLg?: boolean;\n\n /**\n * Defines whether flex items can wrap onto multiple lines at the XL breakpoint.\n * @defaultValue false\n */\n @Prop() wrapXl?: boolean;\n\n /**\n * Defines how a box will grow or shrink to fit the space available in its container.\n * Can be a predefined value ('none', 'grow', 'shrink') or a custom flex value (e.g., '1', '0 1 auto').\n * @defaultValue none\n */\n @Prop() flex?: `none` | `grow` | `shrink` | string;\n\n /**\n * Defines the horizontal alignment of the box items.\n * @defaultValue start\n */\n @Prop() justifyContent?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XS breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXs?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the SM breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentSm?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the MD breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentMd?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the LG breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentLg?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the horizontal alignment of the box items at the XL breakpoint.\n * @defaultValue start\n */\n @Prop() justifyContentXl?: `start` | `center` | `end` | `space-between` | `space-around` | `space-evenly`;\n\n /**\n * Defines the box's outer top spacing.\n * @defaultValue none\n */\n @Prop() marginBlockStart?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockStartXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing.\n * @defaultValue none\n */\n @Prop() marginInlineStart?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineStartXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing.\n * @defaultValue none\n */\n @Prop() marginInlineEnd?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginInlineEndXl?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing.\n * @defaultValue none\n */\n @Prop() marginBlockEnd?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXs?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndSm?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndMd?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndLg?: BoxSpacingType;\n\n /**\n * Defines the box's outer bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() marginBlockEndXl?: BoxSpacingType;\n\n /**\n * The minimum height of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minHeight?: string;\n\n /**\n * The minimum width of the row. Used in conjunction with alignment props\n */\n @Prop({ reflect: true }) minWidth?: string;\n\n /**\n * Move columns to the end direction of the row for all screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offset?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XS` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXs?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `SM` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetSm?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `MD` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetMd?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `LG` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetLg?: BoxColumnType;\n\n /**\n * Move columns to the end direction of the row for `XL` screen sizes. Increases the starting margin of a column by specified number of columns.\n */\n @Prop() offsetXl?: BoxColumnType;\n\n /**\n * Defines the spacing between the box items.\n * @defaultValue none\n */\n @Prop() padding?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXs?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingSm?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingMd?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingLg?: BoxSpacingType;\n\n /**\n * Defines the spacing between the box items at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingXl?: BoxSpacingType;\n\n\n /**\n * Defines the top spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockStart?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXs?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartSm?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartMd?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartLg?: BoxSpacingType;\n\n /**\n * Defines the top spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockStartXl?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing.\n * @defaultValue none\n */\n @Prop() paddingBlockEnd?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXs?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndSm?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndMd?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndLg?: BoxSpacingType;\n\n /**\n * Defines the bottom spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingBlockEndXl?: BoxSpacingType;\n\n /**\n * Defines the left spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineStart?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXs?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartSm?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartMd?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartLg?: BoxSpacingType;\n\n /**\n * Defines the left spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineStartXl?: BoxSpacingType;\n\n /**\n * Defines the right spacing.\n * @defaultValue none\n */\n @Prop() paddingInlineEnd?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the XS breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXs?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the SM breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndSm?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the MD breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndMd?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the LG breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndLg?: BoxSpacingType;\n\n /**\n * Defines the right spacing at the XL breakpoint.\n * @defaultValue none\n */\n @Prop() paddingInlineEndXl?: BoxSpacingType;\n\n /**\n * Defines the box shadow.\n * @defaultValue none\n */\n @Prop() shadow?: BoxShadowSizeType;\n\n /**\n * Sets the default column width for the component. This value applies from the smallest screen size (XS) upwards, unless overridden by a breakpoint-specific size prop at that breakpoint or larger.\n */\n @Prop() size?: BoxColumnType;\n\n /**\n * At the XS breakpoint, this prop will take the number of columns specified. This overrides the base size prop for this specific range.\n */\n @Prop() sizeXs?: BoxColumnType;\n\n /**\n * At screen sizes from the SM breakpoint and larger (576px and up), this will take the specified number of columns. This overrides any value set by size or sizeXs.\n */\n @Prop() sizeSm?: BoxColumnType;\n\n /**\n * At screen sizes from the MD breakpoint and larger (768px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeMd?: BoxColumnType;\n\n /**\n * At screen sizes from the LG breakpoint and larger (992px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeLg?: BoxColumnType;\n\n /**\n * At screen sizes from the XL breakpoint and larger (1200px and up), this will take the specified number of columns. This overrides any value set by size, sizeXs, and up.\n */\n @Prop() sizeXl?: BoxColumnType;\n\n\n\n render() {\n const boxClasses = `\n ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}\n ${this.alignItemsXs !== undefined && this.alignItemsXs.trim() !== '' ? `pds-align-items-xs-${this.alignItemsXs}` : ''}\n ${this.alignItemsSm !== undefined && this.alignItemsSm.trim() !== '' ? `pds-align-items-sm-${this.alignItemsSm}` : ''}\n ${this.alignItemsMd !== undefined && this.alignItemsMd.trim() !== '' ? `pds-align-items-md-${this.alignItemsMd}` : ''}\n ${this.alignItemsLg !== undefined && this.alignItemsLg.trim() !== '' ? `pds-align-items-lg-${this.alignItemsLg}` : ''}\n ${this.alignItemsXl !== undefined && this.alignItemsXl.trim() !== '' ? `pds-align-items-xl-${this.alignItemsXl}` : ''}\n ${this.alignSelf !== undefined && this.alignSelf.trim() !== '' ? `pds-align-self-${this.alignSelf}` : ''}\n ${this.alignSelfXs !== undefined && this.alignSelfXs.trim() !== '' ? `pds-align-self-xs-${this.alignSelfXs}` : ''}\n ${this.alignSelfSm !== undefined && this.alignSelfSm.trim() !== '' ? `pds-align-self-sm-${this.alignSelfSm}` : ''}\n ${this.alignSelfMd !== undefined && this.alignSelfMd.trim() !== '' ? `pds-align-self-md-${this.alignSelfMd}` : ''}\n ${this.alignSelfLg !== undefined && this.alignSelfLg.trim() !== '' ? `pds-align-self-lg-${this.alignSelfLg}` : ''}\n ${this.alignSelfXl !== undefined && this.alignSelfXl.trim() !== '' ? `pds-align-self-xl-${this.alignSelfXl}` : ''}\n ${this.auto ? 'pds-box--auto' : ''}\n ${this.autoXs ? 'pds-box--auto-xs' : ''}\n ${this.autoSm ? 'pds-box--auto-sm' : ''}\n ${this.autoMd ? 'pds-box--auto-md' : ''}\n ${this.autoLg ? 'pds-box--auto-lg' : ''}\n ${this.autoXl ? 'pds-box--auto-xl' : ''}\n ${this.border ? 'pds-box--border' : ''}\n ${this.borderRadius !== undefined && this.borderRadius.trim() !== '' ? `pds-border-radius-${this.borderRadius}` : ''}\n ${this.direction !== undefined && this.direction.trim() !== '' ? `pds-box-direction-${this.direction}` : ''}\n ${this.display !== undefined && this.display.trim() !== '' ? `pds-box--display-${this.display}` : ''}\n ${this.fit ? 'pds-box--fit' : ''}\n ${this.fitXs ? 'pds-box--fit-xs' : ''}\n ${this.fitSm ? 'pds-box--fit-sm' : ''}\n ${this.fitMd ? 'pds-box--fit-md' : ''}\n ${this.fitLg ? 'pds-box--fit-lg' : ''}\n ${this.fitXl ? 'pds-box--fit-xl' : ''}\n ${this.gap !== undefined && this.gap.trim() !== '' ? `pds-box-gap-${this.gap}` : ''}\n ${this.gapXs !== undefined && this.gapXs.trim() !== '' ? `pds-box-gap-xs-${this.gapXs}` : ''}\n ${this.gapSm !== undefined && this.gapSm.trim() !== '' ? `pds-box-gap-sm-${this.gapSm}` : ''}\n ${this.gapMd !== undefined && this.gapMd.trim() !== '' ? `pds-box-gap-md-${this.gapMd}` : ''}\n ${this.gapLg !== undefined && this.gapLg.trim() !== '' ? `pds-box-gap-lg-${this.gapLg}` : ''}\n ${this.gapXl !== undefined && this.gapXl.trim() !== '' ? `pds-box-gap-xl-${this.gapXl}` : ''}\n ${this.wrap ? 'pds-box--wrap' : ''}\n ${this.wrapXs ? 'pds-box--wrap-xs' : ''}\n ${this.wrapSm ? 'pds-box--wrap-sm' : ''}\n ${this.wrapMd ? 'pds-box--wrap-md' : ''}\n ${this.wrapLg ? 'pds-box--wrap-lg' : ''}\n ${this.wrapXl ? 'pds-box--wrap-xl' : ''}\n ${this.flex !== undefined && this.flex.trim() !== '' && ['none', 'grow', 'shrink'].includes(this.flex) ? `pds-box--flex-${this.flex}` : ''}\n ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}\n ${this.justifyContentXs !== undefined && this.justifyContentXs.trim() !== '' ? `pds-justify-content-xs-${this.justifyContentXs}` : ''}\n ${this.justifyContentSm !== undefined && this.justifyContentSm.trim() !== '' ? `pds-justify-content-sm-${this.justifyContentSm}` : ''}\n ${this.justifyContentMd !== undefined && this.justifyContentMd.trim() !== '' ? `pds-justify-content-md-${this.justifyContentMd}` : ''}\n ${this.justifyContentLg !== undefined && this.justifyContentLg.trim() !== '' ? `pds-justify-content-lg-${this.justifyContentLg}` : ''}\n ${this.justifyContentXl !== undefined && this.justifyContentXl.trim() !== '' ? `pds-justify-content-xl-${this.justifyContentXl}` : ''}\n ${this.marginBlockStart !== undefined && this.marginBlockStart.trim() !== '' ? `pds-margin-block-start-${this.marginBlockStart}` : ''}\n ${this.marginBlockStartXs !== undefined && this.marginBlockStartXs.trim() !== '' ? `pds-margin-block-start-xs-${this.marginBlockStartXs}` : ''}\n ${this.marginBlockStartSm !== undefined && this.marginBlockStartSm.trim() !== '' ? `pds-margin-block-start-sm-${this.marginBlockStartSm}` : ''}\n ${this.marginBlockStartMd !== undefined && this.marginBlockStartMd.trim() !== '' ? `pds-margin-block-start-md-${this.marginBlockStartMd}` : ''}\n ${this.marginBlockStartLg !== undefined && this.marginBlockStartLg.trim() !== '' ? `pds-margin-block-start-lg-${this.marginBlockStartLg}` : ''}\n ${this.marginBlockStartXl !== undefined && this.marginBlockStartXl.trim() !== '' ? `pds-margin-block-start-xl-${this.marginBlockStartXl}` : ''}\n ${this.marginInlineStart !== undefined && this.marginInlineStart.trim() !== '' ? `pds-margin-inline-start-${this.marginInlineStart}` : ''}\n ${this.marginInlineStartXs !== undefined && this.marginInlineStartXs.trim() !== '' ? `pds-margin-inline-start-xs-${this.marginInlineStartXs}` : ''}\n ${this.marginInlineStartSm !== undefined && this.marginInlineStartSm.trim() !== '' ? `pds-margin-inline-start-sm-${this.marginInlineStartSm}` : ''}\n ${this.marginInlineStartMd !== undefined && this.marginInlineStartMd.trim() !== '' ? `pds-margin-inline-start-md-${this.marginInlineStartMd}` : ''}\n ${this.marginInlineStartLg !== undefined && this.marginInlineStartLg.trim() !== '' ? `pds-margin-inline-start-lg-${this.marginInlineStartLg}` : ''}\n ${this.marginInlineStartXl !== undefined && this.marginInlineStartXl.trim() !== '' ? `pds-margin-inline-start-xl-${this.marginInlineStartXl}` : ''}\n ${this.marginInlineEnd !== undefined && this.marginInlineEnd.trim() !== '' ? `pds-margin-inline-end-${this.marginInlineEnd}` : ''}\n ${this.marginInlineEndXs !== undefined && this.marginInlineEndXs.trim() !== '' ? `pds-margin-inline-end-xs-${this.marginInlineEndXs}` : ''}\n ${this.marginInlineEndSm !== undefined && this.marginInlineEndSm.trim() !== '' ? `pds-margin-inline-end-sm-${this.marginInlineEndSm}` : ''}\n ${this.marginInlineEndMd !== undefined && this.marginInlineEndMd.trim() !== '' ? `pds-margin-inline-end-md-${this.marginInlineEndMd}` : ''}\n ${this.marginInlineEndLg !== undefined && this.marginInlineEndLg.trim() !== '' ? `pds-margin-inline-end-lg-${this.marginInlineEndLg}` : ''}\n ${this.marginInlineEndXl !== undefined && this.marginInlineEndXl.trim() !== '' ? `pds-margin-inline-end-xl-${this.marginInlineEndXl}` : ''}\n ${this.marginBlockEnd !== undefined && this.marginBlockEnd.trim() !== '' ? `pds-margin-block-end-${this.marginBlockEnd}` : ''}\n ${this.marginBlockEndXs !== undefined && this.marginBlockEndXs.trim() !== '' ? `pds-margin-block-end-xs-${this.marginBlockEndXs}` : ''}\n ${this.marginBlockEndSm !== undefined && this.marginBlockEndSm.trim() !== '' ? `pds-margin-block-end-sm-${this.marginBlockEndSm}` : ''}\n ${this.marginBlockEndMd !== undefined && this.marginBlockEndMd.trim() !== '' ? `pds-margin-block-end-md-${this.marginBlockEndMd}` : ''}\n ${this.marginBlockEndLg !== undefined && this.marginBlockEndLg.trim() !== '' ? `pds-margin-block-end-lg-${this.marginBlockEndLg}` : ''}\n ${this.marginBlockEndXl !== undefined && this.marginBlockEndXl.trim() !== '' ? `pds-margin-block-end-xl-${this.marginBlockEndXl}` : ''}\n ${this.offset !== undefined && this.offset.trim() !== '' ? `pds-box-offset-${this.offset}` : ''}\n ${this.offsetXs !== undefined && this.offsetXs.trim() !== '' ? `pds-box-offset-xs-${this.offsetXs}` : ''}\n ${this.offsetSm !== undefined && this.offsetSm.trim() !== '' ? `pds-box-offset-sm-${this.offsetSm}` : ''}\n ${this.offsetMd !== undefined && this.offsetMd.trim() !== '' ? `pds-box-offset-md-${this.offsetMd}` : ''}\n ${this.offsetLg !== undefined && this.offsetLg.trim() !== '' ? `pds-box-offset-lg-${this.offsetLg}` : ''}\n ${this.offsetXl !== undefined && this.offsetXl.trim() !== '' ? `pds-box-offset-xl-${this.offsetXl}` : ''}\n ${this.padding !== undefined && this.padding.trim() !== '' ? `pds-padding-${this.padding}` : ''}\n ${this.paddingXs !== undefined && this.paddingXs.trim() !== '' ? `pds-padding-xs-${this.paddingXs}` : ''}\n ${this.paddingSm !== undefined && this.paddingSm.trim() !== '' ? `pds-padding-sm-${this.paddingSm}` : ''}\n ${this.paddingMd !== undefined && this.paddingMd.trim() !== '' ? `pds-padding-md-${this.paddingMd}` : ''}\n ${this.paddingLg !== undefined && this.paddingLg.trim() !== '' ? `pds-padding-lg-${this.paddingLg}` : ''}\n ${this.paddingXl !== undefined && this.paddingXl.trim() !== '' ? `pds-padding-xl-${this.paddingXl}` : ''}\n ${this.paddingBlockStart !== undefined && this.paddingBlockStart.trim() !== '' ? `pds-padding-block-start-${this.paddingBlockStart}` : ''}\n ${this.paddingBlockStartXs !== undefined && this.paddingBlockStartXs.trim() !== '' ? `pds-padding-block-start-xs-${this.paddingBlockStartXs}` : ''}\n ${this.paddingBlockStartSm !== undefined && this.paddingBlockStartSm.trim() !== '' ? `pds-padding-block-start-sm-${this.paddingBlockStartSm}` : ''}\n ${this.paddingBlockStartMd !== undefined && this.paddingBlockStartMd.trim() !== '' ? `pds-padding-block-start-md-${this.paddingBlockStartMd}` : ''}\n ${this.paddingBlockStartLg !== undefined && this.paddingBlockStartLg.trim() !== '' ? `pds-padding-block-start-lg-${this.paddingBlockStartLg}` : ''}\n ${this.paddingBlockStartXl !== undefined && this.paddingBlockStartXl.trim() !== '' ? `pds-padding-block-start-xl-${this.paddingBlockStartXl}` : ''}\n ${this.paddingBlockEnd !== undefined && this.paddingBlockEnd.trim() !== '' ? `pds-padding-block-end-${this.paddingBlockEnd}` : ''}\n ${this.paddingBlockEndXs !== undefined && this.paddingBlockEndXs.trim() !== '' ? `pds-padding-block-end-xs-${this.paddingBlockEndXs}` : ''}\n ${this.paddingBlockEndSm !== undefined && this.paddingBlockEndSm.trim() !== '' ? `pds-padding-block-end-sm-${this.paddingBlockEndSm}` : ''}\n ${this.paddingBlockEndMd !== undefined && this.paddingBlockEndMd.trim() !== '' ? `pds-padding-block-end-md-${this.paddingBlockEndMd}` : ''}\n ${this.paddingBlockEndLg !== undefined && this.paddingBlockEndLg.trim() !== '' ? `pds-padding-block-end-lg-${this.paddingBlockEndLg}` : ''}\n ${this.paddingBlockEndXl !== undefined && this.paddingBlockEndXl.trim() !== '' ? `pds-padding-block-end-xl-${this.paddingBlockEndXl}` : ''}\n ${this.paddingInlineStart !== undefined && this.paddingInlineStart.trim() !== '' ? `pds-padding-inline-start-${this.paddingInlineStart}` : ''}\n ${this.paddingInlineStartXs !== undefined && this.paddingInlineStartXs.trim() !== '' ? `pds-padding-inline-start-xs-${this.paddingInlineStartXs}` : ''}\n ${this.paddingInlineStartSm !== undefined && this.paddingInlineStartSm.trim() !== '' ? `pds-padding-inline-start-sm-${this.paddingInlineStartSm}` : ''}\n ${this.paddingInlineStartMd !== undefined && this.paddingInlineStartMd.trim() !== '' ? `pds-padding-inline-start-md-${this.paddingInlineStartMd}` : ''}\n ${this.paddingInlineStartLg !== undefined && this.paddingInlineStartLg.trim() !== '' ? `pds-padding-inline-start-lg-${this.paddingInlineStartLg}` : ''}\n ${this.paddingInlineStartXl !== undefined && this.paddingInlineStartXl.trim() !== '' ? `pds-padding-inline-start-xl-${this.paddingInlineStartXl}` : ''}\n ${this.paddingInlineEnd !== undefined && this.paddingInlineEnd.trim() !== '' ? `pds-padding-inline-end-${this.paddingInlineEnd}` : ''}\n ${this.paddingInlineEndXs !== undefined && this.paddingInlineEndXs.trim() !== '' ? `pds-padding-inline-end-xs-${this.paddingInlineEndXs}` : ''}\n ${this.paddingInlineEndSm !== undefined && this.paddingInlineEndSm.trim() !== '' ? `pds-padding-inline-end-sm-${this.paddingInlineEndSm}` : ''}\n ${this.paddingInlineEndMd !== undefined && this.paddingInlineEndMd.trim() !== '' ? `pds-padding-inline-end-md-${this.paddingInlineEndMd}` : ''}\n ${this.paddingInlineEndLg !== undefined && this.paddingInlineEndLg.trim() !== '' ? `pds-padding-inline-end-lg-${this.paddingInlineEndLg}` : ''}\n ${this.paddingInlineEndXl !== undefined && this.paddingInlineEndXl.trim() !== '' ? `pds-padding-inline-end-xl-${this.paddingInlineEndXl}` : ''}\n ${this.shadow !== undefined && this.shadow.trim() !== '' ? `pds-shadow-${this.shadow}` : ''}\n ${this.size !== undefined && this.size.trim() !== '' ? `pds-box pds-box-${this.size}` : ''}\n ${this.sizeXs !== undefined && this.sizeXs.trim() !== '' ? `pds-box-xs-${this.sizeXs}` : ''}\n ${this.sizeSm !== undefined && this.sizeSm.trim() !== '' ? `pds-box-sm-${this.sizeSm}` : ''}\n ${this.sizeMd !== undefined && this.sizeMd.trim() !== '' ? `pds-box-md-${this.sizeMd}` : ''}\n ${this.sizeLg !== undefined && this.sizeLg.trim() !== '' ? `pds-box-lg-${this.sizeLg}` : ''}\n ${this.sizeXl !== undefined && this.sizeXl.trim() !== '' ? `pds-box-xl-${this.sizeXl}` : ''}\n ${this.size == undefined &&\n this.sizeSm == undefined &&\n this.sizeMd == undefined &&\n this.sizeLg == undefined &&\n this.sizeXl == undefined ? 'pds-box' : ''}\n `;\n\n // Normalize so pds-box accepts --token, var(--token), or literals (no semantic names)\n const normalizedBackground = normalizeColorValue(this.backgroundColor);\n const normalizedBorder = normalizeColorValue(this.borderColor);\n\n const boxInlineStyles = {\n ...(normalizedBackground && { '--color-background-box': normalizedBackground }),\n ...(normalizedBorder && { '--color-border-box': normalizedBorder }),\n ...(this.minHeight && { '--sizing-min-height-box': this.minHeight }),\n ...(this.minWidth && { '--sizing-min-width-box': this.minWidth }),\n ...(this.flex && !['none', 'grow', 'shrink'].includes(this.flex) && { 'flex': this.flex }),\n };\n\n return (\n <Host class={boxClasses} style={boxInlineStyles}>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-button.js","sourceRoot":"","sources":["../../../../src/components/pds-button/pds-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Listen, Prop, State } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown, addCircle } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @part loader-svg - Exposes the loader SVG element for color customization. Appears only when loading.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Prompts the user to save the linked URL instead of navigating to it.\n * It can be used without a value to download with the default filename,\n * or with a string value to suggest a specific filename for the download.\n * Only applies when href is set.\n */\n @Prop() download?: string;\n\n /**\n * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the size of the button.\n * @defaultValue default\n */\n @Prop() size?: 'default' | 'small' | 'micro' = 'default';\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' | 'filter' = 'primary';\n\n @State() hasStartContent = false;\n @State() hasEndContent = false;\n\n @Event() pdsClick: EventEmitter<Event>;\n\n /**\n * Listen for Enter key presses on form inputs to trigger submit\n */\n @Listen('keydown', { target: 'body' })\n\n handleFormKeyDown(event: KeyboardEvent) {\n // Skip if an earlier handler already canceled the event — matches the browser's\n // native implicit-submit behavior, which honors defaultPrevented.\n if (event.defaultPrevented) {\n return;\n }\n\n // Only handle Enter key for submit buttons that are not disabled\n if (event.key !== 'Enter' || this.type !== 'submit' || this.href || this.disabled) {\n return;\n }\n\n const target = event.target as Element;\n\n // Ensure event.target is an Element with matches method before proceeding\n if (!target || typeof target.matches !== 'function') {\n return;\n }\n const form = this.el.closest('form');\n\n // Check if the Enter key was pressed in a form input within the same form\n if (!form || !target || !form.contains(target)) {\n return;\n }\n\n // Check if target is a form input element (exclude reset buttons)\n const isFormInput = target.matches('input:not([type=\"submit\"]):not([type=\"button\"]):not([type=\"reset\"])') ||\n target.matches('pds-input') ||\n target.matches('pds-select') ||\n target.matches('pds-switch') ||\n target.matches('pds-checkbox') ||\n target.matches('pds-radio');\n\n if (isFormInput) {\n // Find all submit buttons in the form and check their actual properties\n const allSubmitButtons = Array.from(form.querySelectorAll('pds-button, button[type=\"submit\"], input[type=\"submit\"]'));\n const enabledSubmitButtons = allSubmitButtons.filter(button => {\n if (button.tagName.toLowerCase() === 'pds-button') {\n const pdsButton = button as HTMLPdsButtonElement;\n return pdsButton.type === 'submit' && !pdsButton.disabled;\n } else {\n return !button.hasAttribute('disabled');\n }\n });\n\n // Only synthesize click if this button is strictly the first enabled submit button\n if (enabledSubmitButtons.length > 0 && enabledSubmitButtons[0] === this.el) {\n event.preventDefault();\n this.el.click();\n }\n }\n }\n\n\n private handleStartSlotChange = (event: Event) => {\n this.hasStartContent = (event.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n };\n\n private handleEndSlotChange = (event: Event) => {\n this.hasEndContent = (event.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n };\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n // Prevent form submission for disabled buttons\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && this.type != 'button') {\n // Handle form submission for Shadow DOM buttons\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n this.pdsClick.emit(ev);\n };\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n if (this.size && this.size !== 'default') {\n classNames.push('pds-button--' + this.size);\n }\n\n if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private renderStartContent() {\n if (this.variant === 'filter') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={addCircle} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n }\n\n // Deprecated icon prop still takes precedence over start slot\n const hasIcon = this.icon && this.variant !== 'disclosure';\n if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n }\n\n // Always render the start slot so slotted content is projected reliably.\n // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).\n const startClasses = `pds-button__icon${this.hasStartContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;\n return <span class={startClasses}><slot name=\"start\" onSlotchange={this.handleStartSlotChange} /></span>;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n }\n\n // Always render the end slot so slotted content is projected reliably.\n // The --empty class hides the wrapper when no content is slotted (prevents empty gap space).\n const endClasses = `pds-button__icon${this.hasEndContent ? '' : ' pds-button__icon--empty'}${this.loading ? ' pds-button__icon--hidden' : ''}`;\n return <span class={endClasses}><slot name=\"end\" onSlotchange={this.handleEndSlotChange} /></span>;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n download: this.download,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\" exportparts=\"loader-svg\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-interface.js","sourceRoot":"","sources":["../../../../src/components/pds-checkbox/checkbox-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface CheckboxChangeEventDetail<T = any> {\n checked: boolean;\n value: T;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-checkbox.js","sourceRoot":"","sources":["../../../../src/components/pds-checkbox/pds-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, isSpecTest, messageId, exposeTypeProperty } from '../../utils/form';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\nimport { danger } from '@pine-ds/icons/icons';\n\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrls: ['../../global/styles/utils/label.scss', 'pds-checkbox.scss'],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsCheckbox {\n private inheritedAttributes: Attributes = {};\n private internals?: ElementInternals;\n private readonly _type = 'checkbox' as const;\n\n @Element() el: HTMLPdsCheckboxElement;\n\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked?: boolean = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop({ mutable: true }) indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n @Event() pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;\n\n @Watch('checked')\n updateIndeterminate() {\n this.indeterminate = undefined\n }\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.updateFormValue();\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private handleInput = () => {\n this.pdsCheckboxInput.emit({\n checked: this.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n connectedCallback() {\n // Initialize ElementInternals for form association (only once per element instance)\n if (this.el.attachInternals && !this.internals) {\n this.internals = this.el.attachInternals();\n }\n\n // Expose type property on the element instance to match native form element behavior\n exposeTypeProperty(this.el, () => this._type);\n }\n\n componentDidLoad() {\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged() {\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (isSpecTest()) return;\n\n if (this.internals && this.internals.setFormValue) {\n // For checkboxes, only send the value when checked, otherwise send null\n const formValue = this.checked ? (this.value || 'on') : null;\n this.internals.setFormValue(formValue);\n }\n\n if (this.internals && this.internals.setValidity) {\n this.internals.setValidity({});\n }\n }\n\n formStateRestoreCallback(state: string | FormData | null) {\n if (state instanceof FormData) {\n // For checkboxes, restore if the value exists in FormData\n const value = this.value || 'on';\n this.checked = state.get(this.name as string) === value;\n } else if (typeof state === 'string') {\n // Restore from string state\n this.checked = state === (this.value || 'on');\n }\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n }\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <label htmlFor={this.componentId}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n id={this.componentId}\n indeterminate={this.indeterminate}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n onInput={this.handleInput}\n {...this.inheritedAttributes}\n />\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-chip.js","sourceRoot":"","sources":["../../../../src/components/pds-chip/pds-chip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { downSmall, remove } from '@pine-ds/icons/icons';\nimport { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport type { ChipSentimentType, ChipSizeType, ChipVariantType } from '@utils/types';\n\n/**\n * @slot (default) - The chip's label text.\n * @part button\n */\n\n@Component({\n tag: 'pds-chip',\n styleUrls: ['pds-chip.tokens.scss', 'pds-chip.scss'],\n shadow: true,\n})\nexport class PdsChip {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether a dot should be displayed on the chip.\n * Note: This prop is ignored when sentiment is 'brand'.\n * @defaultValue false\n */\n @Prop() dot = false;\n\n /**\n * The name of the icon to display before the chip text.\n */\n @Prop() icon?: string;\n\n /**\n * Determines whether the chip should be displayed in a larger size. DEPRECATED.\n * @defaultValue false\n * @deprecated Use `size` prop instead. Set `size=\"lg\"` for the large variant.\n */\n @Prop() large = false;\n\n /**\n * Sets the size of the chip.\n * @defaultValue 'md'\n */\n @Prop() size?: ChipSizeType;\n\n /**\n * Defines the color scheme of the chip.\n * @defaultValue 'neutral'\n */\n @Prop() sentiment: ChipSentimentType = 'neutral';\n\n /**\n * Sets the style variant of the chip.\n * Note: This prop is ignored when sentiment is 'brand'.\n * @defaultValue 'text'\n */\n @Prop() variant: ChipVariantType = 'text';\n\n /**\n * URL to navigate to when the remove button is clicked.\n * When provided, renders the close button as a link instead of a button.\n * Only applies to tag variant.\n */\n @Prop() removeUrl?: string;\n\n /**\n * HTTP method to use for the remove action.\n * Adds data-method and data-turbo-method attributes for Rails/Turbo compatibility.\n * Only applies when removeUrl is provided.\n */\n @Prop() removeHttpMethod?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n /**\n * Specifies where to open the linked document when removeUrl is provided.\n * Only applies when removeUrl is set.\n */\n @Prop() removeTarget?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Event emitted when the close button is clicked on a tag variant chip.\n */\n @Event() pdsTagCloseClick: EventEmitter<void>;\n\n private handleCloseClick = () => {\n this.pdsTagCloseClick.emit();\n };\n\n private get effectiveSize(): ChipSizeType {\n if (this.size != null) return this.size;\n if (this.large) return 'lg';\n return 'md';\n }\n\n private classNames() {\n const classNames = ['pds-chip'];\n\n const size = this.effectiveSize;\n if (size && size !== 'md') {\n classNames.push('pds-chip--' + size);\n }\n\n // For brand sentiment, always use text variant\n const effectiveVariant = this.sentiment === 'brand' ? 'text' : this.variant;\n if (effectiveVariant) {\n classNames.push('pds-chip--' + effectiveVariant);\n }\n\n if (this.sentiment) {\n classNames.push('pds-chip--' + this.sentiment);\n }\n\n return classNames.join(' ');\n }\n\n private get effectiveVariant() {\n // For brand sentiment, force text variant behavior\n return this.sentiment === 'brand' ? 'text' : this.variant;\n }\n\n private get iconSize() {\n switch (this.effectiveSize) {\n case 'sm': return '10px';\n case 'lg': return '14px';\n default: return '12px';\n }\n }\n\n private setChipContent() {\n const isDropdown = this.effectiveVariant === 'dropdown';\n\n // For brand sentiment, ignore dot prop\n const showDot = this.sentiment === 'brand' ? false : this.dot;\n\n const chipContent = isDropdown ? (\n <button class=\"pds-chip__button\" type=\"button\" part=\"button\">\n {this.icon && <pds-icon icon={this.icon} size={this.iconSize} aria-hidden=\"true\"></pds-icon>}\n {showDot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n <slot></slot>\n <pds-icon icon={downSmall} size={this.iconSize} aria-hidden=\"true\"></pds-icon>\n </button>\n ) : (\n <span class=\"pds-chip__label\">\n {this.icon && <pds-icon icon={this.icon} size={this.iconSize} aria-hidden=\"true\"></pds-icon>}\n {showDot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n <slot></slot>\n </span>\n );\n\n return chipContent;\n }\n\n private renderCloseButton() {\n const CloseElement = this.removeUrl ? 'a' : 'button';\n\n const closeAttributes = () => {\n if (this.removeUrl) {\n // Link attributes\n const linkAttrs: any = {\n class: 'pds-chip__close',\n href: this.removeUrl,\n 'aria-label': 'Remove',\n };\n\n // Add target if specified\n if (this.removeTarget) {\n linkAttrs.target = this.removeTarget;\n }\n\n // Add HTTP method attributes if specified\n if (this.removeHttpMethod) {\n linkAttrs['data-method'] = this.removeHttpMethod;\n linkAttrs['data-turbo-method'] = this.removeHttpMethod;\n }\n\n // Build rel attribute by collecting all required values\n const relValues = [];\n\n // Add noopener noreferrer if target is _blank\n if (this.removeTarget === '_blank') {\n relValues.push('noopener', 'noreferrer');\n }\n\n // Add nofollow for non-GET methods (best practice)\n if (this.removeHttpMethod && this.removeHttpMethod !== 'get') {\n relValues.push('nofollow');\n }\n\n // Set rel attribute if we have any values\n if (relValues.length > 0) {\n linkAttrs.rel = relValues.join(' ');\n }\n\n return linkAttrs;\n }\n\n // Button attributes\n return {\n class: 'pds-chip__close',\n type: 'button',\n 'aria-label': 'Remove',\n };\n };\n\n return (\n <CloseElement {...closeAttributes()} onClick={this.handleCloseClick}>\n <pds-icon icon={remove} size={this.iconSize}></pds-icon>\n </CloseElement>\n );\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n {this.setChipContent()}\n {this.effectiveVariant === 'tag' && this.renderCloseButton()}\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox-interface.js","sourceRoot":"","sources":["../../../../src/components/pds-combobox/combobox-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface ComboboxOption {\n id: string | number;\n text: string;\n [key: string]: unknown;\n}\n\nexport interface ComboboxChangeEventDetail {\n value: string;\n}\n\nexport interface ComboboxSearchEventDetail {\n query: string;\n}\n\nexport interface ComboboxLoadOptionsEventDetail {\n query: string;\n page: number;\n}\n\nexport interface AsyncResponse {\n results: Array<{ id: string | number; text: string; [key: string]: unknown }>;\n totalCount?: number;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-combobox.js","sourceRoot":"","sources":["../../../../src/components/pds-combobox/pds-combobox.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch, Method } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { isSpecTest } from '../../utils/form';\nimport type { ChipSentimentType } from '@utils/types';\nimport { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { debounceEvent } from '@utils/utils';\nimport DOMPurify from 'dompurify';\nimport type {\n ComboboxOption,\n ComboboxSearchEventDetail,\n ComboboxLoadOptionsEventDetail,\n AsyncResponse,\n} from './combobox-interface';\n\n/**\n * @slot option - Option elements for the combobox dropdown\n * @slot trigger-content - Custom content for the button trigger when customTriggerContent is true\n * @slot empty - Custom empty state message when no options match\n * @slot loading - Custom loading indicator\n */\n@Component({\n tag: 'pds-combobox',\n styleUrl: 'pds-combobox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class PdsCombobox implements BasePdsProps {\n /** Reference to the host element */\n @Element() el!: HTMLPdsComboboxElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * The name of the form control. Submitted with the form as part of a name/value pair.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Enable custom layout content for options. Options with data-layout attribute will render their HTML content.\n * ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.\n * @default false\n */\n @Prop() customOptionLayouts: boolean = false;\n\n /**\n * Enable custom layout content for the button trigger via the trigger-content slot.\n * When true, uses slot content for initial state but updates dynamically with selected option layout.\n * ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.\n * @default false\n */\n @Prop() customTriggerContent: boolean = false;\n\n /**\n * If true, the combobox is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Placement of the dropdown relative to the trigger.\n * @default 'bottom-start'\n */\n @Prop() dropdownPlacement: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' = 'bottom-start';\n\n /**\n * Width of the dropdown. Any valid CSS width value.\n * @default '236px'\n */\n @Prop() dropdownWidth: string = '236px';\n\n /**\n * Where to mount the dropdown listbox (`host` or `body`, sometimes called “append to body”).\n * Use `body` inside scrollable containers (for example modals) so the list is not clipped by\n * `overflow: hidden` ancestors. The portal is appended to the nearest `<dialog>` when present\n * (including `pds-modal` / `showModal()`), using a composed ascent so shadow DOM and slot\n * boundaries do not hide the dialog from discovery; otherwise it is appended to `document.body`.\n * Keyboard focus remains on the trigger via\n * `aria-activedescendant` so modal focus traps continue to work. Custom `empty` and `loading`\n * slots are not supported when `body` is used; the default empty and loading content is shown instead.\n * @default 'host'\n */\n @Prop() dropdownMount: 'host' | 'body' = 'host';\n\n /**\n * Visually hides the label text for instances where only the combobox should be displayed.\n * The visible `<label>` is omitted (same pattern as `pds-select`) so label spacing does not reserve layout;\n * the trigger uses `aria-label` so the name stays available to assistive technology.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * Text to be displayed as the combobox label.\n */\n @Prop() label?: string;\n\n /**\n * Maximum height of the dropdown. Can be any valid CSS height value (e.g., '200px', '10rem').\n * When content exceeds this height, the dropdown will scroll.\n */\n @Prop() maxHeight?: string;\n\n /**\n * Determines the combobox mode: 'filter' (filter options as you type) or 'select-only' (show all options).\n * In filter mode, reopening the menu while the input still shows the label of the selected option temporarily lists\n * all options until you type (so you can switch to a different choice without clearing the field first).\n * @default 'filter'\n */\n @Prop() mode: 'filter' | 'select-only' = 'filter';\n\n /**\n * Placeholder text for the input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines the combobox trigger: 'input' (editable input), 'button' (button-like, non-editable), or 'chip' (chip-like, non-editable).\n * @default 'input'\n */\n @Prop() trigger: 'input' | 'button' | 'chip' = 'input';\n\n /**\n * Width of the trigger (button or input). Any valid CSS width value.\n * @default 'fit-content'\n */\n @Prop() triggerWidth: string = 'fit-content';\n\n /**\n * The visual variant for the button trigger. Matches Pine button variants.\n * @default 'secondary'\n */\n @Prop() triggerVariant: 'secondary' | 'primary' | 'accent' | 'destructive' = 'secondary';\n\n /**\n * The shape of the button trigger. Use 'input' to render the trigger with input-like styling\n * (subtle border radius, input height) for use in form or filter rows alongside PdsSelect and PdsMultiselect.\n * @default 'pill'\n */\n @Prop() triggerShape: 'pill' | 'input' = 'pill';\n\n /**\n * The sentiment for the chip trigger. Matches Pine chip sentiments.\n * @default 'neutral'\n */\n @Prop() chipSentiment: ChipSentimentType = 'neutral';\n\n\n /**\n * Whether the chip trigger should be displayed in a larger size.\n * @default false\n */\n @Prop() chipLarge: boolean = false;\n\n /**\n * The name of the icon to display in the chip trigger.\n */\n @Prop() chipIcon?: string;\n\n /**\n * Whether a dot should be displayed on the chip trigger.\n * @default false\n */\n @Prop() chipDot: boolean = false;\n\n /**\n * The value of the combobox input.\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * URL endpoint for async data fetching.\n */\n @Prop() asyncUrl?: string;\n\n /**\n * HTTP method for async requests.\n */\n @Prop() asyncMethod: 'GET' | 'POST' = 'GET';\n\n /**\n * Debounce delay in milliseconds for search/fetch.\n */\n @Prop() debounce: number = 300;\n\n /**\n * Timeout in milliseconds for async fetch requests.\n */\n @Prop() fetchTimeout: number = 30000;\n\n /**\n * Whether the component is currently loading async options.\n */\n @Prop({ mutable: true }) loading: boolean = false;\n\n /**\n * Options provided externally (for consumer-managed async).\n */\n @Prop() options?: ComboboxOption[];\n\n /**\n * Function to format async results. Receives raw API response item.\n */\n @Prop() formatResult?: (item: unknown) => ComboboxOption;\n\n /**\n * Emitted when the value changes.\n */\n @Event() pdsComboboxChange!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted on search input (for consumer-managed async).\n */\n @Event() pdsComboboxSearch!: EventEmitter<ComboboxSearchEventDetail>;\n\n /**\n * Emitted to request more options (pagination).\n */\n @Event() pdsComboboxLoadOptions!: EventEmitter<ComboboxLoadOptionsEventDetail>;\n\n /**\n * Internal state for the display text shown in the input/trigger\n */\n @State() displayText: string = '';\n\n /**\n * Internal state for filtered options and group labels\n */\n @State() filteredItems: (HTMLOptionElement | HTMLOptGroupElement | HTMLPdsTextElement)[] = [];\n\n /**\n * Internal state for the currently highlighted option index\n */\n @State() highlightedIndex: number = -1;\n\n /**\n * Internal state for dropdown open/close\n */\n @State() isOpen: boolean = false;\n\n /**\n * Internal state for the currently selected option\n */\n @State() selectedOption: HTMLOptionElement | null = null;\n\n /**\n * Internal state for the sanitized layout content of the selected option\n */\n @State() selectedOptionLayoutContent: string = '';\n\n /**\n * Internal state to track chip properties for automatic rendering\n */\n @State() selectedOptionChipProps: any = null;\n\n /**\n * Internal state for async options.\n */\n @State() internalOptions: ComboboxOption[] = [];\n\n /**\n * Internal state for current page (pagination).\n */\n @State() currentPage: number = 1;\n\n /**\n * Internal state for hasMore (pagination).\n */\n @State() hasMore: boolean = false;\n\n private inputEl?: HTMLInputElement;\n private optionEls: HTMLOptionElement[] = [];\n private allItems: (HTMLOptionElement | HTMLOptGroupElement | HTMLPdsTextElement)[] = [];\n private triggerEl?: HTMLElement;\n private listboxEl?: HTMLElement;\n private portalEl: HTMLElement | null = null;\n private cleanupPositionAutoUpdate?: () => void;\n private bodyPortalAutoUpdateActive = false;\n /** Deferred so portal teardown runs after Stencil reconciles `isOpen === false`. */\n private deferredPortalTeardownId?: ReturnType<typeof setTimeout>;\n private internals?: ElementInternals;\n private isUpdatingFromSelection: boolean = false;\n private abortController?: AbortController;\n private fetchDebounceTimer?: number;\n private fetchTimeoutTimer?: number;\n private observer?: MutationObserver;\n private originalSearchEmitter?: EventEmitter<ComboboxSearchEventDetail>;\n\n /**\n * In filter mode, after choosing an option the input still shows the label and would\n * otherwise filter the list to matching substrings only. While this flag is true,\n * the list shows every option until the user types (then normal filtering applies).\n */\n private expandFilterListWhileOpen = false;\n\n connectedCallback() {\n // Initialize ElementInternals for form association (only once per element instance)\n if (this.el.attachInternals && !this.internals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentWillLoad() {\n this.originalSearchEmitter = this.pdsComboboxSearch;\n this.updateOptions();\n }\n\n componentDidLoad() {\n this.setupDebounce();\n\n // Check for value-based preselection if no option is selected yet\n if (!this.selectedOption && this.value && this.optionEls.length > 0) {\n const matchingOption = this.optionEls.find(opt => opt.value === this.value);\n if (matchingOption) {\n this.setSelectedOption(matchingOption);\n // Update the display text to show the option's text content\n this.displayText = this.getOptionLabel(matchingOption);\n // Keep this.value as the actual option value\n // this.value remains unchanged (already matches matchingOption.value)\n }\n }\n\n // Initialize form value with current value\n this.updateFormValue(this.selectedOption?.value ?? this.value ?? '');\n }\n\n disconnectedCallback() {\n if (this.deferredPortalTeardownId !== undefined) {\n clearTimeout(this.deferredPortalTeardownId);\n this.deferredPortalTeardownId = undefined;\n }\n this.observer?.disconnect();\n this.clearAsyncFetchState();\n this.removeBodyPortal();\n }\n\n componentDidRender() {\n if (this.usesBodyPortal && this.isOpen) {\n this.syncBodyPortal();\n }\n }\n\n @Watch('isOpen')\n protected isOpenChanged(isOpen: boolean) {\n if (isOpen && this.deferredPortalTeardownId !== undefined) {\n clearTimeout(this.deferredPortalTeardownId);\n this.deferredPortalTeardownId = undefined;\n }\n\n if (isOpen && this.usesBodyPortal) {\n // Rapid reopen can cancel deferred teardown while the portal still holds the previous\n // listbox node; clear portal state before the next render attaches the new listbox, and\n // reset Floating UI autoUpdate bookkeeping.\n this.removeBodyPortal();\n }\n\n if (!isOpen && this.usesBodyPortal) {\n if (this.deferredPortalTeardownId !== undefined) {\n clearTimeout(this.deferredPortalTeardownId);\n }\n this.deferredPortalTeardownId = setTimeout(() => {\n this.deferredPortalTeardownId = undefined;\n if (!this.el.isConnected) {\n return;\n }\n if (!this.isOpen) {\n this.removeBodyPortal();\n }\n }, 0);\n return;\n }\n\n if (!isOpen) {\n this.removeBodyPortal();\n }\n }\n\n private get usesBodyPortal(): boolean {\n return this.dropdownMount === 'body';\n }\n\n private get listboxId(): string {\n return `${this.componentId}-listbox`;\n }\n\n private optionDomId(optionIndex: number): string {\n return `${this.componentId}-option-${optionIndex}`;\n }\n\n @Watch('debounce')\n protected setupDebounce() {\n const { pdsComboboxSearch, debounce, originalSearchEmitter } = this;\n this.pdsComboboxSearch = debounce === undefined\n ? originalSearchEmitter ?? pdsComboboxSearch\n : debounceEvent(pdsComboboxSearch, debounce);\n }\n\n @Watch('options')\n protected optionsChanged() {\n if (this.options) {\n this.internalOptions = [...this.options];\n this.updateOptionsFromAsync();\n }\n }\n\n @Watch('value')\n handleValueChange() {\n this.filterOptions();\n // Sync with form internals for form association\n this.updateFormValue(this.value);\n\n // Find and select option that matches the value (for external value changes)\n // Only do this if we're not already updating from a selection\n if (!this.isUpdatingFromSelection && this.value && this.optionEls.length > 0) {\n const currentSelectedValue = this.selectedOption ? this.selectedOption.value : null;\n\n // If the value doesn't match the currently selected option's value, we need to update\n if (this.value !== currentSelectedValue) {\n const matchingOption = this.optionEls.find(opt => opt.value === this.value);\n if (matchingOption) {\n this.isUpdatingFromSelection = true;\n this.setSelectedOption(matchingOption);\n // Update the display text to show the option's text content\n this.displayText = this.getOptionLabel(matchingOption);\n // Keep this.value as the actual option value (already correct)\n this.isUpdatingFromSelection = false;\n }\n }\n }\n }\n\n @Watch('selectedOption')\n handleSelectedOptionChange() {\n // Update the layout content when selected option changes\n this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)\n ? this.getOptionLayoutContent(this.selectedOption)\n : '';\n\n // Update chip properties for automatic rendering when selected option changes\n this.selectedOptionChipProps = this.selectedOption && this.isOptionChip(this.selectedOption)\n ? this.getOptionChipProps(this.selectedOption)\n : null;\n\n // Update display text when selected option changes\n if (this.selectedOption) {\n this.displayText = this.getOptionLabel(this.selectedOption);\n this.value = this.selectedOption.value;\n // Update form internals with the actual option value\n this.updateFormValue(this.selectedOption.value);\n } else {\n this.displayText = '';\n this.value = '';\n this.updateFormValue('');\n }\n }\n\n private updateFormValue(value: string) {\n if (isSpecTest()) return;\n\n if (this.internals && this.internals.setFormValue) {\n this.internals.setFormValue(value);\n }\n }\n\n private clearAsyncFetchState() {\n if (this.fetchDebounceTimer !== undefined) {\n window.clearTimeout(this.fetchDebounceTimer);\n this.fetchDebounceTimer = undefined;\n }\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n this.abortController?.abort();\n this.abortController = undefined;\n }\n\n private debouncedFetchAsyncOptions(query: string, page: number = 1) {\n if (!this.asyncUrl) return;\n\n if (this.fetchDebounceTimer !== undefined) {\n window.clearTimeout(this.fetchDebounceTimer);\n }\n\n const delay = Math.max(0, this.debounce ?? 0);\n this.fetchDebounceTimer = window.setTimeout(() => {\n this.fetchDebounceTimer = undefined;\n this.fetchOptions(query, page);\n }, delay);\n }\n\n private async fetchOptions(query: string, page: number = 1) {\n if (!this.asyncUrl) return;\n\n // Abort any pending request and clear existing timeout\n this.abortController?.abort();\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n this.abortController = new AbortController();\n this.loading = true;\n\n // Set up timeout for fetch request\n this.fetchTimeoutTimer = window.setTimeout(() => {\n this.abortController?.abort();\n this.fetchTimeoutTimer = undefined;\n }, this.fetchTimeout);\n\n try {\n // Guard against malformed asyncUrl\n let url: URL;\n try {\n url = new URL(this.asyncUrl, window.location.origin);\n } catch (urlError) {\n throw new TypeError(`Invalid asyncUrl: ${this.asyncUrl}`);\n }\n\n if (this.asyncMethod === 'GET') {\n url.searchParams.set('search', query);\n url.searchParams.set('page', String(page));\n }\n\n const response = await fetch(url.toString(), {\n method: this.asyncMethod,\n signal: this.abortController.signal,\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n },\n ...(this.asyncMethod === 'POST' && {\n body: JSON.stringify({ search: query, page }),\n }),\n });\n\n // Clear timeout on successful response\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n if (!response.ok) throw new Error('Failed to fetch options');\n\n const data: AsyncResponse = await response.json();\n\n const formattedResults = data.results.map(item => {\n // If formatResult is provided, use it\n if (this.formatResult) {\n return this.formatResult(item);\n }\n\n // Defensive check: ensure item is an object before spreading\n if (typeof item === 'object' && item !== null) {\n return {\n id: item.id,\n text: item.text,\n ...item,\n } as ComboboxOption;\n }\n\n // Handle primitives by converting to safe shape\n return {\n id: String(item),\n text: String(item),\n } as ComboboxOption;\n });\n\n if (page === 1) {\n this.internalOptions = formattedResults;\n } else {\n this.internalOptions = [...this.internalOptions, ...formattedResults];\n }\n\n this.hasMore = data.totalCount ? this.internalOptions.length < data.totalCount : false;\n this.currentPage = page;\n\n // Update DOM options from async data\n this.updateOptionsFromAsync();\n\n } catch (error) {\n // Clear timeout on error\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n if ((error as Error).name !== 'AbortError') {\n console.error('PdsCombobox: Failed to fetch options', error);\n }\n } finally {\n this.loading = false;\n }\n }\n\n private updateOptionsFromAsync() {\n if (!this.asyncUrl && !this.options) return;\n\n // Clear existing slot-based options when using async\n this.optionEls = [];\n this.allItems = [];\n\n // Create option elements from async data\n const asyncOptions = this.options || this.internalOptions;\n asyncOptions.forEach(opt => {\n const optionEl = document.createElement('option') as HTMLOptionElement;\n optionEl.value = String(opt.id);\n optionEl.textContent = opt.text;\n\n this.optionEls.push(optionEl);\n this.allItems.push(optionEl);\n });\n\n // Re-apply preselection if a value is set but no option has been selected yet.\n // This handles the case where `value` is set before async options have loaded.\n if (this.value && !this.selectedOption) {\n const matchingOption = this.optionEls.find(opt => opt.value === this.value);\n if (matchingOption) {\n this.setSelectedOption(matchingOption);\n }\n }\n\n this.filterOptions();\n }\n\n private updateOptions() {\n // Skip slot-based options if using async\n if (this.asyncUrl || this.options) {\n this.updateOptionsFromAsync();\n return;\n }\n\n // Get all elements from the slot\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"option\"], slot:not([name])');\n if (slot) {\n const allElements = (slot as HTMLSlotElement).assignedElements({ flatten: true });\n\n // Separate options from group labels and flatten optgroups\n this.allItems = [];\n this.optionEls = [];\n\n allElements.forEach(el => {\n if (el.tagName === 'OPTION') {\n this.optionEls.push(el as HTMLOptionElement);\n this.allItems.push(el as HTMLOptionElement);\n } else if (el.tagName === 'OPTGROUP') {\n const optgroup = el as HTMLOptGroupElement;\n this.allItems.push(optgroup);\n // Add optgroup children (options)\n Array.from(optgroup.children).forEach(child => {\n if (child.tagName === 'OPTION') {\n this.optionEls.push(child as HTMLOptionElement);\n this.allItems.push(child as HTMLOptionElement);\n }\n });\n } else if (el.tagName === 'PDS-TEXT') {\n this.allItems.push(el as HTMLPdsTextElement);\n }\n });\n\n // Set initial selected option based on value property\n let initialSelected: HTMLOptionElement | null = null;\n\n // Check if value property matches any option\n if (this.value) {\n initialSelected = this.optionEls.find(opt => opt.value === this.value) || null;\n if (initialSelected) {\n // Update the display text to show the option's text content\n this.displayText = this.getOptionLabel(initialSelected);\n // Keep this.value as the actual option value (already correct)\n }\n }\n\n // For chip triggers, ensure we always have a selected option\n if (!initialSelected && this.trigger === 'chip' && this.optionEls.length > 0) {\n initialSelected = this.optionEls[0]; // Select first option as default\n this.value = initialSelected.value;\n this.displayText = this.getOptionLabel(initialSelected);\n console.warn('PDS Combobox: Chip triggers should always have a selected option. Automatically selected the first option.');\n }\n\n // Update selection if we found a different selected option or if we don't have one\n if (initialSelected && initialSelected !== this.selectedOption) {\n this.setSelectedOption(initialSelected);\n } else if (!this.selectedOption && initialSelected) {\n this.setSelectedOption(initialSelected);\n }\n\n this.filterOptions();\n }\n }\n\n // Helper method to get option label, falling back to text content if no label attribute\n private getOptionLabel(option: HTMLOptionElement): string {\n return option.label || option.textContent || '';\n }\n\n // Helper method to get option layout content\n private getOptionLayoutContent(option: HTMLOptionElement): string {\n return this.sanitizeHtml(option.innerHTML || '');\n }\n\n // HTML sanitization using DOMPurify library to prevent XSS attacks\n private sanitizeHtml(html: string): string {\n // Configure DOMPurify to allow Pine Design System components while removing dangerous content\n const config = {\n // Allow all custom elements (including pds-* components)\n CUSTOM_ELEMENT_HANDLING: {\n tagNameCheck: (tagName: string) => {\n // Allow all pds-* tags and standard safe HTML tags\n return tagName.startsWith('pds-') || /^[a-z]+$/i.test(tagName);\n },\n attributeNameCheck: (attr: string) => {\n // Allow standard HTML attributes, data-* attributes, and Pine component attributes\n return /^[a-zA-Z][a-zA-Z0-9-]*$/.test(attr) || attr.startsWith('data-') || attr.startsWith('aria-');\n },\n allowCustomizedBuiltInElements: false,\n },\n // Allow standard safe attributes\n ALLOW_DATA_ATTR: true,\n ALLOW_ARIA_ATTR: true,\n // Specifically forbid dangerous tags\n FORBID_TAGS: ['script', 'iframe', 'object', 'embed', 'form', 'input', 'textarea', 'select', 'button', 'style'],\n // Forbid all event handler attributes\n FORBID_ATTR: [\n 'onerror', 'onload', 'onclick', 'onmouseover', 'onmouseout', 'onmousemove',\n 'onfocus', 'onblur', 'onchange', 'onsubmit', 'onkeydown', 'onkeyup', 'onkeypress',\n 'onmousedown', 'onmouseup', 'ondblclick', 'oncontextmenu', 'onscroll'\n ],\n // Safe protocol whitelist\n ALLOWED_URI_REGEXP: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|data):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i,\n };\n\n return DOMPurify.sanitize(html, config);\n }\n\n // Helper method to check if option should render as layout\n private isOptionLayout(option: HTMLOptionElement): boolean {\n return this.customOptionLayouts && option.hasAttribute('data-layout');\n }\n\n // Helper method to check if option has chip attributes (new automatic approach)\n private isOptionChip(option: HTMLOptionElement): boolean {\n return option.hasAttribute('chip-sentiment') ||\n option.hasAttribute('chip-large') ||\n option.hasAttribute('chip-icon') ||\n option.hasAttribute('chip-dot');\n }\n\n // Helper method to get chip properties from option attributes\n private getOptionChipProps(option: HTMLOptionElement) {\n return {\n sentiment: option.getAttribute('chip-sentiment') || 'neutral',\n large: option.hasAttribute('chip-large'),\n icon: option.getAttribute('chip-icon') || undefined,\n dot: option.hasAttribute('chip-dot')\n };\n }\n\n // Helper method to check if option is selected (single source of truth)\n private isOptionSelected(option: HTMLOptionElement): boolean {\n return this.selectedOption === option;\n }\n\n // Helper method to set selected option (centralized state management)\n private setSelectedOption(option: HTMLOptionElement | null): void {\n this.selectedOption = option;\n\n // Immediately update chip properties for automatic rendering to ensure reactivity\n if (option && this.isOptionChip(option)) {\n this.selectedOptionChipProps = this.getOptionChipProps(option);\n } else {\n this.selectedOptionChipProps = null;\n }\n }\n\n private filterOptions() {\n // Ensure allItems includes optionEls if not already populated (for edge cases)\n if (this.allItems.length === 0 && this.optionEls.length > 0) {\n this.allItems = [...this.optionEls];\n }\n\n if (this.mode === 'select-only' || this.expandFilterListWhileOpen) {\n this.filteredItems = [...this.allItems];\n } else {\n const val = this.displayText.toLowerCase();\n const filteredOptions = this.optionEls.filter(option => {\n // For layout options, search both text content and data-search-text attribute\n if (this.isOptionLayout(option)) {\n const searchText = option.getAttribute('data-search-text') || option.textContent || '';\n return searchText.toLowerCase().includes(val);\n }\n return this.getOptionLabel(option).toLowerCase().includes(val);\n });\n\n // Rebuild filtered items maintaining group structure - simplified approach\n this.filteredItems = [];\n let currentGroupLabel: HTMLOptGroupElement | HTMLPdsTextElement | null = null;\n\n this.allItems.forEach(item => {\n if (item.tagName === 'OPTGROUP' || item.tagName === 'PDS-TEXT') {\n currentGroupLabel = item as HTMLOptGroupElement | HTMLPdsTextElement;\n } else if (item.tagName === 'OPTION' && filteredOptions.includes(item as HTMLOptionElement)) {\n const optionEl = item as HTMLOptionElement;\n const parent = optionEl.parentElement;\n let labelToUse: HTMLOptGroupElement | HTMLPdsTextElement | null = null;\n if (parent && parent.tagName === 'OPTGROUP') {\n // Only use the actual parent optgroup as label\n labelToUse = parent as HTMLOptGroupElement;\n } else if (currentGroupLabel && currentGroupLabel.tagName === 'PDS-TEXT') {\n // Allow pds-text to label subsequent top-level options until another label appears\n labelToUse = currentGroupLabel as HTMLPdsTextElement;\n }\n if (labelToUse && !this.filteredItems.includes(labelToUse)) {\n this.filteredItems.push(labelToUse);\n }\n this.filteredItems.push(optionEl);\n }\n });\n }\n this.highlightedIndex = -1;\n }\n\n private clearExpandFilterList() {\n this.expandFilterListWhileOpen = false;\n }\n\n /**\n * When reopening the dropdown in filter mode with the input still showing the\n * committed selection label, show the full option list until the user edits the query.\n */\n private prepareExpandFilterListOnOpen() {\n if (\n this.mode === 'filter' &&\n this.selectedOption &&\n this.displayText === this.getOptionLabel(this.selectedOption)\n ) {\n this.expandFilterListWhileOpen = true;\n } else {\n this.expandFilterListWhileOpen = false;\n }\n }\n\n private positionDropdown() {\n if (!this.triggerEl || !this.listboxEl) {\n return;\n }\n\n const strategy = this.usesBodyPortal ? 'fixed' : 'absolute';\n const zIndex = this.usesBodyPortal\n ? 'var(--pine-z-index-priority)'\n : 'var(--pine-z-index-raised)';\n\n this.listboxEl.style.width = this.dropdownWidth;\n\n if (this.maxHeight) {\n this.listboxEl.style.maxHeight = this.maxHeight;\n this.listboxEl.style.overflowY = 'auto';\n }\n\n this.listboxEl.offsetHeight;\n\n return computePosition(this.triggerEl, this.listboxEl, {\n placement: this.dropdownPlacement,\n strategy,\n middleware: [offset(12), flip(), shift({ padding: 5 })],\n }).then(({ x, y }) => {\n if (!this.listboxEl) {\n return;\n }\n\n Object.assign(this.listboxEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: strategy,\n zIndex,\n });\n });\n }\n\n private openDropdownPositioning() {\n if (!this.triggerEl || !this.listboxEl) {\n return;\n }\n\n void this.positionDropdown();\n }\n\n private startBodyPortalAutoUpdate() {\n if (this.bodyPortalAutoUpdateActive || !this.triggerEl || !this.listboxEl) {\n return;\n }\n\n this.cleanupPositionAutoUpdate = autoUpdate(this.triggerEl, this.listboxEl, () => {\n void this.positionDropdown();\n });\n this.bodyPortalAutoUpdateActive = true;\n }\n\n private stopBodyPortalAutoUpdate() {\n this.cleanupPositionAutoUpdate?.();\n this.cleanupPositionAutoUpdate = undefined;\n this.bodyPortalAutoUpdateActive = false;\n }\n\n private getPortalMountRoot(): HTMLElement {\n return this.findNearestDialogForPortal(this.el) ?? document.body;\n }\n\n /**\n * Resolves the native `<dialog>` to host the portaled listbox so it stays in the same top layer\n * as `showModal()`. `Element.closest('dialog')` stops at shadow boundaries and can miss a\n * dialog that only wraps slotted content; this walks assigned slots and shadow hosts, and\n * falls back to `pds-modal`'s dialog when the combobox lives inside that subtree.\n */\n private findNearestDialogForPortal(from: HTMLElement): HTMLDialogElement | null {\n const seen = new Set<Node>();\n let current: Node | null = from;\n\n while (current && !seen.has(current)) {\n seen.add(current);\n\n if (current.nodeType === Node.ELEMENT_NODE && (current as Element).localName === 'dialog') {\n return current as HTMLDialogElement;\n }\n\n if (current.nodeType === Node.ELEMENT_NODE) {\n const assigned = (current as HTMLElement).assignedSlot;\n if (assigned) {\n current = assigned;\n continue;\n }\n }\n\n const parent = current.parentNode;\n if (parent) {\n current = parent instanceof ShadowRoot ? parent.host : parent;\n continue;\n }\n\n break;\n }\n\n const pineModal = from.closest('pds-modal');\n if (pineModal) {\n const pineDialog = pineModal.querySelector('dialog');\n if (pineDialog) {\n return pineDialog as HTMLDialogElement;\n }\n }\n\n return null;\n }\n\n private ensureBodyPortal(): HTMLElement {\n if (this.portalEl !== null) {\n const target = this.getPortalMountRoot();\n if (this.portalEl.parentElement !== target) {\n target.appendChild(this.portalEl);\n }\n return this.portalEl;\n }\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = 'pds-combobox-dropdown-portal';\n this.getPortalMountRoot().appendChild(this.portalEl);\n return this.portalEl;\n }\n\n private syncBodyPortal() {\n if (!this.listboxEl) {\n return;\n }\n\n const portal = this.ensureBodyPortal();\n for (const stale of Array.from(portal.children)) {\n if (stale !== this.listboxEl) {\n stale.remove();\n }\n }\n\n if (this.listboxEl.parentElement !== portal) {\n portal.appendChild(this.listboxEl);\n void this.positionDropdown();\n this.startBodyPortalAutoUpdate();\n }\n }\n\n private removeBodyPortal() {\n this.stopBodyPortalAutoUpdate();\n\n if (this.portalEl?.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n\n this.portalEl = null;\n\n if (this.listboxEl && !this.listboxEl.isConnected) {\n this.listboxEl = undefined;\n }\n }\n\n private handleInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.clearExpandFilterList();\n this.displayText = target.value;\n this.isOpen = true;\n this.filterOptions();\n\n // Emit search event for consumer-managed async\n this.pdsComboboxSearch.emit({ query: this.displayText });\n\n // Fetch from async URL if configured\n if (this.asyncUrl) {\n this.debouncedFetchAsyncOptions(this.displayText, 1);\n }\n\n setTimeout(() => this.openDropdownPositioning(), 0);\n };\n\n private handleInputClick = () => {\n // Open dropdown when input is clicked (but not when tabbed into)\n if (!this.isOpen) {\n this.isOpen = true;\n this.prepareExpandFilterListOnOpen();\n this.filterOptions();\n\n // Trigger initial fetch if async and no options loaded yet\n if (this.asyncUrl && this.internalOptions.length === 0) {\n this.debouncedFetchAsyncOptions(this.displayText, 1);\n }\n\n this.setInitialHighlightedIndex();\n setTimeout(() => {\n this.openDropdownPositioning();\n if (this.trigger === 'input' && this.expandFilterListWhileOpen && this.inputEl) {\n this.inputEl.select();\n }\n }, 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp' || (e.altKey && e.key === 'ArrowDown'))) {\n e.preventDefault();\n this.isOpen = true;\n this.prepareExpandFilterListOnOpen();\n this.filterOptions();\n // Set highlighted index immediately for testing\n this.setInitialHighlightedIndex();\n setTimeout(() => {\n this.openDropdownPositioning();\n // For input trigger, keep focus on input and use aria-activedescendant\n // For button trigger, move focus to first option for keyboard navigation\n if (this.trigger === 'input') {\n this.focusFirstOption();\n } else {\n this.focusFirstOptionForArrowKeys();\n }\n }, 0);\n return;\n }\n\n if (!this.isOpen) {\n return;\n }\n\n // Get only the option elements (skip group labels) for navigation\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION') as HTMLOptionElement[];\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n // If no option is highlighted and we have options, start at 0\n if (this.highlightedIndex < 0 && selectableOptions.length > 0) {\n this.highlightedIndex = 0;\n } else {\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, selectableOptions.length - 1);\n }\n this.updateOptionFocus();\n break;\n case 'ArrowUp':\n e.preventDefault();\n // If no option is highlighted and we have options, start at last option\n if (this.highlightedIndex < 0 && selectableOptions.length > 0) {\n this.highlightedIndex = selectableOptions.length - 1;\n } else {\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n }\n this.updateOptionFocus();\n break;\n case 'Home':\n e.preventDefault();\n if (selectableOptions.length > 0) {\n this.highlightedIndex = 0;\n this.updateOptionFocus();\n }\n break;\n case 'End':\n e.preventDefault();\n if (selectableOptions.length > 0) {\n this.highlightedIndex = selectableOptions.length - 1;\n this.updateOptionFocus();\n }\n break;\n case 'PageDown':\n e.preventDefault();\n if (selectableOptions.length > 0) {\n const nextIndex = Math.min(this.highlightedIndex + 10, selectableOptions.length - 1);\n this.highlightedIndex = nextIndex;\n this.updateOptionFocus();\n }\n break;\n case 'PageUp':\n e.preventDefault();\n if (selectableOptions.length > 0) {\n const prevIndex = Math.max(this.highlightedIndex - 10, 0);\n this.highlightedIndex = prevIndex;\n this.updateOptionFocus();\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {\n this.handleOptionClick(selectableOptions[this.highlightedIndex]);\n this.restoreFocusToTrigger();\n }\n break;\n case ' ':\n e.preventDefault();\n if (this.highlightedIndex >= 0 && this.highlightedIndex < selectableOptions.length) {\n this.handleOptionClick(selectableOptions[this.highlightedIndex]);\n this.restoreFocusToTrigger();\n }\n break;\n case 'Escape':\n e.preventDefault();\n this.isOpen = false;\n this.highlightedIndex = -1;\n this.clearExpandFilterList();\n this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode\n this.restoreFocusToTrigger();\n break;\n case 'Tab':\n // Allow normal tab behavior to close dropdown and move focus\n this.isOpen = false;\n this.highlightedIndex = -1;\n this.clearExpandFilterList();\n this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode\n break;\n }\n };\n\n /**\n * Sets focus on the native input element.\n */\n @Method()\n async setFocus() {\n if (this.inputEl) {\n this.inputEl.focus();\n } else {\n this.triggerEl?.focus();\n }\n }\n\n /**\n * Sets the initial highlighted index when dropdown opens.\n * If there's a selected option, highlight it. Otherwise, highlight the first option.\n */\n private setInitialHighlightedIndex() {\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION') as HTMLOptionElement[];\n\n if (selectableOptions.length === 0) {\n this.highlightedIndex = -1;\n return;\n }\n\n // If there's a selected option, find its index in the filtered options\n if (this.selectedOption) {\n const selectedIndex = selectableOptions.findIndex(option => option === this.selectedOption);\n if (selectedIndex >= 0) {\n this.highlightedIndex = selectedIndex;\n return;\n }\n }\n\n // No selected option or selected option not in filtered results, highlight first option\n this.highlightedIndex = 0;\n }\n\n /**\n * Focus management helper - moves focus to the first option when dropdown opens\n */\n private focusFirstOption() {\n if (this.isOpen) {\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');\n if (selectableOptions.length > 0) {\n this.setInitialHighlightedIndex();\n // DON'T focus the option elements - keep focus on trigger and use aria-activedescendant\n // This prevents the focusout event that was closing the dropdown\n // But still call updateOptionFocus for scrolling\n if (this.listboxEl) {\n this.updateOptionFocus();\n }\n }\n }\n }\n\n /**\n * Focus management helper - actually focuses the first option when opened via arrow keys\n */\n private focusFirstOptionForArrowKeys() {\n if (!this.isOpen) {\n return;\n }\n\n // Body-mounted listboxes stay outside modal focus traps; keep focus on the trigger.\n if (this.usesBodyPortal) {\n this.isArrowKeyNavigationMode = true;\n this.focusFirstOption();\n return;\n }\n\n this.isArrowKeyNavigationMode = true;\n\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION');\n if (selectableOptions.length > 0) {\n this.setInitialHighlightedIndex();\n if (this.listboxEl) {\n const optionElements = this.listboxEl.querySelectorAll('[role=\"option\"]');\n const highlightedOption = optionElements[this.highlightedIndex] as HTMLElement;\n if (highlightedOption) {\n optionElements.forEach(option => {\n (option as HTMLElement).setAttribute('tabindex', '-1');\n });\n highlightedOption.setAttribute('tabindex', '0');\n highlightedOption.focus();\n highlightedOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }\n this.updateAriaActiveDescendant();\n }\n }\n\n // Track if we're in arrow-key navigation mode (focus should move between options)\n private isArrowKeyNavigationMode: boolean = false;\n\n /**\n * Focus management helper - updates visual state and scrolling for the currently highlighted option\n * Note: We don't actually focus the option to prevent focusout events that close the dropdown\n */\n private updateOptionFocus() {\n if (!this.listboxEl || this.highlightedIndex < 0) return;\n\n const optionElements = this.listboxEl.querySelectorAll('[role=\"option\"]');\n const currentOption = optionElements[this.highlightedIndex] as HTMLElement;\n\n if (currentOption) {\n // Check if any option currently has focus OR if we're in arrow-key navigation mode\n const hasOptionFocus = Array.from(optionElements).some(el => el === document.activeElement);\n\n const shouldFocusOption =\n !this.usesBodyPortal && (hasOptionFocus || this.isArrowKeyNavigationMode);\n\n if (shouldFocusOption) {\n optionElements.forEach(option => {\n (option as HTMLElement).setAttribute('tabindex', '-1');\n });\n currentOption.setAttribute('tabindex', '0');\n currentOption.focus();\n }\n\n // Always scroll the option into view\n currentOption.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n\n // Always update aria-activedescendant on the trigger element\n this.updateAriaActiveDescendant();\n }\n\n /**\n * Updates aria-activedescendant on the trigger element\n */\n private updateAriaActiveDescendant() {\n if (this.triggerEl && this.highlightedIndex >= 0) {\n this.triggerEl.setAttribute('aria-activedescendant', this.optionDomId(this.highlightedIndex));\n } else if (this.triggerEl) {\n this.triggerEl.removeAttribute('aria-activedescendant');\n }\n }\n\n /**\n * Focus management helper - restores focus to the trigger element\n */\n private restoreFocusToTrigger() {\n setTimeout(() => {\n if (this.inputEl) {\n this.inputEl.focus();\n } else if (this.triggerEl) {\n this.triggerEl.focus();\n }\n }, 0);\n }\n\n /**\n * Gets the value of the currently selected option.\n */\n @Method()\n async getSelectedValue(): Promise<string | null> {\n return this.selectedOption ? this.selectedOption.value : null;\n }\n\n // Event handler for option click\n private onOptionClick = (event: Event) => {\n const idx = Number((event.currentTarget as HTMLElement).getAttribute('data-option-index'));\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION') as HTMLOptionElement[];\n const option = selectableOptions[idx];\n this.handleOptionClick(option);\n };\n\n // Event handler for mouse enter on option\n private onOptionMouseEnter = (event: Event) => {\n const idx = Number((event.currentTarget as HTMLElement).getAttribute('data-option-index'));\n this.highlightedIndex = idx;\n };\n\n // Prevent blur on mousedown\n private onOptionMouseDown = (event: Event) => {\n event.preventDefault();\n };\n\n // Event handler for option keyboard events\n private onOptionKeyDown = (event: KeyboardEvent) => {\n // Delegate to main keyboard handler\n this.handleKeyDown(event);\n };\n\n // Get the label of the selected option\n private get selectedLabel(): string {\n return this.displayText || '';\n }\n\n // Get the layout content of the selected option for button trigger\n private get selectedLayoutContent(): string {\n return this.selectedOptionLayoutContent;\n }\n\n // Check if selected option has layout\n private get selectedHasLayout(): boolean {\n return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;\n }\n\n // Extract chip sentiment from selected option's attributes, layout content, or slotted trigger content\n private get selectedChipSentiment(): ChipSentimentType {\n // First priority: Check selected option's chip attributes (new automatic approach)\n if (this.selectedOption && this.isOptionChip(this.selectedOption)) {\n const sentiment = this.selectedOption.getAttribute('chip-sentiment') as ChipSentimentType;\n if (sentiment) return sentiment;\n }\n\n // Second priority: Check selected option's layout content (existing custom layout approach)\n if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {\n const chipElement = this.selectedOption.querySelector('pds-chip');\n const sentiment = chipElement?.getAttribute('sentiment') as ChipSentimentType;\n if (sentiment) return sentiment;\n }\n\n // Third priority: Check if we have custom trigger content with a chip (initial state)\n if (this.customTriggerContent) {\n const slottedChip = this.el.querySelector('pds-chip[slot=\"trigger-content\"]');\n if (slottedChip) {\n const sentiment = slottedChip.getAttribute('sentiment') as ChipSentimentType;\n if (sentiment) return sentiment;\n }\n }\n\n // Fallback: Use component props\n return this.chipSentiment;\n }\n\n\n // Extract chip large from selected option's attributes, layout content, or slotted trigger content\n private get selectedChipLarge(): boolean {\n // First priority: Check selected option's chip attributes (new automatic approach)\n if (this.selectedOption && this.isOptionChip(this.selectedOption)) {\n if (this.selectedOption.hasAttribute('chip-large')) return true;\n }\n\n // Second priority: Check selected option's layout content (existing custom layout approach)\n if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {\n const chipElement = this.selectedOption.querySelector('pds-chip');\n if (chipElement?.hasAttribute('large')) return true;\n }\n\n // Third priority: Check if we have custom trigger content with a chip (initial state)\n if (this.customTriggerContent) {\n const slottedChip = this.el.querySelector('pds-chip[slot=\"trigger-content\"]');\n if (slottedChip && slottedChip.hasAttribute('large')) {\n return true;\n }\n }\n\n // Fallback: Use component props\n return this.chipLarge;\n }\n\n // Extract chip icon from selected option's attributes, layout content, or slotted trigger content\n private get selectedChipIcon(): string | undefined {\n // First priority: Check selected option's chip attributes (new automatic approach)\n if (this.selectedOption && this.isOptionChip(this.selectedOption)) {\n const icon = this.selectedOption.getAttribute('chip-icon');\n if (icon) return icon;\n }\n\n // Second priority: Check selected option's layout content (existing custom layout approach)\n if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {\n const chipElement = this.selectedOption.querySelector('pds-chip');\n const icon = chipElement?.getAttribute('icon');\n if (icon) return icon;\n }\n\n // Third priority: Check if we have custom trigger content with a chip (initial state)\n if (this.customTriggerContent) {\n const slottedChip = this.el.querySelector('pds-chip[slot=\"trigger-content\"]');\n if (slottedChip) {\n const icon = slottedChip.getAttribute('icon');\n if (icon) return icon;\n }\n }\n\n // Fallback: Use component props\n return this.chipIcon;\n }\n\n // Extract chip dot from selected option's attributes, layout content, or slotted trigger content\n private get selectedChipDot(): boolean {\n // First priority: Check selected option's chip attributes (new automatic approach)\n if (this.selectedOption && this.isOptionChip(this.selectedOption)) {\n if (this.selectedOption.hasAttribute('chip-dot')) return true;\n }\n\n // Second priority: Check selected option's layout content (existing custom layout approach)\n if (this.selectedOption && this.isOptionLayout(this.selectedOption)) {\n const chipElement = this.selectedOption.querySelector('pds-chip');\n if (chipElement?.hasAttribute('dot')) return true;\n }\n\n // Third priority: Check if we have custom trigger content with a chip (initial state)\n if (this.customTriggerContent) {\n const slottedChip = this.el.querySelector('pds-chip[slot=\"trigger-content\"]');\n if (slottedChip && slottedChip.hasAttribute('dot')) {\n return true;\n }\n }\n\n // Fallback: Use component props\n return this.chipDot;\n }\n\n // Handler for button trigger click\n private onButtonTriggerClick = () => {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.prepareExpandFilterListOnOpen();\n this.filterOptions();\n\n // Trigger initial fetch if async and no options loaded yet\n if (this.asyncUrl && this.internalOptions.length === 0) {\n this.debouncedFetchAsyncOptions(this.displayText, 1);\n }\n\n // Set highlighted index and prepare for keyboard navigation\n this.setInitialHighlightedIndex();\n // For button trigger, prepare for arrow-key navigation mode\n this.isArrowKeyNavigationMode = true;\n setTimeout(() => this.openDropdownPositioning(), 0);\n } else {\n // Reset navigation mode when closing\n this.clearExpandFilterList();\n this.isArrowKeyNavigationMode = false;\n }\n };\n\n // Handler for button trigger keyboard events\n private onButtonTriggerKeyDown = (e: KeyboardEvent) => {\n if ((e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown' || e.key === 'ArrowUp') && !this.isOpen) {\n e.preventDefault();\n e.stopPropagation(); // Prevent the event from bubbling and triggering click\n\n this.isOpen = true;\n this.prepareExpandFilterListOnOpen();\n this.filterOptions();\n // Set highlighted index immediately\n this.setInitialHighlightedIndex();\n setTimeout(() => {\n this.openDropdownPositioning();\n // For all button trigger keyboard opening, focus the first option so subsequent navigation works\n this.focusFirstOptionForArrowKeys();\n }, 0);\n } else if (e.key === 'Escape') {\n e.preventDefault();\n if (this.isOpen) {\n this.isOpen = false;\n this.highlightedIndex = -1;\n this.clearExpandFilterList();\n this.updateAriaActiveDescendant(); // Clear aria-activedescendant\n this.restoreFocusToTrigger();\n }\n } else if (this.isOpen) {\n // Delegate other keys to main keyboard handler when dropdown is open\n this.handleKeyDown(e);\n }\n };\n\n // Handler for button trigger keyup events - prevents space key from triggering synthetic click\n private onButtonTriggerKeyUp = (e: KeyboardEvent) => {\n if (e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n // Close dropdown when focus leaves the combobox\n private onComboboxFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n const isRelatedTargetInListbox =\n relatedTarget &&\n (this.listboxEl?.contains(relatedTarget) || this.portalEl?.contains(relatedTarget));\n const isRelatedTargetInCombobox = this.el.contains(relatedTarget);\n\n // Don't close if focus is moving to an option in the listbox or staying within the combobox\n if (!isRelatedTargetInCombobox && !isRelatedTargetInListbox) {\n this.isOpen = false;\n this.highlightedIndex = -1;\n this.clearExpandFilterList();\n this.isArrowKeyNavigationMode = false; // Reset arrow-key navigation mode\n this.updateAriaActiveDescendant(); // Clear aria-activedescendant\n\n // If there's a selected option but the display text doesn't match, restore the selected option's display text\n if (this.selectedOption && this.displayText !== this.getOptionLabel(this.selectedOption)) {\n this.displayText = this.getOptionLabel(this.selectedOption);\n // The @Watch('selectedOption') will handle value and form internals if needed\n }\n }\n };\n\n private handleOptionClick(option: HTMLOptionElement) {\n // Update reactive state - single source of truth\n // The @Watch('selectedOption') will handle displayText, value, and form internals\n this.setSelectedOption(option);\n\n this.isOpen = false;\n this.clearExpandFilterList();\n this.pdsComboboxChange.emit({ value: option.value });\n }\n\n private handleScroll = (e: Event) => {\n if (!this.asyncUrl || !this.hasMore || this.loading) return;\n\n const target = e.target as HTMLElement;\n const scrollBottom = target.scrollHeight - target.scrollTop - target.clientHeight;\n\n // Load more when near bottom (within 50px)\n if (scrollBottom < 50) {\n this.pdsComboboxLoadOptions.emit({\n query: this.displayText,\n page: this.currentPage + 1,\n });\n this.debouncedFetchAsyncOptions(this.displayText, this.currentPage + 1);\n }\n };\n\n private renderDropdown() {\n if (!this.isOpen) {\n return null;\n }\n\n const hasSlottedEmpty = !this.usesBodyPortal && !!this.el.querySelector('[slot=\"empty\"]');\n const hasSlottedLoading = !this.usesBodyPortal && !!this.el.querySelector('[slot=\"loading\"]');\n\n let optionIndex = 0;\n const selectableOptions = this.filteredItems.filter(item => item.tagName === 'OPTION') as HTMLOptionElement[];\n\n return (\n <ul\n class=\"pds-combobox__listbox\"\n role=\"listbox\"\n id={this.listboxId}\n aria-label={this.label || 'Options'}\n aria-multiselectable=\"false\"\n ref={el => (this.listboxEl = el as HTMLElement)}\n onScroll={this.handleScroll}\n >\n {this.loading && (\n <li class=\"pds-combobox__loading\" role=\"presentation\">\n {hasSlottedLoading ? (\n <slot name=\"loading\" />\n ) : (\n <pds-loader size=\"small\" />\n )}\n </li>\n )}\n\n {!this.loading && this.filteredItems.length === 0 && (\n <li class=\"pds-combobox__empty\" role=\"presentation\">\n {hasSlottedEmpty ? (\n <slot name=\"empty\" />\n ) : (\n <span>No options found</span>\n )}\n </li>\n )}\n\n {this.filteredItems.map((item, itemIdx) => {\n if (item.tagName === 'OPTGROUP') {\n const optgroup = item as HTMLOptGroupElement;\n return (\n <li\n key={`optgroup-${itemIdx}`}\n class=\"pds-combobox__group-label\"\n role=\"presentation\"\n aria-label={optgroup.label}\n >\n {optgroup.label}\n </li>\n );\n } else if (item.tagName === 'PDS-TEXT') {\n const pdsText = item as HTMLPdsTextElement;\n return (\n <li\n key={`pds-text-${itemIdx}`}\n class=\"pds-combobox__group-label\"\n role=\"presentation\"\n >\n {pdsText.textContent}\n </li>\n );\n } else if (item.tagName === 'OPTION') {\n const option = item as HTMLOptionElement;\n const isSelected = this.isOptionSelected(option);\n const isHighlighted = this.highlightedIndex === optionIndex;\n const isLayout = this.isOptionLayout(option);\n const isChip = this.isOptionChip(option);\n const currentOptionIndex = optionIndex++;\n\n return (\n <li\n key={option.value}\n id={this.optionDomId(currentOptionIndex)}\n role=\"option\"\n aria-selected={isSelected ? 'true' : 'false'}\n aria-setsize={selectableOptions.length}\n aria-posinset={currentOptionIndex + 1}\n aria-label={isLayout || isChip ? option.getAttribute('aria-label') || this.getOptionLabel(option) : undefined}\n tabindex={this.usesBodyPortal ? '-1' : isHighlighted ? '0' : '-1'}\n class={{\n 'pds-combobox__option': true,\n 'pds-combobox__option--highlighted': isHighlighted,\n 'pds-combobox__option--layout': isLayout,\n 'pds-combobox__option--chip': isChip,\n }}\n data-option-index={currentOptionIndex}\n onMouseDown={this.onOptionMouseDown}\n onClick={this.onOptionClick}\n onMouseEnter={this.onOptionMouseEnter}\n onKeyDown={this.onOptionKeyDown}\n >\n {isLayout ? (\n <pds-box class=\"pds-combobox__option-layout-wrapper\" innerHTML={this.getOptionLayoutContent(option)} />\n ) : isChip ? (\n this.renderOptionChip(option)\n ) : (\n this.getOptionLabel(option)\n )}\n {isSelected && <pds-icon icon=\"check\" size=\"regular\" class=\"pds-combobox__option-check\" />}\n </li>\n );\n }\n return null;\n })}\n\n {this.hasMore && !this.loading && (\n <li class=\"pds-combobox__load-more\" role=\"presentation\">\n <pds-loader size=\"small\" />\n </li>\n )}\n </ul>\n );\n }\n\n // Helper method to render the caret icon\n private renderCaretIcon() {\n return <pds-icon icon=\"caret-down\" aria-hidden=\"true\" class=\"pds-combobox__button-trigger-chevron\" />;\n }\n\n // Helper method to render layout content\n private renderLayoutContent() {\n return (\n <div class=\"pds-combobox__button-trigger-layout-wrapper\" innerHTML={this.selectedLayoutContent} />\n );\n }\n\n // Helper method to render default text content\n private renderDefaultContent() {\n return (\n <span class=\"pds-combobox__button-trigger-label\">\n {this.selectedLabel || this.placeholder}\n </span>\n );\n }\n\n // Helper method to check if we should show layout content\n private shouldShowLayoutContent(): boolean {\n return this.selectedHasLayout && !!this.selectedLayoutContent;\n }\n\n // Helper method to build chip trigger CSS classes\n private getChipTriggerClass(): string {\n const classes = ['pds-combobox__chip-trigger'];\n\n // Add sentiment class\n classes.push(`pds-combobox__chip-trigger--${this.selectedChipSentiment}`);\n\n // Always use dropdown variant for chip triggers\n classes.push('pds-combobox__chip-trigger--dropdown');\n\n // Add large class if needed\n if (this.selectedChipLarge) {\n classes.push('pds-combobox__chip-trigger--large');\n }\n\n // Add dot class if needed\n if (this.selectedChipDot) {\n classes.push('pds-combobox__chip-trigger--dot');\n }\n\n return classes.join(' ');\n }\n\n private renderButtonTriggerContent() {\n // Case 1: Custom trigger content with layout priority\n if (this.customTriggerContent) {\n if (this.shouldShowLayoutContent()) {\n return [this.renderLayoutContent(), this.renderCaretIcon()];\n }\n // Fall back to slot content when no layout is available\n return <slot name=\"trigger-content\" />;\n }\n\n // Case 2: Standard mode with layout content\n if (this.shouldShowLayoutContent()) {\n return [this.renderLayoutContent(), this.renderCaretIcon()];\n }\n\n // Case 3: Standard mode with default text content\n return [this.renderDefaultContent(), this.renderCaretIcon()];\n }\n\n private renderChipTriggerContent() {\n // Case 1: Custom trigger content with layout priority\n if (this.customTriggerContent) {\n if (this.shouldShowLayoutContent()) {\n // When using custom layouts, the chip handles its own dropdown arrow\n return this.renderChipTriggerLayoutContent();\n }\n // Fall back to slot content when no layout is available - chip handles its own dropdown arrow\n return <slot name=\"trigger-content\" />;\n }\n\n // Case 2: Standard mode with layout content\n if (this.shouldShowLayoutContent()) {\n // When using custom layouts, the chip handles its own dropdown arrow\n return this.renderChipTriggerLayoutContent();\n }\n\n // Case 3: Automatic chip mode - selected option has chip attributes\n if (this.selectedOption && this.selectedOptionChipProps) {\n // Render as chip automatically - chip handles its own dropdown arrow\n return this.renderSelectedOptionAsChip();\n }\n\n // Case 4: Standard mode with default text content\n return [\n this.renderChipTriggerDefaultContent(),\n this.renderCaretIcon()\n ];\n }\n\n // Helper method to render selected option as chip for trigger (automatic approach)\n private renderSelectedOptionAsChip() {\n if (!this.selectedOption || !this.selectedOptionChipProps) return null;\n\n return (\n <pds-chip\n sentiment={this.selectedOptionChipProps.sentiment as any}\n variant=\"dropdown\" // Always use dropdown variant for triggers\n large={this.selectedOptionChipProps.large}\n icon={this.selectedOptionChipProps.icon}\n dot={this.selectedOptionChipProps.dot}\n class=\"pds-combobox__chip-trigger-auto\"\n >\n {this.getOptionLabel(this.selectedOption)}\n </pds-chip>\n );\n }\n\n // Helper method to render chip trigger layout content\n private renderChipTriggerLayoutContent() {\n return (\n <div class=\"pds-combobox__chip-trigger-layout-wrapper\" innerHTML={this.getModifiedLayoutContentForTrigger()} />\n );\n }\n\n // Helper method to modify layout content for trigger use (ensure dropdown variant)\n private getModifiedLayoutContentForTrigger(): string {\n let content = this.selectedLayoutContent;\n\n // If the content contains a pds-chip, ensure it has variant=\"dropdown\"\n if (content.includes('<pds-chip')) {\n // Use a temporary div to parse and modify the HTML\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = content;\n\n const chipElement = tempDiv.querySelector('pds-chip');\n if (chipElement) {\n chipElement.setAttribute('variant', 'dropdown');\n content = tempDiv.innerHTML;\n }\n }\n\n return content;\n }\n\n // Helper method to render chip trigger default content\n private renderChipTriggerDefaultContent() {\n return (\n <span class=\"pds-combobox__chip-trigger-label\">\n {this.selectedChipIcon && <pds-icon icon={this.selectedChipIcon} class=\"pds-combobox__chip-trigger-icon\" />}\n {this.selectedLabel || this.placeholder}\n </span>\n );\n }\n\n // Helper method to render option as chip (new automatic approach)\n private renderOptionChip(option: HTMLOptionElement) {\n const chipProps = this.getOptionChipProps(option);\n return (\n <pds-chip\n sentiment={chipProps.sentiment as any}\n variant=\"text\" // Dropdown options use text variant, not dropdown\n large={chipProps.large}\n icon={chipProps.icon}\n dot={chipProps.dot}\n class=\"pds-combobox__option-chip\"\n >\n {this.getOptionLabel(option)}\n </pds-chip>\n );\n }\n\n\n\n render() {\n const triggerClass = [\n 'pds-combobox__button-trigger',\n `pds-combobox__button-trigger--${this.triggerVariant}`,\n this.triggerShape === 'input' && 'pds-combobox__button-trigger--input-shape',\n ]\n .filter(Boolean)\n .join(' ');\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class=\"pds-combobox\" tabIndex={-1} onFocusout={this.onComboboxFocusOut} part=\"combobox\">\n {this.label && !this.hideLabel && (\n <label htmlFor={this.componentId} class=\"pds-combobox__label\">\n {this.label}\n </label>\n )}\n {this.trigger === 'input' ? (\n <div class=\"pds-combobox__input-wrapper\" style={{ width: this.triggerWidth }}>\n <input\n ref={el => {\n this.inputEl = el as HTMLInputElement;\n this.triggerEl = el as HTMLElement;\n }}\n class=\"pds-combobox__input\"\n type=\"text\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={this.listboxId}\n aria-activedescendant={this.isOpen && this.highlightedIndex >= 0 ? this.optionDomId(this.highlightedIndex) : undefined}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.hideLabel ? this.label : undefined}\n id={this.componentId}\n value={this.displayText}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleInput}\n onClick={this.handleInputClick}\n onKeyDown={this.handleKeyDown}\n autocomplete=\"off\"\n part=\"input\"\n />\n <pds-icon icon=\"enlarge\" aria-hidden=\"true\" class=\"pds-combobox__input-icon\" />\n </div>\n ) : this.trigger === 'chip' ? (\n <div\n class={this.getChipTriggerClass()}\n style={{ width: this.triggerWidth }}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-controls={this.listboxId}\n aria-activedescendant={this.isOpen && this.highlightedIndex >= 0 ? this.optionDomId(this.highlightedIndex) : undefined}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.hideLabel ? this.label : undefined}\n id={this.componentId}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.onButtonTriggerClick}\n data-layout={this.customTriggerContent}\n onKeyDown={this.onButtonTriggerKeyDown}\n onKeyUp={this.onButtonTriggerKeyUp}\n ref={el => (this.triggerEl = el as HTMLElement)}\n part=\"chip-trigger\"\n >\n {this.renderChipTriggerContent()}\n </div>\n ) : (\n <div\n class={triggerClass}\n style={{ width: this.triggerWidth }}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-controls={this.listboxId}\n aria-activedescendant={this.isOpen && this.highlightedIndex >= 0 ? this.optionDomId(this.highlightedIndex) : undefined}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.hideLabel ? this.label : undefined}\n id={this.componentId}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.onButtonTriggerClick}\n data-layout={this.customTriggerContent}\n onKeyDown={this.onButtonTriggerKeyDown}\n onKeyUp={this.onButtonTriggerKeyUp}\n ref={el => (this.triggerEl = el as HTMLElement)}\n part=\"button-trigger\"\n >\n {this.renderButtonTriggerContent()}\n </div>\n )}\n {/* Hide the slot so options are not visible */}\n <div style={{ display: 'none' }}>\n <slot onSlotchange={() => this.updateOptions()}></slot>\n </div>\n {this.renderDropdown()}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-container.js","sourceRoot":"","sources":["../../../../src/components/pds-container/pds-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D;;GAEG;AAMH,MAAM,OAAO,YAAY;IALzB;QAaE;;;WAGG;QACK,QAAG,GAA2C,KAAK,CAAC;QAE5D;;;WAGG;QACK,aAAQ,GAAY,IAAI,CAAC;KAsBlC;IApBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,IAAI,UAAU;YAAE,SAAS,CAAC,4BAA4B,CAAC,GAAG,UAAU,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;QAErD,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EACnD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,SAAiB,CAAC,CAAC,CAAC,SAAS;YAErE,EAAC,GAAG,qDAAC,IAAI,EAAC,WAAW;gBACnB,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from '@stencil/core';\n\nconst NAMED_SIZES = new Set(['sm', 'md', 'lg', 'xl', 'full']);\n\n/**\n * @part container - The inner semantic container element\n */\n@Component({\n tag: 'pds-container',\n styleUrl: 'pds-container.scss',\n shadow: true,\n})\nexport class PdsContainer {\n /**\n * Sets the maximum width of the container. Accepts a named size token\n * (`'sm'` | `'md'` | `'lg'` | `'xl'` | `'full'`) or any valid CSS length value (e.g. `'640px'`, `'50rem'`).\n * When omitted, no max-width is applied.\n */\n @Prop() size?: string;\n\n /**\n * Sets the semantic HTML tag rendered as the inner container element.\n * @default 'div'\n */\n @Prop() tag: 'div' | 'main' | 'section' | 'article' = 'div';\n\n /**\n * If `true`, the container is centered horizontally using `margin-inline: auto`.\n * @default true\n */\n @Prop() centered: boolean = true;\n\n render() {\n const Tag = this.tag;\n const isNamed = this.size !== undefined && NAMED_SIZES.has(this.size);\n const customSize = this.size !== undefined && !isNamed ? this.size : undefined;\n\n const hostStyle: Record<string, string> = {};\n if (customSize) hostStyle['--pine-container-max-width'] = customSize;\n if (!this.centered) hostStyle['margin-inline'] = '0';\n\n return (\n <Host\n class={{ [`pds-container--${this.size}`]: isNamed }}\n style={Object.keys(hostStyle).length ? (hostStyle as any) : undefined}\n >\n <Tag part=\"container\">\n <slot />\n </Tag>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pds-copytext.js","sourceRoot":"","sources":["../../../../src/components/pds-copytext/pds-copytext.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\nimport { setupTruncationTooltip } from '../../utils/truncation-tooltip';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n @Element() el: HTMLPdsCopytextElement;\n private truncationCleanup: (() => void) | null = null;\n private valueSpanEl: HTMLSpanElement;\n\n /**\n * Determines whether `copytext` should have a visible border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * When text overflows, a tooltip showing the full value will appear on hover/focus.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * The string displayed that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n @Watch('truncate')\n handleTruncateChange(newValue: boolean) {\n if (newValue) {\n this.initTruncationTooltip();\n } else {\n this.destroyTruncationTooltip();\n }\n }\n\n @Watch('value')\n handleValueChange() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n componentDidLoad() {\n if (this.truncate) {\n this.initTruncationTooltip();\n }\n }\n\n disconnectedCallback() {\n this.destroyTruncationTooltip();\n }\n\n private initTruncationTooltip() {\n this.destroyTruncationTooltip();\n\n if (this.valueSpanEl) {\n this.truncationCleanup = setupTruncationTooltip({\n hostEl: this.el,\n contentEl: this.valueSpanEl,\n getTooltipText: () => this.value || '',\n });\n }\n }\n\n private destroyTruncationTooltip() {\n if (this.truncationCleanup) {\n this.truncationCleanup();\n this.truncationCleanup = null;\n }\n }\n\n /**\n * Event fired when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter<string>;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (typeof navigator.clipboard !== 'undefined') {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span ref={(el) => this.valueSpanEl = el}>{this.value}</span>\n <pds-icon icon={copyIcon} size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"]}