@pine-ds/core 3.2.0 → 3.4.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 (627) hide show
  1. package/components/floating-ui.dom.js +1321 -0
  2. package/components/floating-ui.dom.js.map +1 -0
  3. package/components/index.d.ts +4 -0
  4. package/components/index.js +2 -0
  5. package/components/index.js.map +1 -1
  6. package/components/index2.js +1 -1
  7. package/components/index2.js.map +1 -1
  8. package/components/mock-pds-modal.js +1 -1
  9. package/components/pds-box2.js.map +1 -1
  10. package/components/pds-button2.js +1 -1
  11. package/components/pds-button2.js.map +1 -1
  12. package/components/pds-chip.js +21 -6
  13. package/components/pds-chip.js.map +1 -1
  14. package/components/pds-combobox.d.ts +11 -0
  15. package/components/pds-combobox.js +1771 -0
  16. package/components/pds-combobox.js.map +1 -0
  17. package/components/pds-copytext.js +1 -1
  18. package/components/pds-divider.js +1 -1
  19. package/components/pds-dropdown-menu-item.js +1 -1
  20. package/components/pds-dropdown-menu-separator.js +1 -1
  21. package/components/pds-dropdown-menu.js +4 -1320
  22. package/components/pds-dropdown-menu.js.map +1 -1
  23. package/components/pds-icon2.js +151 -18
  24. package/components/pds-icon2.js.map +1 -1
  25. package/components/pds-image.js +2 -2
  26. package/components/pds-input.js +111 -21
  27. package/components/pds-input.js.map +1 -1
  28. package/components/pds-link2.js +2 -2
  29. package/components/pds-loader2.js +1 -1
  30. package/components/pds-modal-content.js +2 -2
  31. package/components/pds-modal-footer.js +1 -1
  32. package/components/pds-modal-header.js +1 -1
  33. package/components/pds-modal.js +2 -2
  34. package/components/pds-popover.js +1 -1
  35. package/components/pds-progress.js +1 -1
  36. package/components/pds-property.d.ts +11 -0
  37. package/components/pds-property.js +55 -0
  38. package/components/pds-property.js.map +1 -0
  39. package/components/pds-radio.js +3 -3
  40. package/components/pds-row.js +1 -1
  41. package/components/pds-select.js +12 -3
  42. package/components/pds-select.js.map +1 -1
  43. package/components/pds-sortable-item.js +1 -1
  44. package/components/pds-sortable.js +1 -1
  45. package/components/pds-switch.js +3 -3
  46. package/components/pds-tab.js +3 -3
  47. package/components/pds-table-body.js +1 -1
  48. package/components/pds-table-cell2.js +2 -2
  49. package/components/pds-table-head-cell2.js +2 -2
  50. package/components/pds-table-head.js +1 -1
  51. package/components/pds-table-row.js +1 -1
  52. package/components/pds-table.js +1 -1
  53. package/components/pds-tabpanel.js +1 -1
  54. package/components/pds-tabs.js +1 -1
  55. package/components/pds-text2.js +1 -1
  56. package/components/pds-text2.js.map +1 -1
  57. package/components/pds-textarea.js +18 -5
  58. package/components/pds-textarea.js.map +1 -1
  59. package/components/pds-toast.js +3 -3
  60. package/components/pds-tooltip.js +17 -1
  61. package/components/pds-tooltip.js.map +1 -1
  62. package/dist/cjs/floating-ui.dom-Bz4BD-cr.js +1326 -0
  63. package/dist/cjs/floating-ui.dom-Bz4BD-cr.js.map +1 -0
  64. package/dist/cjs/{index-CG2Rr2io.js → index-BfqrB2cC.js} +3 -3
  65. package/dist/cjs/index-BfqrB2cC.js.map +1 -0
  66. package/dist/cjs/loader.cjs.js +1 -1
  67. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  68. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  69. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  70. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  71. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  72. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  73. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  74. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  75. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-chip.cjs.entry.js +21 -7
  77. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  78. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  79. package/dist/cjs/pds-combobox.cjs.entry.js +1717 -0
  80. package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -0
  81. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -0
  82. package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
  83. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  84. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  86. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +4 -1320
  87. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
  88. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  89. package/dist/cjs/pds-icon.cjs.entry.js +148 -15
  90. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  91. package/dist/cjs/pds-icon.entry.cjs.js.map +1 -1
  92. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  93. package/dist/cjs/pds-input.cjs.entry.js +100 -21
  94. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  95. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  96. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  97. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  98. package/dist/cjs/pds-modal-content.cjs.entry.js +2 -2
  99. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  100. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  101. package/dist/cjs/pds-modal.cjs.entry.js +2 -2
  102. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  103. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  104. package/dist/cjs/pds-property.cjs.entry.js +24 -0
  105. package/dist/cjs/pds-property.cjs.entry.js.map +1 -0
  106. package/dist/cjs/pds-property.entry.cjs.js.map +1 -0
  107. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  108. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  109. package/dist/cjs/pds-select.cjs.entry.js +12 -4
  110. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  111. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  112. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  113. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  114. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  115. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  116. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  117. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  118. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -3
  119. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  120. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  121. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  122. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  123. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  124. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  125. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  126. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  127. package/dist/cjs/pds-textarea.cjs.entry.js +18 -6
  128. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  129. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  130. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  131. package/dist/cjs/pds-tooltip.cjs.entry.js +17 -1
  132. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  133. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  134. package/dist/cjs/pine-core.cjs.js +1 -1
  135. package/dist/collection/collection-manifest.json +2 -0
  136. package/dist/collection/components/pds-button/pds-button.css +17 -5
  137. package/dist/collection/components/pds-chip/pds-chip.css +48 -11
  138. package/dist/collection/components/pds-chip/pds-chip.js +42 -9
  139. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  140. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +17 -0
  141. package/dist/collection/components/pds-combobox/pds-combobox.css +223 -0
  142. package/dist/collection/components/pds-combobox/pds-combobox.js +783 -0
  143. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -0
  144. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +194 -0
  145. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  146. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  147. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
  148. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  149. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  150. package/dist/collection/components/pds-image/pds-image.js +2 -2
  151. package/dist/collection/components/pds-input/pds-input.css +184 -43
  152. package/dist/collection/components/pds-input/pds-input.js +226 -21
  153. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  154. package/dist/collection/components/pds-input/stories/pds-input.stories.js +182 -0
  155. package/dist/collection/components/pds-link/pds-link.js +2 -2
  156. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  157. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  158. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  159. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  160. package/dist/collection/components/pds-modal/pds-modal.js +2 -2
  161. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  162. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  163. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  164. package/dist/collection/components/pds-property/pds-property.css +4 -0
  165. package/dist/collection/components/pds-property/pds-property.js +71 -0
  166. package/dist/collection/components/pds-property/pds-property.js.map +1 -0
  167. package/dist/collection/components/pds-property/stories/pds-property.stories.js +20 -0
  168. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  169. package/dist/collection/components/pds-row/pds-row.js +1 -1
  170. package/dist/collection/components/pds-select/pds-select.css +53 -5
  171. package/dist/collection/components/pds-select/pds-select.js +32 -2
  172. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  173. package/dist/collection/components/pds-select/stories/pds-select.stories.js +44 -0
  174. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  175. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  176. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  177. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  178. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  179. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  180. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  181. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  182. package/dist/collection/components/pds-table/pds-table.js +1 -1
  183. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  184. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  185. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  186. package/dist/collection/components/pds-text/pds-text.js +4 -1
  187. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  188. package/dist/collection/components/pds-textarea/pds-textarea.css +18 -0
  189. package/dist/collection/components/pds-textarea/pds-textarea.js +21 -5
  190. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  191. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +48 -1
  192. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  193. package/dist/collection/components/pds-tooltip/pds-tooltip.js +17 -1
  194. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  195. package/dist/docs.json +1162 -227
  196. package/dist/esm/floating-ui.dom-D_FwyeSw.js +1321 -0
  197. package/dist/esm/floating-ui.dom-D_FwyeSw.js.map +1 -0
  198. package/dist/esm/{index-_4gljHh-.js → index-CzVv99mW.js} +3 -3
  199. package/dist/esm/index-CzVv99mW.js.map +1 -0
  200. package/dist/esm/loader.js +1 -1
  201. package/dist/esm/mock-pds-modal.entry.js +1 -1
  202. package/dist/esm/pds-accordion.entry.js +1 -1
  203. package/dist/esm/pds-avatar.entry.js +1 -1
  204. package/dist/esm/pds-box.entry.js.map +1 -1
  205. package/dist/esm/pds-button.entry.js +2 -2
  206. package/dist/esm/pds-button.entry.js.map +1 -1
  207. package/dist/esm/pds-checkbox.entry.js +1 -1
  208. package/dist/esm/pds-chip.entry.js +21 -7
  209. package/dist/esm/pds-chip.entry.js.map +1 -1
  210. package/dist/esm/pds-combobox.entry.js +1715 -0
  211. package/dist/esm/pds-combobox.entry.js.map +1 -0
  212. package/dist/esm/pds-copytext.entry.js +2 -2
  213. package/dist/esm/pds-divider.entry.js +1 -1
  214. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  215. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  216. package/dist/esm/pds-dropdown-menu.entry.js +2 -1318
  217. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  218. package/dist/esm/pds-icon.entry.js +148 -15
  219. package/dist/esm/pds-icon.entry.js.map +1 -1
  220. package/dist/esm/pds-image.entry.js +2 -2
  221. package/dist/esm/pds-input.entry.js +100 -21
  222. package/dist/esm/pds-input.entry.js.map +1 -1
  223. package/dist/esm/pds-link.entry.js +3 -3
  224. package/dist/esm/pds-loader.entry.js +1 -1
  225. package/dist/esm/pds-modal-content.entry.js +2 -2
  226. package/dist/esm/pds-modal-footer.entry.js +1 -1
  227. package/dist/esm/pds-modal-header.entry.js +1 -1
  228. package/dist/esm/pds-modal.entry.js +2 -2
  229. package/dist/esm/pds-popover.entry.js +1 -1
  230. package/dist/esm/pds-progress.entry.js +1 -1
  231. package/dist/esm/pds-property.entry.js +22 -0
  232. package/dist/esm/pds-property.entry.js.map +1 -0
  233. package/dist/esm/pds-radio.entry.js +4 -4
  234. package/dist/esm/pds-row.entry.js +1 -1
  235. package/dist/esm/pds-select.entry.js +13 -5
  236. package/dist/esm/pds-select.entry.js.map +1 -1
  237. package/dist/esm/pds-sortable-item.entry.js +2 -2
  238. package/dist/esm/pds-sortable.entry.js +1 -1
  239. package/dist/esm/pds-switch.entry.js +4 -4
  240. package/dist/esm/pds-tab.entry.js +3 -3
  241. package/dist/esm/pds-table-body.entry.js +1 -1
  242. package/dist/esm/pds-table-cell.entry.js +2 -2
  243. package/dist/esm/pds-table-head-cell.entry.js +3 -3
  244. package/dist/esm/pds-table-head.entry.js +1 -1
  245. package/dist/esm/pds-table-row.entry.js +1 -1
  246. package/dist/esm/pds-table.entry.js +1 -1
  247. package/dist/esm/pds-tabpanel.entry.js +1 -1
  248. package/dist/esm/pds-tabs.entry.js +1 -1
  249. package/dist/esm/pds-text.entry.js +1 -1
  250. package/dist/esm/pds-text.entry.js.map +1 -1
  251. package/dist/esm/pds-textarea.entry.js +18 -6
  252. package/dist/esm/pds-textarea.entry.js.map +1 -1
  253. package/dist/esm/pds-toast.entry.js +3 -3
  254. package/dist/esm/pds-tooltip.entry.js +17 -1
  255. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  256. package/dist/esm/pine-core.js +1 -1
  257. package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js +2 -0
  258. package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js.map +1 -0
  259. package/dist/esm-es5/{index-_4gljHh-.js → index-CzVv99mW.js} +1 -1
  260. package/dist/esm-es5/index-CzVv99mW.js.map +1 -0
  261. package/dist/esm-es5/loader.js +1 -1
  262. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  263. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  264. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  265. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  266. package/dist/esm-es5/pds-button.entry.js +1 -1
  267. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  268. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  269. package/dist/esm-es5/pds-chip.entry.js +1 -1
  270. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  271. package/dist/esm-es5/pds-combobox.entry.js +3 -0
  272. package/dist/esm-es5/pds-combobox.entry.js.map +1 -0
  273. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  274. package/dist/esm-es5/pds-divider.entry.js +1 -1
  275. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  276. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  277. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  278. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  279. package/dist/esm-es5/pds-icon.entry.js +1 -1
  280. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  281. package/dist/esm-es5/pds-image.entry.js +1 -1
  282. package/dist/esm-es5/pds-input.entry.js +1 -1
  283. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  284. package/dist/esm-es5/pds-link.entry.js +1 -1
  285. package/dist/esm-es5/pds-loader.entry.js +1 -1
  286. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  287. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  288. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  289. package/dist/esm-es5/pds-modal.entry.js +1 -1
  290. package/dist/esm-es5/pds-popover.entry.js +1 -1
  291. package/dist/esm-es5/pds-progress.entry.js +1 -1
  292. package/dist/esm-es5/pds-property.entry.js +2 -0
  293. package/dist/esm-es5/pds-property.entry.js.map +1 -0
  294. package/dist/esm-es5/pds-radio.entry.js +1 -1
  295. package/dist/esm-es5/pds-row.entry.js +1 -1
  296. package/dist/esm-es5/pds-select.entry.js +1 -1
  297. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  298. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  299. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  300. package/dist/esm-es5/pds-switch.entry.js +1 -1
  301. package/dist/esm-es5/pds-tab.entry.js +1 -1
  302. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  303. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  304. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  305. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  306. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  307. package/dist/esm-es5/pds-table.entry.js +1 -1
  308. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  309. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  310. package/dist/esm-es5/pds-text.entry.js +1 -1
  311. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  312. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  313. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  314. package/dist/esm-es5/pds-toast.entry.js +1 -1
  315. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  316. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  317. package/dist/esm-es5/pine-core.js +1 -1
  318. package/dist/pine-core/{p-e2dc81c0.entry.js → p-000ed179.entry.js} +2 -2
  319. package/dist/pine-core/{p-c1b0f921.system.entry.js → p-0c6e9ba0.system.entry.js} +2 -2
  320. package/dist/pine-core/p-160c6806.system.entry.js +2 -0
  321. package/dist/pine-core/p-160c6806.system.entry.js.map +1 -0
  322. package/dist/pine-core/p-1e056ca3.system.entry.js +2 -0
  323. package/dist/pine-core/p-1e056ca3.system.entry.js.map +1 -0
  324. package/dist/pine-core/{p-596e0292.system.entry.js → p-1ef5f46b.system.entry.js} +2 -2
  325. package/dist/pine-core/{p-7ff213bb.system.entry.js → p-256d15bc.system.entry.js} +2 -2
  326. package/dist/pine-core/{p-17d3fa8b.entry.js → p-27b52fc5.entry.js} +2 -2
  327. package/dist/pine-core/{p-833f08f3.entry.js → p-2a2cd90d.entry.js} +2 -2
  328. package/dist/pine-core/{p-4288c861.entry.js → p-2f0aedfa.entry.js} +2 -2
  329. package/dist/pine-core/{p-78cb1c40.system.entry.js → p-2fbc5f8c.system.entry.js} +2 -2
  330. package/dist/pine-core/{p-b7ba6316.entry.js → p-30449e82.entry.js} +2 -2
  331. package/dist/pine-core/p-307b456a.entry.js +2 -0
  332. package/dist/pine-core/p-307b456a.entry.js.map +1 -0
  333. package/dist/pine-core/{p-761946a0.entry.js → p-31fe86a6.entry.js} +2 -2
  334. package/dist/pine-core/p-357b6dd6.system.entry.js +2 -0
  335. package/dist/pine-core/{p-85ff1482.entry.js → p-36d3352a.entry.js} +2 -2
  336. package/dist/pine-core/p-38248640.entry.js +2 -0
  337. package/dist/pine-core/p-38248640.entry.js.map +1 -0
  338. package/dist/pine-core/{p-3798a631.system.entry.js → p-383af1d4.system.entry.js} +2 -2
  339. package/dist/pine-core/{p-bcc4edaa.entry.js → p-39fbd912.entry.js} +2 -2
  340. package/dist/pine-core/p-3b43a1ea.entry.js +2 -0
  341. package/dist/pine-core/{p-a52b1413.entry.js.map → p-3b43a1ea.entry.js.map} +1 -1
  342. package/dist/pine-core/{p-5c4aceb7.entry.js → p-3bbb6fc1.entry.js} +2 -2
  343. package/dist/pine-core/p-3df372d1.entry.js +3 -0
  344. package/dist/pine-core/p-3df372d1.entry.js.map +1 -0
  345. package/dist/pine-core/p-3fd658ad.system.entry.js +2 -0
  346. package/dist/pine-core/p-3fd658ad.system.entry.js.map +1 -0
  347. package/dist/pine-core/p-447fa824.system.entry.js +2 -0
  348. package/dist/pine-core/p-447fa824.system.entry.js.map +1 -0
  349. package/dist/pine-core/p-495a206d.entry.js +2 -0
  350. package/dist/pine-core/p-495a206d.entry.js.map +1 -0
  351. package/dist/pine-core/p-4a69106a.system.entry.js +2 -0
  352. package/dist/pine-core/p-4a69106a.system.entry.js.map +1 -0
  353. package/dist/pine-core/p-4d22ca40.entry.js +2 -0
  354. package/dist/pine-core/p-4d22ca40.entry.js.map +1 -0
  355. package/dist/pine-core/p-5033d9e8.entry.js +2 -0
  356. package/dist/pine-core/{p-6a2296e6.system.entry.js → p-5706c81b.system.entry.js} +2 -2
  357. package/dist/pine-core/p-5a1af174.entry.js +2 -0
  358. package/dist/pine-core/p-5a1af174.entry.js.map +1 -0
  359. package/dist/pine-core/{p-1224c874.entry.js → p-5fdbbab9.entry.js} +2 -2
  360. package/dist/pine-core/{p-121e03ad.system.entry.js → p-61b7ff04.system.entry.js} +2 -2
  361. package/dist/pine-core/{p-111e7da2.system.entry.js → p-62bc2080.system.entry.js} +2 -2
  362. package/dist/pine-core/{p-367e188f.entry.js → p-64c897bb.entry.js} +2 -2
  363. package/dist/pine-core/{p-f2c807ac.entry.js → p-667eb50e.entry.js} +2 -2
  364. package/dist/pine-core/{p-77c3a10d.entry.js → p-6d36fae0.entry.js} +2 -2
  365. package/dist/pine-core/p-6ef51211.entry.js +2 -0
  366. package/dist/pine-core/{p-D-4Xbxlj.system.js.map → p-6tdMlyau.system.js.map} +1 -1
  367. package/dist/pine-core/p-708c66c2.entry.js +2 -0
  368. package/dist/pine-core/p-708c66c2.entry.js.map +1 -0
  369. package/dist/pine-core/p-73412ca9.system.entry.js.map +1 -1
  370. package/dist/pine-core/{p-bd04212c.system.entry.js → p-7a431264.system.entry.js} +2 -2
  371. package/dist/pine-core/p-7a431264.system.entry.js.map +1 -0
  372. package/dist/pine-core/{p-d6ac2862.system.entry.js → p-7da6180d.system.entry.js} +2 -2
  373. package/dist/pine-core/{p-c4294be2.entry.js → p-80246c79.entry.js} +2 -2
  374. package/dist/pine-core/{p-2296c34f.entry.js → p-822e90ee.entry.js} +2 -2
  375. package/dist/pine-core/p-822e90ee.entry.js.map +1 -0
  376. package/dist/pine-core/{p-24607f93.entry.js → p-82388e60.entry.js} +2 -2
  377. package/dist/pine-core/p-90a8d1bd.entry.js +2 -0
  378. package/dist/pine-core/p-90a8d1bd.entry.js.map +1 -0
  379. package/dist/pine-core/{p-7b38e384.system.entry.js → p-91520803.system.entry.js} +2 -2
  380. package/dist/pine-core/{p-3f82ac77.system.entry.js → p-982edcaf.system.entry.js} +2 -2
  381. package/dist/pine-core/p-9b8a3659.system.entry.js +2 -0
  382. package/dist/pine-core/{p-730221a8.system.entry.js → p-9cc1844a.system.entry.js} +2 -2
  383. package/dist/pine-core/{p-ef9ed75a.system.entry.js → p-9d8bb7f7.system.entry.js} +2 -2
  384. package/dist/pine-core/{p-71265b2a.system.entry.js → p-9df7ba40.system.entry.js} +2 -2
  385. package/dist/pine-core/p-9e22eab5.system.entry.js +2 -0
  386. package/dist/pine-core/p-B-xQ7Q5Y.system.js.map +1 -0
  387. package/dist/pine-core/p-BHZ6CSg4.system.js.map +1 -1
  388. package/dist/pine-core/{p-CWtKi9tV.system.js.map → p-BJRnZhwF.system.js.map} +1 -1
  389. package/dist/pine-core/{p-Derxa-nn.system.js.map → p-BPlIGHM4.system.js.map} +1 -1
  390. package/dist/pine-core/p-BSg_Clcf.system.js.map +1 -0
  391. package/dist/pine-core/{p-B5JFBYFw.system.js.map → p-Bdnq3aMi.system.js.map} +1 -1
  392. package/dist/pine-core/{p-PkSWq78_.system.js.map → p-Bgszb25I.system.js.map} +1 -1
  393. package/dist/pine-core/p-BlpTiOHo.system.js.map +1 -0
  394. package/dist/pine-core/{p-CzKqvFNN.system.js.map → p-Bok_Wwo5.system.js.map} +1 -1
  395. package/dist/pine-core/{p-DiJV28pi.system.js.map → p-Bpn2QYa2.system.js.map} +1 -1
  396. package/dist/pine-core/{p-DS7q5AvX.system.js.map → p-Bq1H4MPi.system.js.map} +1 -1
  397. package/dist/pine-core/p-BsL2GDnH.system.js +1 -1
  398. package/dist/pine-core/{p-CnPERKGo.system.js.map → p-C47kwjaJ.system.js.map} +1 -1
  399. package/dist/pine-core/{p-D9LPgNmN.system.js.map → p-CD40xhZg.system.js.map} +1 -1
  400. package/dist/pine-core/{p-C-oNYS10.system.js.map → p-CLsVcJCa.system.js.map} +1 -1
  401. package/dist/pine-core/{p-DgOMN0Ur.system.js.map → p-CLscfXhT.system.js.map} +1 -1
  402. package/dist/pine-core/{p-CcsZC7UR.system.js.map → p-CTJnwc4I.system.js.map} +1 -1
  403. package/dist/pine-core/p-CUHK9C55.system.js.map +1 -0
  404. package/dist/pine-core/p-CaJHqbdu.system.js.map +1 -0
  405. package/dist/pine-core/p-Ci1ZzxGS.system.js.map +1 -0
  406. package/dist/pine-core/{p-yku4NLl6.system.js.map → p-ClrDO1lY.system.js.map} +1 -1
  407. package/dist/pine-core/{p-D5vuiRx2.system.js.map → p-Cly-fzRE.system.js.map} +1 -1
  408. package/dist/pine-core/{p-BVUeEWjl.system.js.map → p-CtuIf6LK.system.js.map} +1 -1
  409. package/dist/pine-core/p-Ctwx2R4g.system.js.map +1 -0
  410. package/dist/pine-core/{p-3D0orTx_.system.js.map → p-CuHZffVk.system.js.map} +1 -1
  411. package/dist/pine-core/{p-_4gljHh-.js → p-CzVv99mW.js} +1 -1
  412. package/dist/pine-core/p-CzVv99mW.js.map +1 -0
  413. package/dist/pine-core/{p-DbVkYdnF.system.js.map → p-D1LdgjO0.system.js.map} +1 -1
  414. package/dist/pine-core/p-DJPo1iGw.system.js.map +1 -0
  415. package/dist/pine-core/{p-HBgo7i_E.system.js.map → p-DKGUedTE.system.js.map} +1 -1
  416. package/dist/pine-core/{p-CLNi-hRD.system.js.map → p-DNqc41uY.system.js.map} +1 -1
  417. package/dist/pine-core/{p-Bo6FQRlR.system.js.map → p-DQCWs_Ih.system.js.map} +1 -1
  418. package/dist/pine-core/p-DX9uSGoE.system.js.map +1 -0
  419. package/dist/pine-core/p-D_FwyeSw.js +2 -0
  420. package/dist/pine-core/p-D_FwyeSw.js.map +1 -0
  421. package/dist/pine-core/{p-B4W0_y2p.system.js → p-DiBM9O5Q.system.js} +1 -1
  422. package/dist/pine-core/p-DiBM9O5Q.system.js.map +1 -0
  423. package/dist/pine-core/{p-CV405yTU.system.js.map → p-DwwM3-D4.system.js.map} +1 -1
  424. package/dist/pine-core/{p-Cj2r1nL6.system.js.map → p-DxydR7R6.system.js.map} +1 -1
  425. package/dist/pine-core/{p-DKSZziVY.system.js.map → p-Gn2xhxDz.system.js.map} +1 -1
  426. package/dist/pine-core/{p-B-pTdYoP.system.js.map → p-PuPjQNmU.system.js.map} +1 -1
  427. package/dist/pine-core/{p-DV_GadHU.system.js.map → p-PwBWYqtO.system.js.map} +1 -1
  428. package/dist/pine-core/{p-CsM74dxm.system.js.map → p-U_efBpHV.system.js.map} +1 -1
  429. package/dist/pine-core/p-ZCkmy1Gu.system.js +2 -0
  430. package/dist/pine-core/p-ZCkmy1Gu.system.js.map +1 -0
  431. package/dist/pine-core/{p-83ffc1cc.entry.js → p-a4d19fb1.entry.js} +2 -2
  432. package/dist/pine-core/p-af5c9fbd.system.entry.js +2 -0
  433. package/dist/pine-core/{p-146fcd44.entry.js → p-b214c043.entry.js} +2 -2
  434. package/dist/pine-core/p-b5dc7a18.entry.js +2 -0
  435. package/dist/pine-core/p-b5dc7a18.entry.js.map +1 -0
  436. package/dist/pine-core/{p-c0f74199.entry.js → p-b6d18604.entry.js} +2 -2
  437. package/dist/pine-core/{p-BOJnNd1p.system.js.map → p-b6lYO9O3.system.js.map} +1 -1
  438. package/dist/pine-core/{p-04df41d7.system.entry.js → p-b93825c4.system.entry.js} +2 -2
  439. package/dist/pine-core/{p-48e76945.system.entry.js → p-c5a7c8e9.system.entry.js} +2 -2
  440. package/dist/pine-core/{p-30142a25.system.entry.js → p-c5da4a97.system.entry.js} +2 -2
  441. package/dist/pine-core/p-c93786f1.system.entry.js +2 -0
  442. package/dist/pine-core/{p-78fb945e.system.entry.js → p-cc15bf6c.system.entry.js} +2 -2
  443. package/dist/pine-core/p-d0ec666b.entry.js +2 -0
  444. package/dist/pine-core/p-d21156cf.entry.js +2 -0
  445. package/dist/pine-core/p-d21156cf.entry.js.map +1 -0
  446. package/dist/pine-core/p-d2d6b3a6.system.entry.js +2 -0
  447. package/dist/pine-core/p-d2d6b3a6.system.entry.js.map +1 -0
  448. package/dist/pine-core/{p-942fa145.system.entry.js → p-d451c7b5.system.entry.js} +2 -2
  449. package/dist/pine-core/p-d64527b2.system.entry.js +2 -0
  450. package/dist/pine-core/p-d64527b2.system.entry.js.map +1 -0
  451. package/dist/pine-core/{p-28e28f42.system.entry.js → p-d6b1f60d.system.entry.js} +2 -2
  452. package/dist/pine-core/{p-722012ac.entry.js → p-d989287d.entry.js} +2 -2
  453. package/dist/pine-core/{p-d2ccda59.system.entry.js → p-e0a35811.system.entry.js} +2 -2
  454. package/dist/pine-core/{p-e9d972db.system.entry.js → p-e0a6ba6f.system.entry.js} +2 -2
  455. package/dist/pine-core/{p-1bd715ee.system.entry.js → p-e416f7a8.system.entry.js} +2 -2
  456. package/dist/pine-core/p-e416f7a8.system.entry.js.map +1 -0
  457. package/dist/pine-core/{p-984578f8.system.entry.js → p-e53547e2.system.entry.js} +2 -2
  458. package/dist/pine-core/p-e68dd704.system.entry.js +2 -0
  459. package/dist/pine-core/p-e68dd704.system.entry.js.map +1 -0
  460. package/dist/pine-core/{p-b2796d3c.system.entry.js → p-e7322ff9.system.entry.js} +2 -2
  461. package/dist/pine-core/{p-83c632f6.system.entry.js → p-e8a4eafa.system.entry.js} +2 -2
  462. package/dist/pine-core/{p-f9e01886.system.entry.js → p-ec1c3452.system.entry.js} +2 -2
  463. package/dist/pine-core/p-ee0117a2.entry.js +2 -0
  464. package/dist/pine-core/{p-d1b222f5.entry.js.map → p-ee0117a2.entry.js.map} +1 -1
  465. package/dist/pine-core/{p-a394645a.system.entry.js → p-eef645bd.system.entry.js} +2 -2
  466. package/dist/pine-core/{p-cd2cd116.entry.js → p-ef08f005.entry.js} +2 -2
  467. package/dist/pine-core/p-f256dd8a.entry.js.map +1 -1
  468. package/dist/pine-core/{p-0572825b.entry.js → p-f29baa16.entry.js} +2 -2
  469. package/dist/pine-core/{p-4ff0838c.entry.js → p-f30b1479.entry.js} +2 -2
  470. package/dist/pine-core/p-f455deb5.entry.js +2 -0
  471. package/dist/pine-core/{p-f47133fd.entry.js → p-f7c02b89.entry.js} +2 -2
  472. package/dist/pine-core/p-f9005ac9.entry.js +2 -0
  473. package/dist/pine-core/p-faaa1caa.system.entry.js +4 -0
  474. package/dist/pine-core/p-faaa1caa.system.entry.js.map +1 -0
  475. package/dist/pine-core/{p-99b5e1a5.entry.js → p-fd3b7077.entry.js} +2 -2
  476. package/dist/pine-core/{p-1b109c01.entry.js → p-fe73a67f.entry.js} +2 -2
  477. package/dist/pine-core/{p-DEsea81X.system.js.map → p-ipxZYSGJ.system.js.map} +1 -1
  478. package/dist/pine-core/p-lWwPttyv.system.js.map +1 -0
  479. package/dist/pine-core/{p-CiDIFl28.system.js.map → p-mWJg54bF.system.js.map} +1 -1
  480. package/dist/pine-core/{p-CDIHBBTC.system.js.map → p-y1DacLeb.system.js.map} +1 -1
  481. package/dist/pine-core/{p-Bs9Nyvj2.system.js.map → p-ydqm5FGv.system.js.map} +1 -1
  482. package/dist/pine-core/{p-DN9puCWI.system.js.map → p-zZHye4hT.system.js.map} +1 -1
  483. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  484. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  485. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  486. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -0
  487. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  488. package/dist/pine-core/pds-icon.entry.esm.js.map +1 -1
  489. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  490. package/dist/pine-core/pds-property.entry.esm.js.map +1 -0
  491. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  492. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  493. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  494. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  495. package/dist/pine-core/pine-core.esm.js +1 -1
  496. package/dist/types/components/pds-chip/pds-chip.d.ts +9 -1
  497. package/dist/types/components/pds-combobox/pds-combobox.d.ts +153 -0
  498. package/dist/types/components/pds-input/pds-input.d.ts +63 -9
  499. package/dist/types/components/pds-property/pds-property.d.ts +14 -0
  500. package/dist/types/components/pds-select/pds-select.d.ts +9 -0
  501. package/dist/types/components/pds-text/pds-text.d.ts +3 -0
  502. package/dist/types/components/pds-textarea/pds-textarea.d.ts +8 -0
  503. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +3 -0
  504. package/dist/types/components.d.ts +275 -6
  505. package/hydrate/index.js +2367 -260
  506. package/hydrate/index.mjs +2367 -260
  507. package/package.json +4 -2
  508. package/dist/cjs/index-CG2Rr2io.js.map +0 -1
  509. package/dist/esm/index-_4gljHh-.js.map +0 -1
  510. package/dist/esm-es5/index-_4gljHh-.js.map +0 -1
  511. package/dist/pine-core/p-0069abf8.system.entry.js +0 -2
  512. package/dist/pine-core/p-0069abf8.system.entry.js.map +0 -1
  513. package/dist/pine-core/p-03d8cb4c.system.entry.js +0 -2
  514. package/dist/pine-core/p-1bd715ee.system.entry.js.map +0 -1
  515. package/dist/pine-core/p-1eec6bea.system.entry.js +0 -2
  516. package/dist/pine-core/p-1eec6bea.system.entry.js.map +0 -1
  517. package/dist/pine-core/p-21c3aaeb.entry.js +0 -2
  518. package/dist/pine-core/p-2296c34f.entry.js.map +0 -1
  519. package/dist/pine-core/p-29ad0b86.entry.js +0 -2
  520. package/dist/pine-core/p-29ad0b86.entry.js.map +0 -1
  521. package/dist/pine-core/p-32bd3e33.entry.js +0 -2
  522. package/dist/pine-core/p-32bd3e33.entry.js.map +0 -1
  523. package/dist/pine-core/p-3e91dccd.entry.js +0 -2
  524. package/dist/pine-core/p-3e91dccd.entry.js.map +0 -1
  525. package/dist/pine-core/p-49265849.system.entry.js +0 -2
  526. package/dist/pine-core/p-513c16c7.entry.js +0 -2
  527. package/dist/pine-core/p-513c16c7.entry.js.map +0 -1
  528. package/dist/pine-core/p-5acda4ac.system.entry.js +0 -2
  529. package/dist/pine-core/p-5acda4ac.system.entry.js.map +0 -1
  530. package/dist/pine-core/p-5e1e7762.entry.js +0 -2
  531. package/dist/pine-core/p-624db3d6.system.entry.js +0 -2
  532. package/dist/pine-core/p-624db3d6.system.entry.js.map +0 -1
  533. package/dist/pine-core/p-71f01676.system.entry.js +0 -2
  534. package/dist/pine-core/p-742d4490.entry.js +0 -2
  535. package/dist/pine-core/p-742d4490.entry.js.map +0 -1
  536. package/dist/pine-core/p-7e92ec48.system.entry.js +0 -2
  537. package/dist/pine-core/p-7e92ec48.system.entry.js.map +0 -1
  538. package/dist/pine-core/p-8023086c.entry.js +0 -2
  539. package/dist/pine-core/p-8023086c.entry.js.map +0 -1
  540. package/dist/pine-core/p-83252078.system.entry.js +0 -2
  541. package/dist/pine-core/p-86d388a2.entry.js +0 -2
  542. package/dist/pine-core/p-929bb7ab.system.entry.js +0 -2
  543. package/dist/pine-core/p-B4W0_y2p.system.js.map +0 -1
  544. package/dist/pine-core/p-B5LBNcOw.system.js.map +0 -1
  545. package/dist/pine-core/p-BO1OsmVU.system.js.map +0 -1
  546. package/dist/pine-core/p-C3ud771n.system.js.map +0 -1
  547. package/dist/pine-core/p-CtAVdPaE.system.js.map +0 -1
  548. package/dist/pine-core/p-D8DRYw9w.system.js.map +0 -1
  549. package/dist/pine-core/p-DyQ_s5MV.system.js.map +0 -1
  550. package/dist/pine-core/p-M2Hhmwex.system.js.map +0 -1
  551. package/dist/pine-core/p-_4gljHh-.js.map +0 -1
  552. package/dist/pine-core/p-a2572675.system.entry.js +0 -2
  553. package/dist/pine-core/p-a2572675.system.entry.js.map +0 -1
  554. package/dist/pine-core/p-a52b1413.entry.js +0 -2
  555. package/dist/pine-core/p-abec6606.entry.js +0 -2
  556. package/dist/pine-core/p-abec6606.entry.js.map +0 -1
  557. package/dist/pine-core/p-b3d05184.entry.js +0 -2
  558. package/dist/pine-core/p-b3d05184.entry.js.map +0 -1
  559. package/dist/pine-core/p-b9c13f99.entry.js +0 -2
  560. package/dist/pine-core/p-bd04212c.system.entry.js.map +0 -1
  561. package/dist/pine-core/p-d1b222f5.entry.js +0 -2
  562. package/dist/pine-core/p-e09a3682.system.entry.js +0 -2
  563. package/dist/pine-core/p-e09a3682.system.entry.js.map +0 -1
  564. package/dist/pine-core/p-e6d6e103.entry.js +0 -2
  565. package/dist/pine-core/p-xgOOHGQo.system.js.map +0 -1
  566. /package/dist/pine-core/{p-e2dc81c0.entry.js.map → p-000ed179.entry.js.map} +0 -0
  567. /package/dist/pine-core/{p-c1b0f921.system.entry.js.map → p-0c6e9ba0.system.entry.js.map} +0 -0
  568. /package/dist/pine-core/{p-596e0292.system.entry.js.map → p-1ef5f46b.system.entry.js.map} +0 -0
  569. /package/dist/pine-core/{p-7ff213bb.system.entry.js.map → p-256d15bc.system.entry.js.map} +0 -0
  570. /package/dist/pine-core/{p-17d3fa8b.entry.js.map → p-27b52fc5.entry.js.map} +0 -0
  571. /package/dist/pine-core/{p-833f08f3.entry.js.map → p-2a2cd90d.entry.js.map} +0 -0
  572. /package/dist/pine-core/{p-4288c861.entry.js.map → p-2f0aedfa.entry.js.map} +0 -0
  573. /package/dist/pine-core/{p-78cb1c40.system.entry.js.map → p-2fbc5f8c.system.entry.js.map} +0 -0
  574. /package/dist/pine-core/{p-b7ba6316.entry.js.map → p-30449e82.entry.js.map} +0 -0
  575. /package/dist/pine-core/{p-761946a0.entry.js.map → p-31fe86a6.entry.js.map} +0 -0
  576. /package/dist/pine-core/{p-83252078.system.entry.js.map → p-357b6dd6.system.entry.js.map} +0 -0
  577. /package/dist/pine-core/{p-85ff1482.entry.js.map → p-36d3352a.entry.js.map} +0 -0
  578. /package/dist/pine-core/{p-3798a631.system.entry.js.map → p-383af1d4.system.entry.js.map} +0 -0
  579. /package/dist/pine-core/{p-bcc4edaa.entry.js.map → p-39fbd912.entry.js.map} +0 -0
  580. /package/dist/pine-core/{p-5c4aceb7.entry.js.map → p-3bbb6fc1.entry.js.map} +0 -0
  581. /package/dist/pine-core/{p-86d388a2.entry.js.map → p-5033d9e8.entry.js.map} +0 -0
  582. /package/dist/pine-core/{p-6a2296e6.system.entry.js.map → p-5706c81b.system.entry.js.map} +0 -0
  583. /package/dist/pine-core/{p-1224c874.entry.js.map → p-5fdbbab9.entry.js.map} +0 -0
  584. /package/dist/pine-core/{p-121e03ad.system.entry.js.map → p-61b7ff04.system.entry.js.map} +0 -0
  585. /package/dist/pine-core/{p-111e7da2.system.entry.js.map → p-62bc2080.system.entry.js.map} +0 -0
  586. /package/dist/pine-core/{p-367e188f.entry.js.map → p-64c897bb.entry.js.map} +0 -0
  587. /package/dist/pine-core/{p-f2c807ac.entry.js.map → p-667eb50e.entry.js.map} +0 -0
  588. /package/dist/pine-core/{p-77c3a10d.entry.js.map → p-6d36fae0.entry.js.map} +0 -0
  589. /package/dist/pine-core/{p-5e1e7762.entry.js.map → p-6ef51211.entry.js.map} +0 -0
  590. /package/dist/pine-core/{p-d6ac2862.system.entry.js.map → p-7da6180d.system.entry.js.map} +0 -0
  591. /package/dist/pine-core/{p-c4294be2.entry.js.map → p-80246c79.entry.js.map} +0 -0
  592. /package/dist/pine-core/{p-24607f93.entry.js.map → p-82388e60.entry.js.map} +0 -0
  593. /package/dist/pine-core/{p-7b38e384.system.entry.js.map → p-91520803.system.entry.js.map} +0 -0
  594. /package/dist/pine-core/{p-3f82ac77.system.entry.js.map → p-982edcaf.system.entry.js.map} +0 -0
  595. /package/dist/pine-core/{p-49265849.system.entry.js.map → p-9b8a3659.system.entry.js.map} +0 -0
  596. /package/dist/pine-core/{p-730221a8.system.entry.js.map → p-9cc1844a.system.entry.js.map} +0 -0
  597. /package/dist/pine-core/{p-ef9ed75a.system.entry.js.map → p-9d8bb7f7.system.entry.js.map} +0 -0
  598. /package/dist/pine-core/{p-71265b2a.system.entry.js.map → p-9df7ba40.system.entry.js.map} +0 -0
  599. /package/dist/pine-core/{p-929bb7ab.system.entry.js.map → p-9e22eab5.system.entry.js.map} +0 -0
  600. /package/dist/pine-core/{p-83ffc1cc.entry.js.map → p-a4d19fb1.entry.js.map} +0 -0
  601. /package/dist/pine-core/{p-03d8cb4c.system.entry.js.map → p-af5c9fbd.system.entry.js.map} +0 -0
  602. /package/dist/pine-core/{p-146fcd44.entry.js.map → p-b214c043.entry.js.map} +0 -0
  603. /package/dist/pine-core/{p-c0f74199.entry.js.map → p-b6d18604.entry.js.map} +0 -0
  604. /package/dist/pine-core/{p-04df41d7.system.entry.js.map → p-b93825c4.system.entry.js.map} +0 -0
  605. /package/dist/pine-core/{p-48e76945.system.entry.js.map → p-c5a7c8e9.system.entry.js.map} +0 -0
  606. /package/dist/pine-core/{p-30142a25.system.entry.js.map → p-c5da4a97.system.entry.js.map} +0 -0
  607. /package/dist/pine-core/{p-71f01676.system.entry.js.map → p-c93786f1.system.entry.js.map} +0 -0
  608. /package/dist/pine-core/{p-78fb945e.system.entry.js.map → p-cc15bf6c.system.entry.js.map} +0 -0
  609. /package/dist/pine-core/{p-b9c13f99.entry.js.map → p-d0ec666b.entry.js.map} +0 -0
  610. /package/dist/pine-core/{p-942fa145.system.entry.js.map → p-d451c7b5.system.entry.js.map} +0 -0
  611. /package/dist/pine-core/{p-28e28f42.system.entry.js.map → p-d6b1f60d.system.entry.js.map} +0 -0
  612. /package/dist/pine-core/{p-722012ac.entry.js.map → p-d989287d.entry.js.map} +0 -0
  613. /package/dist/pine-core/{p-d2ccda59.system.entry.js.map → p-e0a35811.system.entry.js.map} +0 -0
  614. /package/dist/pine-core/{p-e9d972db.system.entry.js.map → p-e0a6ba6f.system.entry.js.map} +0 -0
  615. /package/dist/pine-core/{p-984578f8.system.entry.js.map → p-e53547e2.system.entry.js.map} +0 -0
  616. /package/dist/pine-core/{p-b2796d3c.system.entry.js.map → p-e7322ff9.system.entry.js.map} +0 -0
  617. /package/dist/pine-core/{p-83c632f6.system.entry.js.map → p-e8a4eafa.system.entry.js.map} +0 -0
  618. /package/dist/pine-core/{p-f9e01886.system.entry.js.map → p-ec1c3452.system.entry.js.map} +0 -0
  619. /package/dist/pine-core/{p-a394645a.system.entry.js.map → p-eef645bd.system.entry.js.map} +0 -0
  620. /package/dist/pine-core/{p-cd2cd116.entry.js.map → p-ef08f005.entry.js.map} +0 -0
  621. /package/dist/pine-core/{p-0572825b.entry.js.map → p-f29baa16.entry.js.map} +0 -0
  622. /package/dist/pine-core/{p-4ff0838c.entry.js.map → p-f30b1479.entry.js.map} +0 -0
  623. /package/dist/pine-core/{p-21c3aaeb.entry.js.map → p-f455deb5.entry.js.map} +0 -0
  624. /package/dist/pine-core/{p-f47133fd.entry.js.map → p-f7c02b89.entry.js.map} +0 -0
  625. /package/dist/pine-core/{p-e6d6e103.entry.js.map → p-f9005ac9.entry.js.map} +0 -0
  626. /package/dist/pine-core/{p-99b5e1a5.entry.js.map → p-fd3b7077.entry.js.map} +0 -0
  627. /package/dist/pine-core/{p-1b109c01.entry.js.map → p-fe73a67f.entry.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -3147,7 +3147,7 @@ class MockPdsModal {
3147
3147
  'pds-modal__backdrop': true,
3148
3148
  'open': this.open,
3149
3149
  };
3150
- return (hAsync("div", { key: 'fb141b585e21257f4e2b1e189211ffd8fdbf5f21', class: backdropClasses }, hAsync("div", { key: '2431265c962c17042b79e59e8799159c0af79bba', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null }, hAsync("div", { key: '122d233ca19497ccd8541474343442391a9fd60b', class: "pds-modal__header" }, hAsync("slot", { key: 'abb92bd56f45ac7a1007649952eb6351dbe1193d', name: "header" })), hAsync("div", { key: 'fb096821bccb813311f3047bb33a81374808a99d', class: "pds-modal-content" }, hAsync("slot", { key: '79400555ec3420db6eda65f12b90060b5507c96e' })), hAsync("div", { key: '60462c314237b4b573c222df26aa41073437f298', class: "pds-modal__footer" }, hAsync("slot", { key: '9253219fc90477c4c86df974f4a6a196f693e548', name: "footer" })))));
3150
+ return (hAsync("div", { key: '34bb09afe2af63e8092dc1ca4b10e216550ce0ba', class: backdropClasses }, hAsync("div", { key: '8400a7dee99a128523a2238cf88d1bbcdfb65f79', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null }, hAsync("div", { key: '9b1ee3bd413a110e4d3abfa4fce4e7fb4014d3f1', class: "pds-modal__header" }, hAsync("slot", { key: '4845c471151b08b7cb7a072a3d2e8c2e06143634', name: "header" })), hAsync("div", { key: '9132767dda413c5d7f2ab9fbe5c4952c6aebc709', class: "pds-modal-content" }, hAsync("slot", { key: 'cb8417be84699a117b76e9b3cbd98352bf3417f5' })), hAsync("div", { key: 'b56977cf61079ce61acd6fe71c9cbbc3fff7316b', class: "pds-modal__footer" }, hAsync("slot", { key: '0fcb7a8bab9322ba6962e0c205389a3d62b9c423', name: "footer" })))));
3151
3151
  }
3152
3152
  get el() { return getElement(this); }
3153
3153
  static get style() { return pdsModalCss$1; }
@@ -3168,7 +3168,7 @@ class MockPdsModal {
3168
3168
  }; }
3169
3169
  }
3170
3170
 
3171
- /* pds-icons v9.4.3, ES Modules */
3171
+ /* pds-icons v9.6.1, ES Modules */
3172
3172
 
3173
3173
  const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
3174
3174
  const checkCircleFilled = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m5.207 8.707a1 1 0 0 0-1.414-1.414L10.5 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0z'/></svg>";
@@ -3556,7 +3556,7 @@ const setColor = (color, customColors) => {
3556
3556
  };
3557
3557
  };
3558
3558
 
3559
- const pdsButtonCss = ":host{--button-dimension:40px;--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--color-background-default);border:var(--pine-border);border-color:var(--color-border-default);border-radius:var(--pine-border-radius-full);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--button-dimension);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
3559
+ const pdsButtonCss = ":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:40px;--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-radius:var(--pds-button-border-radius);border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
3560
3560
 
3561
3561
  /**
3562
3562
  * @part button - Exposes the button element for styling.
@@ -3909,7 +3909,7 @@ class PdsCheckbox {
3909
3909
 
3910
3910
  const pdsChipTokensCss = ":host{--pine-chip-color-accent:var(--pine-color-purple-100);--pine-chip-color-accent-hover:var(--pine-color-purple-300);--pine-chip-color-accent-dot:var(--pine-color-purple-600);--pine-chip-color-danger:var(--pine-color-red-100);--pine-chip-color-danger-hover:var(--pine-color-red-300);--pine-chip-color-danger-dot:var(--pine-color-red-600);--pine-chip-color-info:var(--pine-color-blue-100);--pine-chip-color-info-hover:var(--pine-color-blue-300);--pine-chip-color-info-dot:var(--pine-color-blue-600);--pine-chip-color-neutral:var(--pine-color-grey-100);--pine-chip-color-neutral-hover:var(--pine-color-grey-300);--pine-chip-color-neutral-dot:var(--pine-color-grey-600);--pine-chip-color-success:var(--pine-color-green-100);--pine-chip-color-success-hover:var(--pine-color-green-300);--pine-chip-color-success-dot:var(--pine-color-green-600);--pine-chip-color-warning:var(--pine-color-yellow-100);--pine-chip-color-warning-hover:var(--pine-color-yellow-300);--pine-chip-color-warning-dot:var(--pine-color-yellow-600)}";
3911
3911
 
3912
- const pdsChipCss = ":host{--sizing-close:var(--pine-dimension-125);-ms-flex-align:center;align-items:center;border-radius:var(--pine-dimension-sm);display:-ms-inline-flexbox;display:inline-flex;padding-block:var(--pine-dimension-2xs);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--accent){background:var(--pine-chip-color-accent);border:var(--pine-border-width) solid var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent) .pds-chip__dot{background:var(--pine-chip-color-accent-dot)}:host(.pds-chip--accent) .pds-chip__label,:host(.pds-chip--accent) .pds-chip__button,:host(.pds-chip--accent) .pds-chip__close{color:var(--pine-color-text-accent);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--accent) .pds-chip__close:hover{background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent.pds-chip--dropdown:hover){background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--danger){background:var(--pine-chip-color-danger);border:var(--pine-border-width) solid var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger) .pds-chip__dot{background:var(--pine-chip-color-danger-dot)}:host(.pds-chip--danger) .pds-chip__label,:host(.pds-chip--danger) .pds-chip__button,:host(.pds-chip--danger) .pds-chip__close{color:var(--pine-color-text-danger);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--danger) .pds-chip__close:hover{background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger.pds-chip--dropdown:hover){background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--info){background:var(--pine-chip-color-info);border:var(--pine-border-width) solid var(--pine-chip-color-info-hover)}:host(.pds-chip--info) .pds-chip__dot{background:var(--pine-chip-color-info-dot)}:host(.pds-chip--info) .pds-chip__label,:host(.pds-chip--info) .pds-chip__button,:host(.pds-chip--info) .pds-chip__close{color:var(--pine-color-text-info);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--info) .pds-chip__close:hover{background:var(--pine-chip-color-info-hover)}:host(.pds-chip--info.pds-chip--dropdown:hover){background:var(--pine-chip-color-info-hover)}:host(.pds-chip--neutral){background:var(--pine-chip-color-neutral);border:var(--pine-border-width) solid var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral) .pds-chip__dot{background:var(--pine-chip-color-neutral-dot)}:host(.pds-chip--neutral) .pds-chip__label,:host(.pds-chip--neutral) .pds-chip__button,:host(.pds-chip--neutral) .pds-chip__close{color:var(--pine-color-text-neutral);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--neutral) .pds-chip__close:hover{background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral.pds-chip--dropdown:hover){background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--success){background:var(--pine-chip-color-success);border:var(--pine-border-width) solid var(--pine-chip-color-success-hover)}:host(.pds-chip--success) .pds-chip__dot{background:var(--pine-chip-color-success-dot)}:host(.pds-chip--success) .pds-chip__label,:host(.pds-chip--success) .pds-chip__button,:host(.pds-chip--success) .pds-chip__close{color:var(--pine-color-text-success);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--success) .pds-chip__close:hover{background:var(--pine-chip-color-success-hover)}:host(.pds-chip--success.pds-chip--dropdown:hover){background:var(--pine-chip-color-success-hover)}:host(.pds-chip--warning){background:var(--pine-chip-color-warning);border:var(--pine-border-width) solid var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning) .pds-chip__dot{background:var(--pine-chip-color-warning-dot)}:host(.pds-chip--warning) .pds-chip__label,:host(.pds-chip--warning) .pds-chip__button,:host(.pds-chip--warning) .pds-chip__close{color:var(--pine-color-text-warning);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--warning) .pds-chip__close:hover{background:var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning.pds-chip--dropdown:hover){background:var(--pine-chip-color-warning-hover)}.pds-chip__dot{border:var(--pine-border-width) solid transparent;border-radius:var(--pine-border-radius-full);display:inline-block;height:var(--pine-dimension-2xs);-webkit-margin-after:var(--pine-dimension-025);margin-block-end:var(--pine-dimension-025);-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs);width:var(--pine-dimension-2xs)}.pds-chip__label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.pds-chip__label,.pds-chip__button{font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host(.pds-chip--dropdown){padding:var(--pine-dimension-none)}:host(.pds-chip--dropdown) .pds-chip__dot{-webkit-margin-after:calc(var(--pine-dimension-025) / 4);margin-block-end:calc(var(--pine-dimension-025) / 4);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-chip__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-dimension-sm);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-150)}.pds-chip__button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-chip__button pds-icon{-webkit-margin-end:calc(var(--pine-dimension-025) * -1);margin-inline-end:calc(var(--pine-dimension-025) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-chip__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-border-radius-full);height:var(--sizing-close);-webkit-margin-end:calc(var(--pine-dimension-xs) * -1);margin-inline-end:calc(var(--pine-dimension-xs) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs);padding:var(--sizing-close);position:relative;width:var(--sizing-close)}.pds-chip__close pds-icon{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pds-chip__close:focus-visible{outline:var(--pine-outline-focus)}:host(.pds-chip--large){padding-block:var(--pine-dimension-2xs);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--large) .pds-chip__label,:host(.pds-chip--large) .pds-chip__button{font:var(--pine-typography-heading-6);letter-spacing:var(--pine-letter-spacing-heading-6)}:host(.pds-chip--large):has(.pds-chip__button){padding:var(--pine-dimension-none)}";
3912
+ const pdsChipCss = ":host{--sizing-close:var(--pine-dimension-125);-ms-flex-align:center;align-items:center;border-radius:var(--pine-dimension-sm);display:-ms-inline-flexbox;display:inline-flex;padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--accent){background:var(--pine-chip-color-accent);border:var(--pine-border-width) solid var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent) .pds-chip__dot{background:var(--pine-chip-color-accent-dot)}:host(.pds-chip--accent) .pds-chip__label,:host(.pds-chip--accent) .pds-chip__button,:host(.pds-chip--accent) .pds-chip__close{color:var(--pine-color-text-accent);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--accent) .pds-chip__close:hover{background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--accent.pds-chip--dropdown:hover){background:var(--pine-chip-color-accent-hover)}:host(.pds-chip--danger){background:var(--pine-chip-color-danger);border:var(--pine-border-width) solid var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger) .pds-chip__dot{background:var(--pine-chip-color-danger-dot)}:host(.pds-chip--danger) .pds-chip__label,:host(.pds-chip--danger) .pds-chip__button,:host(.pds-chip--danger) .pds-chip__close{color:var(--pine-color-text-danger);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--danger) .pds-chip__close:hover{background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--danger.pds-chip--dropdown:hover){background:var(--pine-chip-color-danger-hover)}:host(.pds-chip--info){background:var(--pine-chip-color-info);border:var(--pine-border-width) solid var(--pine-chip-color-info-hover)}:host(.pds-chip--info) .pds-chip__dot{background:var(--pine-chip-color-info-dot)}:host(.pds-chip--info) .pds-chip__label,:host(.pds-chip--info) .pds-chip__button,:host(.pds-chip--info) .pds-chip__close{color:var(--pine-color-text-info);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--info) .pds-chip__close:hover{background:var(--pine-chip-color-info-hover)}:host(.pds-chip--info.pds-chip--dropdown:hover){background:var(--pine-chip-color-info-hover)}:host(.pds-chip--neutral){background:var(--pine-chip-color-neutral);border:var(--pine-border-width) solid var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral) .pds-chip__dot{background:var(--pine-chip-color-neutral-dot)}:host(.pds-chip--neutral) .pds-chip__label,:host(.pds-chip--neutral) .pds-chip__button,:host(.pds-chip--neutral) .pds-chip__close{color:var(--pine-color-text-neutral);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--neutral) .pds-chip__close:hover{background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--neutral.pds-chip--dropdown:hover){background:var(--pine-chip-color-neutral-hover)}:host(.pds-chip--success){background:var(--pine-chip-color-success);border:var(--pine-border-width) solid var(--pine-chip-color-success-hover)}:host(.pds-chip--success) .pds-chip__dot{background:var(--pine-chip-color-success-dot)}:host(.pds-chip--success) .pds-chip__label,:host(.pds-chip--success) .pds-chip__button,:host(.pds-chip--success) .pds-chip__close{color:var(--pine-color-text-success);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--success) .pds-chip__close:hover{background:var(--pine-chip-color-success-hover)}:host(.pds-chip--success.pds-chip--dropdown:hover){background:var(--pine-chip-color-success-hover)}:host(.pds-chip--warning){background:var(--pine-chip-color-warning);border:var(--pine-border-width) solid var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning) .pds-chip__dot{background:var(--pine-chip-color-warning-dot)}:host(.pds-chip--warning) .pds-chip__label,:host(.pds-chip--warning) .pds-chip__button,:host(.pds-chip--warning) .pds-chip__close{color:var(--pine-color-text-warning);font-weight:var(--pine-font-weight-medium)}:host(.pds-chip--warning) .pds-chip__close:hover{background:var(--pine-chip-color-warning-hover)}:host(.pds-chip--warning.pds-chip--dropdown:hover){background:var(--pine-chip-color-warning-hover)}.pds-chip__dot{border:var(--pine-border-width) solid transparent;border-radius:var(--pine-border-radius-full);display:inline-block;height:var(--pine-dimension-2xs);-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs);width:var(--pine-dimension-2xs)}.pds-chip__label{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__label,.pds-chip__button{font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host(.pds-chip--dropdown){padding:var(--pine-dimension-none)}.pds-chip__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-dimension-sm);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-025) var(--pine-dimension-150)}.pds-chip__button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}.pds-chip__button pds-icon:last-child{-webkit-margin-end:calc(var(--pine-dimension-025) * -1);margin-inline-end:calc(var(--pine-dimension-025) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-chip__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-border-radius-full);height:var(--sizing-close);-webkit-margin-end:calc(var(--pine-dimension-xs) * -1);margin-inline-end:calc(var(--pine-dimension-xs) * -1);-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs);padding:var(--sizing-close);position:relative;width:var(--sizing-close)}.pds-chip__close pds-icon{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pds-chip__close:focus-visible{outline:var(--pine-outline-focus)}:host(.pds-chip--large){padding-block:var(--pine-dimension-025);padding-inline:var(--pine-dimension-150)}:host(.pds-chip--large) .pds-chip__label,:host(.pds-chip--large) .pds-chip__button{font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}:host(.pds-chip--large.pds-chip--dropdown){padding:var(--pine-dimension-none)}:host(.pds-chip--large.pds-chip--dropdown) .pds-chip__button{padding:var(--pine-dimension-025) var(--pine-dimension-150)}:host(.pds-chip--brand){background:-webkit-gradient(linear, left top, right top, from(#FF3E14), to(#6B62F2));background:linear-gradient(90deg, #FF3E14 0%, #6B62F2 100%);border:0;padding:1px;position:relative}:host(.pds-chip--brand) .pds-chip__label{background:rgba(255, 255, 255, 0.9);border-radius:calc(var(--pine-dimension-sm) - 1px);color:var(--pine-color-text-neutral);font-weight:var(--pine-font-weight-medium);padding:var(--pine-dimension-025) var(--pine-dimension-150);position:relative;z-index:1}:host(.pds-chip--brand) .pds-chip__label pds-icon{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__button,:host(.pds-chip--brand) .pds-chip__close{color:var(--pine-color-text-neutral);font-weight:var(--pine-font-weight-medium);position:relative;z-index:1}:host(.pds-chip--brand) .pds-chip__button pds-icon:first-child{-webkit-margin-end:var(--pine-dimension-2xs);margin-inline-end:var(--pine-dimension-2xs)}:host(.pds-chip--brand) .pds-chip__close:hover{background:rgba(255, 255, 255, 0.8)}";
3913
3913
 
3914
3914
  /**
3915
3915
  * @slot (default) - The chip's label text.
@@ -3920,6 +3920,7 @@ class PdsChip {
3920
3920
  this.pdsTagCloseClick = createEvent(this, "pdsTagCloseClick");
3921
3921
  /**
3922
3922
  * Determines whether a dot should be displayed on the chip.
3923
+ * Note: This prop is ignored when sentiment is 'brand'.
3923
3924
  * @defaultValue false
3924
3925
  */
3925
3926
  this.dot = false;
@@ -3935,6 +3936,7 @@ class PdsChip {
3935
3936
  this.sentiment = 'neutral';
3936
3937
  /**
3937
3938
  * Sets the style variant of the chip.
3939
+ * Note: This prop is ignored when sentiment is 'brand'.
3938
3940
  * @defaultValue 'text'
3939
3941
  */
3940
3942
  this.variant = 'text';
@@ -3947,21 +3949,33 @@ class PdsChip {
3947
3949
  if (this.large) {
3948
3950
  classNames.push('pds-chip--large');
3949
3951
  }
3950
- if (this.variant) {
3951
- classNames.push('pds-chip--' + this.variant);
3952
+ // For brand sentiment, always use text variant
3953
+ const effectiveVariant = this.sentiment === 'brand' ? 'text' : this.variant;
3954
+ if (effectiveVariant) {
3955
+ classNames.push('pds-chip--' + effectiveVariant);
3952
3956
  }
3953
3957
  if (this.sentiment) {
3954
3958
  classNames.push('pds-chip--' + this.sentiment);
3955
3959
  }
3956
3960
  return classNames.join(' ');
3957
3961
  }
3962
+ get effectiveVariant() {
3963
+ // For brand sentiment, force text variant behavior
3964
+ return this.sentiment === 'brand' ? 'text' : this.variant;
3965
+ }
3966
+ get iconSize() {
3967
+ // Icon size based on large prop
3968
+ return this.large ? '14px' : '12px';
3969
+ }
3958
3970
  setChipContent() {
3959
- const isDropdown = this.variant === 'dropdown';
3960
- const chipContent = isDropdown ? (hAsync("button", { class: "pds-chip__button", type: "button" }, this.dot && hAsync("i", { class: "pds-chip__dot", "aria-hidden": "true" }), hAsync("slot", null), hAsync("pds-icon", { icon: downSmall, size: "12px", "aria-hidden": "true" }))) : (hAsync("span", { class: "pds-chip__label" }, this.dot && hAsync("i", { class: "pds-chip__dot", "aria-hidden": "true" }), hAsync("slot", null)));
3971
+ const isDropdown = this.effectiveVariant === 'dropdown';
3972
+ // For brand sentiment, ignore dot prop
3973
+ const showDot = this.sentiment === 'brand' ? false : this.dot;
3974
+ const chipContent = isDropdown ? (hAsync("button", { class: "pds-chip__button", type: "button" }, this.icon && hAsync("pds-icon", { icon: this.icon, size: this.iconSize, "aria-hidden": "true" }), showDot && hAsync("i", { class: "pds-chip__dot", "aria-hidden": "true" }), hAsync("slot", null), hAsync("pds-icon", { icon: downSmall, size: this.iconSize, "aria-hidden": "true" }))) : (hAsync("span", { class: "pds-chip__label" }, this.icon && hAsync("pds-icon", { icon: this.icon, size: this.iconSize, "aria-hidden": "true" }), showDot && hAsync("i", { class: "pds-chip__dot", "aria-hidden": "true" }), hAsync("slot", null)));
3961
3975
  return chipContent;
3962
3976
  }
3963
3977
  render() {
3964
- return (hAsync(Host, { key: 'b1987e434a5b9dcc4a5536660822bcb9c1f79e4f', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.variant === 'tag' && (hAsync("button", { key: '8f658cd564e86297a9b988d6080135e6d612be36', class: "pds-chip__close", type: "button", onClick: this.handleCloseClick, "aria-label": "Remove" }, hAsync("pds-icon", { key: '32266c84697e0ffa3ff5d2e554cdf6b7e598d0e6', icon: remove, size: "12px" })))));
3978
+ return (hAsync(Host, { key: '87b74bdc74dcf3d0a7e9818a9643abcaac6ed732', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.effectiveVariant === 'tag' && (hAsync("button", { key: '98644f17a57514b541cd00be5c0972e589f7c44e', class: "pds-chip__close", type: "button", onClick: this.handleCloseClick, "aria-label": "Remove" }, hAsync("pds-icon", { key: '056913f77f7179db7e8f6f8b69df18c4bd98b891', icon: remove, size: this.iconSize })))));
3965
3979
  }
3966
3980
  static get style() { return pdsChipTokensCss + pdsChipCss; }
3967
3981
  static get cmpMeta() { return {
@@ -3970,6 +3984,7 @@ class PdsChip {
3970
3984
  "$members$": {
3971
3985
  "componentId": [1, "component-id"],
3972
3986
  "dot": [4],
3987
+ "icon": [1],
3973
3988
  "large": [4],
3974
3989
  "sentiment": [1],
3975
3990
  "variant": [1]
@@ -3980,115 +3995,6 @@ class PdsChip {
3980
3995
  }; }
3981
3996
  }
3982
3997
 
3983
- const pdsCopytextCss = ":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-grey-200)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--pine-color-secondary);border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button){-webkit-padding-end:calc(var(--pine-dimension-xs) / 2);padding-inline-end:calc(var(--pine-dimension-xs) / 2)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered)::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";
3984
-
3985
- class PdsCopytext {
3986
- constructor(hostRef) {
3987
- registerInstance(this, hostRef);
3988
- this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
3989
- /**
3990
- * Determines whether `copytext` should have a visible border.
3991
- * @defaultValue true
3992
- */
3993
- this.border = true;
3994
- /**
3995
- * Determines whether `copytext` should expand to the full width of its container.
3996
- * @defaultValue false
3997
- */
3998
- this.fullWidth = false;
3999
- /**
4000
- * Determines whether the `value` should truncate and display with an ellipsis.
4001
- * @defaultValue false
4002
- */
4003
- this.truncate = false;
4004
- this.copyToClipboard = async (value) => {
4005
- try {
4006
- if (typeof navigator.clipboard !== 'undefined') {
4007
- await navigator.clipboard.writeText(value);
4008
- this.pdsCopyTextClick.emit('Copied to clipboard');
4009
- }
4010
- }
4011
- catch (err) {
4012
- this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);
4013
- }
4014
- };
4015
- this.handleClick = () => {
4016
- this.copyToClipboard(this.value);
4017
- };
4018
- }
4019
- classNames() {
4020
- const classNames = ['pds-copytext'];
4021
- if (this.border) {
4022
- classNames.push('pds-copytext--bordered');
4023
- }
4024
- if (this.fullWidth) {
4025
- classNames.push('pds-copytext--full-width');
4026
- }
4027
- if (this.truncate) {
4028
- classNames.push('pds-copytext--truncated');
4029
- }
4030
- return classNames.join(' ');
4031
- }
4032
- render() {
4033
- return (hAsync(Host, { key: '46c38faeba9b70d2e510a4b6af08866577936478', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '6e28c11a9a7a57f4c256b0283b64ec655a897f65', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: '6818451171f85fd6ad63f07c69871082d3fcba4e' }, this.value), hAsync("pds-icon", { key: '05e683d7b28575d924d6af482e6ce4c3cfee3f05', icon: copy, size: "16px" }))));
4034
- }
4035
- static get style() { return pdsCopytextCss; }
4036
- static get cmpMeta() { return {
4037
- "$flags$": 9,
4038
- "$tagName$": "pds-copytext",
4039
- "$members$": {
4040
- "border": [516],
4041
- "componentId": [1, "component-id"],
4042
- "fullWidth": [4, "full-width"],
4043
- "truncate": [4],
4044
- "value": [1]
4045
- },
4046
- "$listeners$": undefined,
4047
- "$lazyBundleId$": "-",
4048
- "$attrsToReflect$": [["border", "border"]]
4049
- }; }
4050
- }
4051
-
4052
- const pdsDividerCss = ".pds-divider{background:var(--pine-color-border);border:0;display:-ms-flexbox;display:flex;height:var(--pine-border-width);margin:0;width:100%}.pds-divider--vertical{height:100%;width:1px}.pds-divider--offset-xxs{margin:0 calc(var(--pine-dimension-2xs) * -1);padding:0 var(--pine-dimension-2xs)}.pds-divider--offset-xxs.pds-divider--vertical{margin:calc(var(--pine-dimension-2xs) * -1) 0;padding:var(--pine-dimension-2xs) 0}.pds-divider--offset-xs{margin:0 calc(var(--pine-dimension-xs) * -1);padding:0 var(--pine-dimension-xs)}.pds-divider--offset-xs.pds-divider--vertical{margin:calc(var(--pine-dimension-xs) * -1) 0;padding:var(--pine-dimension-xs) 0}.pds-divider--offset-sm{margin:0 calc(var(--pine-dimension-sm) * -1);padding:0 var(--pine-dimension-sm)}.pds-divider--offset-sm.pds-divider--vertical{margin:calc(var(--pine-dimension-sm) * -1) 0;padding:var(--pine-dimension-sm) 0}.pds-divider--offset-md{margin:0 calc(var(--pine-dimension-md) * -1);padding:0 var(--pine-dimension-md)}.pds-divider--offset-md.pds-divider--vertical{margin:calc(var(--pine-dimension-md) * -1) 0;padding:var(--pine-dimension-md) 0}.pds-divider--offset-lg{margin:0 calc(var(--pine-dimension-lg) * -1);padding:0 var(--pine-dimension-lg)}.pds-divider--offset-lg.pds-divider--vertical{margin:calc(var(--pine-dimension-lg) * -1) 0;padding:var(--pine-dimension-lg) 0}.pds-divider--offset-xl{margin:0 calc(var(--pine-dimension-xl) * -1);padding:0 var(--pine-dimension-xl)}.pds-divider--offset-xl.pds-divider--vertical{margin:calc(var(--pine-dimension-xl) * -1) 0;padding:var(--pine-dimension-xl) 0}.pds-divider--offset-xxl{margin:0 calc(var(--pine-dimension-2xl) * -1);padding:0 var(--pine-dimension-2xl)}.pds-divider--offset-xxl.pds-divider--vertical{margin:calc(var(--pine-dimension-2xl) * -1) 0;padding:var(--pine-dimension-2xl) 0}@media (max-width: 767px){.pds-divider--vertical{display:none}}";
4053
-
4054
- class PdsDivider {
4055
- constructor(hostRef) {
4056
- registerInstance(this, hostRef);
4057
- /**
4058
- * Sets divider to display vertically.
4059
- * @defaultValue false
4060
- */
4061
- this.vertical = false;
4062
- }
4063
- classNames() {
4064
- const classNames = ['pds-divider'];
4065
- if (this.vertical) {
4066
- classNames.push('pds-divider--vertical');
4067
- }
4068
- if (this.offset) {
4069
- const offsetClassName = 'pds-divider--offset-' + this.offset;
4070
- classNames.push(offsetClassName);
4071
- }
4072
- return classNames.join(' ');
4073
- }
4074
- render() {
4075
- return (hAsync(Host, { key: 'ee48ee45e0463abbd3cb7aa686f8d86928830ccb', id: this.componentId }, hAsync("hr", { key: '4af739f85e502a7d9bff1b3581c283cb6ee53a0e', class: this.classNames() })));
4076
- }
4077
- static get style() { return pdsDividerCss; }
4078
- static get cmpMeta() { return {
4079
- "$flags$": 9,
4080
- "$tagName$": "pds-divider",
4081
- "$members$": {
4082
- "componentId": [1, "component-id"],
4083
- "offset": [1],
4084
- "vertical": [4]
4085
- },
4086
- "$listeners$": undefined,
4087
- "$lazyBundleId$": "-",
4088
- "$attrsToReflect$": []
4089
- }; }
4090
- }
4091
-
4092
3998
  /**
4093
3999
  * Custom positioning reference element.
4094
4000
  * @see https://floating-ui.com/docs/virtual-elements
@@ -5339,72 +5245,1924 @@ const getElementRects = async function (data) {
5339
5245
  width: floatingDimensions.width,
5340
5246
  height: floatingDimensions.height
5341
5247
  }
5342
- };
5343
- };
5344
-
5345
- function isRTL$1(element) {
5346
- return getComputedStyle$1(element).direction === 'rtl';
5248
+ };
5249
+ };
5250
+
5251
+ function isRTL$1(element) {
5252
+ return getComputedStyle$1(element).direction === 'rtl';
5253
+ }
5254
+
5255
+ const platform = {
5256
+ convertOffsetParentRelativeRectToViewportRelativeRect,
5257
+ getDocumentElement,
5258
+ getClippingRect,
5259
+ getOffsetParent,
5260
+ getElementRects,
5261
+ getClientRects,
5262
+ getDimensions,
5263
+ getScale,
5264
+ isElement,
5265
+ isRTL: isRTL$1
5266
+ };
5267
+
5268
+ /**
5269
+ * Modifies the placement by translating the floating element along the
5270
+ * specified axes.
5271
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
5272
+ * object may be passed.
5273
+ * @see https://floating-ui.com/docs/offset
5274
+ */
5275
+ const offset = offset$1;
5276
+
5277
+ /**
5278
+ * Optimizes the visibility of the floating element by shifting it in order to
5279
+ * keep it in view when it will overflow the clipping boundary.
5280
+ * @see https://floating-ui.com/docs/shift
5281
+ */
5282
+ const shift = shift$1;
5283
+
5284
+ /**
5285
+ * Optimizes the visibility of the floating element by flipping the `placement`
5286
+ * in order to keep it in view when the preferred placement(s) will overflow the
5287
+ * clipping boundary. Alternative to `autoPlacement`.
5288
+ * @see https://floating-ui.com/docs/flip
5289
+ */
5290
+ const flip = flip$1;
5291
+
5292
+ /**
5293
+ * Computes the `x` and `y` coordinates that will place the floating element
5294
+ * next to a given reference element.
5295
+ */
5296
+ const computePosition = (reference, floating, options) => {
5297
+ // This caches the expensive `getClippingElementAncestors` function so that
5298
+ // multiple lifecycle resets re-use the same result. It only lives for a
5299
+ // single call. If other functions become expensive, we can add them as well.
5300
+ const cache = new Map();
5301
+ const mergedOptions = {
5302
+ platform,
5303
+ ...options
5304
+ };
5305
+ const platformWithCache = {
5306
+ ...mergedOptions.platform,
5307
+ _c: cache
5308
+ };
5309
+ return computePosition$1(reference, floating, {
5310
+ ...mergedOptions,
5311
+ platform: platformWithCache
5312
+ });
5313
+ };
5314
+
5315
+ /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
5316
+
5317
+ const {
5318
+ entries,
5319
+ setPrototypeOf,
5320
+ isFrozen,
5321
+ getPrototypeOf,
5322
+ getOwnPropertyDescriptor
5323
+ } = Object;
5324
+ let {
5325
+ freeze,
5326
+ seal,
5327
+ create
5328
+ } = Object; // eslint-disable-line import/no-mutable-exports
5329
+ let {
5330
+ apply,
5331
+ construct
5332
+ } = typeof Reflect !== 'undefined' && Reflect;
5333
+ if (!freeze) {
5334
+ freeze = function freeze(x) {
5335
+ return x;
5336
+ };
5337
+ }
5338
+ if (!seal) {
5339
+ seal = function seal(x) {
5340
+ return x;
5341
+ };
5342
+ }
5343
+ if (!apply) {
5344
+ apply = function apply(fun, thisValue, args) {
5345
+ return fun.apply(thisValue, args);
5346
+ };
5347
+ }
5348
+ if (!construct) {
5349
+ construct = function construct(Func, args) {
5350
+ return new Func(...args);
5351
+ };
5352
+ }
5353
+ const arrayForEach = unapply(Array.prototype.forEach);
5354
+ const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
5355
+ const arrayPop = unapply(Array.prototype.pop);
5356
+ const arrayPush = unapply(Array.prototype.push);
5357
+ const arraySplice = unapply(Array.prototype.splice);
5358
+ const stringToLowerCase = unapply(String.prototype.toLowerCase);
5359
+ const stringToString = unapply(String.prototype.toString);
5360
+ const stringMatch = unapply(String.prototype.match);
5361
+ const stringReplace = unapply(String.prototype.replace);
5362
+ const stringIndexOf = unapply(String.prototype.indexOf);
5363
+ const stringTrim = unapply(String.prototype.trim);
5364
+ const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
5365
+ const regExpTest = unapply(RegExp.prototype.test);
5366
+ const typeErrorCreate = unconstruct(TypeError);
5367
+ /**
5368
+ * Creates a new function that calls the given function with a specified thisArg and arguments.
5369
+ *
5370
+ * @param func - The function to be wrapped and called.
5371
+ * @returns A new function that calls the given function with a specified thisArg and arguments.
5372
+ */
5373
+ function unapply(func) {
5374
+ return function (thisArg) {
5375
+ if (thisArg instanceof RegExp) {
5376
+ thisArg.lastIndex = 0;
5377
+ }
5378
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5379
+ args[_key - 1] = arguments[_key];
5380
+ }
5381
+ return apply(func, thisArg, args);
5382
+ };
5383
+ }
5384
+ /**
5385
+ * Creates a new function that constructs an instance of the given constructor function with the provided arguments.
5386
+ *
5387
+ * @param func - The constructor function to be wrapped and called.
5388
+ * @returns A new function that constructs an instance of the given constructor function with the provided arguments.
5389
+ */
5390
+ function unconstruct(func) {
5391
+ return function () {
5392
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
5393
+ args[_key2] = arguments[_key2];
5394
+ }
5395
+ return construct(func, args);
5396
+ };
5397
+ }
5398
+ /**
5399
+ * Add properties to a lookup table
5400
+ *
5401
+ * @param set - The set to which elements will be added.
5402
+ * @param array - The array containing elements to be added to the set.
5403
+ * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.
5404
+ * @returns The modified set with added elements.
5405
+ */
5406
+ function addToSet(set, array) {
5407
+ let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;
5408
+ if (setPrototypeOf) {
5409
+ // Make 'in' and truthy checks like Boolean(set.constructor)
5410
+ // independent of any properties defined on Object.prototype.
5411
+ // Prevent prototype setters from intercepting set as a this value.
5412
+ setPrototypeOf(set, null);
5413
+ }
5414
+ let l = array.length;
5415
+ while (l--) {
5416
+ let element = array[l];
5417
+ if (typeof element === 'string') {
5418
+ const lcElement = transformCaseFunc(element);
5419
+ if (lcElement !== element) {
5420
+ // Config presets (e.g. tags.js, attrs.js) are immutable.
5421
+ if (!isFrozen(array)) {
5422
+ array[l] = lcElement;
5423
+ }
5424
+ element = lcElement;
5425
+ }
5426
+ }
5427
+ set[element] = true;
5428
+ }
5429
+ return set;
5430
+ }
5431
+ /**
5432
+ * Clean up an array to harden against CSPP
5433
+ *
5434
+ * @param array - The array to be cleaned.
5435
+ * @returns The cleaned version of the array
5436
+ */
5437
+ function cleanArray(array) {
5438
+ for (let index = 0; index < array.length; index++) {
5439
+ const isPropertyExist = objectHasOwnProperty(array, index);
5440
+ if (!isPropertyExist) {
5441
+ array[index] = null;
5442
+ }
5443
+ }
5444
+ return array;
5445
+ }
5446
+ /**
5447
+ * Shallow clone an object
5448
+ *
5449
+ * @param object - The object to be cloned.
5450
+ * @returns A new object that copies the original.
5451
+ */
5452
+ function clone$1(object) {
5453
+ const newObject = create(null);
5454
+ for (const [property, value] of entries(object)) {
5455
+ const isPropertyExist = objectHasOwnProperty(object, property);
5456
+ if (isPropertyExist) {
5457
+ if (Array.isArray(value)) {
5458
+ newObject[property] = cleanArray(value);
5459
+ } else if (value && typeof value === 'object' && value.constructor === Object) {
5460
+ newObject[property] = clone$1(value);
5461
+ } else {
5462
+ newObject[property] = value;
5463
+ }
5464
+ }
5465
+ }
5466
+ return newObject;
5467
+ }
5468
+ /**
5469
+ * This method automatically checks if the prop is function or getter and behaves accordingly.
5470
+ *
5471
+ * @param object - The object to look up the getter function in its prototype chain.
5472
+ * @param prop - The property name for which to find the getter function.
5473
+ * @returns The getter function found in the prototype chain or a fallback function.
5474
+ */
5475
+ function lookupGetter(object, prop) {
5476
+ while (object !== null) {
5477
+ const desc = getOwnPropertyDescriptor(object, prop);
5478
+ if (desc) {
5479
+ if (desc.get) {
5480
+ return unapply(desc.get);
5481
+ }
5482
+ if (typeof desc.value === 'function') {
5483
+ return unapply(desc.value);
5484
+ }
5485
+ }
5486
+ object = getPrototypeOf(object);
5487
+ }
5488
+ function fallbackValue() {
5489
+ return null;
5490
+ }
5491
+ return fallbackValue;
5492
+ }
5493
+
5494
+ const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
5495
+ const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
5496
+ const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
5497
+ // List of SVG elements that are disallowed by default.
5498
+ // We still need to know them so that we can do namespace
5499
+ // checks properly in case one wants to add them to
5500
+ // allow-list.
5501
+ const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);
5502
+ const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);
5503
+ // Similarly to SVG, we want to know all MathML elements,
5504
+ // even those that we disallow by default.
5505
+ const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
5506
+ const text = freeze(['#text']);
5507
+
5508
+ const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
5509
+ const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
5510
+ const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
5511
+ const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
5512
+
5513
+ // eslint-disable-next-line unicorn/better-regex
5514
+ const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
5515
+ const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
5516
+ const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); // eslint-disable-line unicorn/better-regex
5517
+ const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape
5518
+ const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
5519
+ const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
5520
+ );
5521
+ const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
5522
+ const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
5523
+ );
5524
+ const DOCTYPE_NAME = seal(/^html$/i);
5525
+ const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
5526
+
5527
+ var EXPRESSIONS = /*#__PURE__*/Object.freeze({
5528
+ __proto__: null,
5529
+ ARIA_ATTR: ARIA_ATTR,
5530
+ ATTR_WHITESPACE: ATTR_WHITESPACE,
5531
+ CUSTOM_ELEMENT: CUSTOM_ELEMENT,
5532
+ DATA_ATTR: DATA_ATTR,
5533
+ DOCTYPE_NAME: DOCTYPE_NAME,
5534
+ ERB_EXPR: ERB_EXPR,
5535
+ IS_ALLOWED_URI: IS_ALLOWED_URI,
5536
+ IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,
5537
+ MUSTACHE_EXPR: MUSTACHE_EXPR,
5538
+ TMPLIT_EXPR: TMPLIT_EXPR
5539
+ });
5540
+
5541
+ /* eslint-disable @typescript-eslint/indent */
5542
+ // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
5543
+ const NODE_TYPE = {
5544
+ element: 1,
5545
+ text: 3,
5546
+ // Deprecated
5547
+ progressingInstruction: 7,
5548
+ comment: 8,
5549
+ document: 9};
5550
+ const getGlobal = function getGlobal() {
5551
+ return typeof window === 'undefined' ? null : window;
5552
+ };
5553
+ /**
5554
+ * Creates a no-op policy for internal use only.
5555
+ * Don't export this function outside this module!
5556
+ * @param trustedTypes The policy factory.
5557
+ * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).
5558
+ * @return The policy created (or null, if Trusted Types
5559
+ * are not supported or creating the policy failed).
5560
+ */
5561
+ const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {
5562
+ if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
5563
+ return null;
5564
+ }
5565
+ // Allow the callers to control the unique policy name
5566
+ // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
5567
+ // Policy creation with duplicate names throws in Trusted Types.
5568
+ let suffix = null;
5569
+ const ATTR_NAME = 'data-tt-policy-suffix';
5570
+ if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {
5571
+ suffix = purifyHostElement.getAttribute(ATTR_NAME);
5572
+ }
5573
+ const policyName = 'dompurify' + (suffix ? '#' + suffix : '');
5574
+ try {
5575
+ return trustedTypes.createPolicy(policyName, {
5576
+ createHTML(html) {
5577
+ return html;
5578
+ },
5579
+ createScriptURL(scriptUrl) {
5580
+ return scriptUrl;
5581
+ }
5582
+ });
5583
+ } catch (_) {
5584
+ // Policy creation failed (most likely another DOMPurify script has
5585
+ // already run). Skip creating the policy, as this will only cause errors
5586
+ // if TT are enforced.
5587
+ console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
5588
+ return null;
5589
+ }
5590
+ };
5591
+ const _createHooksMap = function _createHooksMap() {
5592
+ return {
5593
+ afterSanitizeAttributes: [],
5594
+ afterSanitizeElements: [],
5595
+ afterSanitizeShadowDOM: [],
5596
+ beforeSanitizeAttributes: [],
5597
+ beforeSanitizeElements: [],
5598
+ beforeSanitizeShadowDOM: [],
5599
+ uponSanitizeAttribute: [],
5600
+ uponSanitizeElement: [],
5601
+ uponSanitizeShadowNode: []
5602
+ };
5603
+ };
5604
+ function createDOMPurify() {
5605
+ let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
5606
+ const DOMPurify = root => createDOMPurify(root);
5607
+ DOMPurify.version = '3.2.6';
5608
+ DOMPurify.removed = [];
5609
+ if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
5610
+ // Not running in a browser, provide a factory function
5611
+ // so that you can pass your own Window
5612
+ DOMPurify.isSupported = false;
5613
+ return DOMPurify;
5614
+ }
5615
+ let {
5616
+ document
5617
+ } = window;
5618
+ const originalDocument = document;
5619
+ const currentScript = originalDocument.currentScript;
5620
+ const {
5621
+ DocumentFragment,
5622
+ HTMLTemplateElement,
5623
+ Node,
5624
+ Element,
5625
+ NodeFilter,
5626
+ NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,
5627
+ HTMLFormElement,
5628
+ DOMParser,
5629
+ trustedTypes
5630
+ } = window;
5631
+ const ElementPrototype = Element.prototype;
5632
+ const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
5633
+ const remove = lookupGetter(ElementPrototype, 'remove');
5634
+ const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
5635
+ const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
5636
+ const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
5637
+ // As per issue #47, the web-components registry is inherited by a
5638
+ // new document created via createHTMLDocument. As per the spec
5639
+ // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
5640
+ // a new empty registry is used when creating a template contents owner
5641
+ // document, so we use that as our parent document to ensure nothing
5642
+ // is inherited.
5643
+ if (typeof HTMLTemplateElement === 'function') {
5644
+ const template = document.createElement('template');
5645
+ if (template.content && template.content.ownerDocument) {
5646
+ document = template.content.ownerDocument;
5647
+ }
5648
+ }
5649
+ let trustedTypesPolicy;
5650
+ let emptyHTML = '';
5651
+ const {
5652
+ implementation,
5653
+ createNodeIterator,
5654
+ createDocumentFragment,
5655
+ getElementsByTagName
5656
+ } = document;
5657
+ const {
5658
+ importNode
5659
+ } = originalDocument;
5660
+ let hooks = _createHooksMap();
5661
+ /**
5662
+ * Expose whether this browser supports running the full DOMPurify.
5663
+ */
5664
+ DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;
5665
+ const {
5666
+ MUSTACHE_EXPR,
5667
+ ERB_EXPR,
5668
+ TMPLIT_EXPR,
5669
+ DATA_ATTR,
5670
+ ARIA_ATTR,
5671
+ IS_SCRIPT_OR_DATA,
5672
+ ATTR_WHITESPACE,
5673
+ CUSTOM_ELEMENT
5674
+ } = EXPRESSIONS;
5675
+ let {
5676
+ IS_ALLOWED_URI: IS_ALLOWED_URI$1
5677
+ } = EXPRESSIONS;
5678
+ /**
5679
+ * We consider the elements and attributes below to be safe. Ideally
5680
+ * don't add any new ones but feel free to remove unwanted ones.
5681
+ */
5682
+ /* allowed element names */
5683
+ let ALLOWED_TAGS = null;
5684
+ const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);
5685
+ /* Allowed attribute names */
5686
+ let ALLOWED_ATTR = null;
5687
+ const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);
5688
+ /*
5689
+ * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.
5690
+ * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)
5691
+ * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)
5692
+ * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.
5693
+ */
5694
+ let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {
5695
+ tagNameCheck: {
5696
+ writable: true,
5697
+ configurable: false,
5698
+ enumerable: true,
5699
+ value: null
5700
+ },
5701
+ attributeNameCheck: {
5702
+ writable: true,
5703
+ configurable: false,
5704
+ enumerable: true,
5705
+ value: null
5706
+ },
5707
+ allowCustomizedBuiltInElements: {
5708
+ writable: true,
5709
+ configurable: false,
5710
+ enumerable: true,
5711
+ value: false
5712
+ }
5713
+ }));
5714
+ /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
5715
+ let FORBID_TAGS = null;
5716
+ /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
5717
+ let FORBID_ATTR = null;
5718
+ /* Decide if ARIA attributes are okay */
5719
+ let ALLOW_ARIA_ATTR = true;
5720
+ /* Decide if custom data attributes are okay */
5721
+ let ALLOW_DATA_ATTR = true;
5722
+ /* Decide if unknown protocols are okay */
5723
+ let ALLOW_UNKNOWN_PROTOCOLS = false;
5724
+ /* Decide if self-closing tags in attributes are allowed.
5725
+ * Usually removed due to a mXSS issue in jQuery 3.0 */
5726
+ let ALLOW_SELF_CLOSE_IN_ATTR = true;
5727
+ /* Output should be safe for common template engines.
5728
+ * This means, DOMPurify removes data attributes, mustaches and ERB
5729
+ */
5730
+ let SAFE_FOR_TEMPLATES = false;
5731
+ /* Output should be safe even for XML used within HTML and alike.
5732
+ * This means, DOMPurify removes comments when containing risky content.
5733
+ */
5734
+ let SAFE_FOR_XML = true;
5735
+ /* Decide if document with <html>... should be returned */
5736
+ let WHOLE_DOCUMENT = false;
5737
+ /* Track whether config is already set on this instance of DOMPurify. */
5738
+ let SET_CONFIG = false;
5739
+ /* Decide if all elements (e.g. style, script) must be children of
5740
+ * document.body. By default, browsers might move them to document.head */
5741
+ let FORCE_BODY = false;
5742
+ /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
5743
+ * string (or a TrustedHTML object if Trusted Types are supported).
5744
+ * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
5745
+ */
5746
+ let RETURN_DOM = false;
5747
+ /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
5748
+ * string (or a TrustedHTML object if Trusted Types are supported) */
5749
+ let RETURN_DOM_FRAGMENT = false;
5750
+ /* Try to return a Trusted Type object instead of a string, return a string in
5751
+ * case Trusted Types are not supported */
5752
+ let RETURN_TRUSTED_TYPE = false;
5753
+ /* Output should be free from DOM clobbering attacks?
5754
+ * This sanitizes markups named with colliding, clobberable built-in DOM APIs.
5755
+ */
5756
+ let SANITIZE_DOM = true;
5757
+ /* Achieve full DOM Clobbering protection by isolating the namespace of named
5758
+ * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.
5759
+ *
5760
+ * HTML/DOM spec rules that enable DOM Clobbering:
5761
+ * - Named Access on Window (§7.3.3)
5762
+ * - DOM Tree Accessors (§3.1.5)
5763
+ * - Form Element Parent-Child Relations (§4.10.3)
5764
+ * - Iframe srcdoc / Nested WindowProxies (§4.8.5)
5765
+ * - HTMLCollection (§4.2.10.2)
5766
+ *
5767
+ * Namespace isolation is implemented by prefixing `id` and `name` attributes
5768
+ * with a constant string, i.e., `user-content-`
5769
+ */
5770
+ let SANITIZE_NAMED_PROPS = false;
5771
+ const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';
5772
+ /* Keep element content when removing element? */
5773
+ let KEEP_CONTENT = true;
5774
+ /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
5775
+ * of importing it into a new Document and returning a sanitized copy */
5776
+ let IN_PLACE = false;
5777
+ /* Allow usage of profiles like html, svg and mathMl */
5778
+ let USE_PROFILES = {};
5779
+ /* Tags to ignore content of when KEEP_CONTENT is true */
5780
+ let FORBID_CONTENTS = null;
5781
+ const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
5782
+ /* Tags that are safe for data: URIs */
5783
+ let DATA_URI_TAGS = null;
5784
+ const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
5785
+ /* Attributes safe for values like "javascript:" */
5786
+ let URI_SAFE_ATTRIBUTES = null;
5787
+ const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);
5788
+ const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
5789
+ const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
5790
+ const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
5791
+ /* Document namespace */
5792
+ let NAMESPACE = HTML_NAMESPACE;
5793
+ let IS_EMPTY_INPUT = false;
5794
+ /* Allowed XHTML+XML namespaces */
5795
+ let ALLOWED_NAMESPACES = null;
5796
+ const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
5797
+ let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
5798
+ let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
5799
+ // Certain elements are allowed in both SVG and HTML
5800
+ // namespace. We need to specify them explicitly
5801
+ // so that they don't get erroneously deleted from
5802
+ // HTML namespace.
5803
+ const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);
5804
+ /* Parsing of strict XHTML documents */
5805
+ let PARSER_MEDIA_TYPE = null;
5806
+ const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];
5807
+ const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';
5808
+ let transformCaseFunc = null;
5809
+ /* Keep a reference to config to pass to hooks */
5810
+ let CONFIG = null;
5811
+ /* Ideally, do not touch anything below this line */
5812
+ /* ______________________________________________ */
5813
+ const formElement = document.createElement('form');
5814
+ const isRegexOrFunction = function isRegexOrFunction(testValue) {
5815
+ return testValue instanceof RegExp || testValue instanceof Function;
5816
+ };
5817
+ /**
5818
+ * _parseConfig
5819
+ *
5820
+ * @param cfg optional config literal
5821
+ */
5822
+ // eslint-disable-next-line complexity
5823
+ const _parseConfig = function _parseConfig() {
5824
+ let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5825
+ if (CONFIG && CONFIG === cfg) {
5826
+ return;
5827
+ }
5828
+ /* Shield configuration object from tampering */
5829
+ if (!cfg || typeof cfg !== 'object') {
5830
+ cfg = {};
5831
+ }
5832
+ /* Shield configuration object from prototype pollution */
5833
+ cfg = clone$1(cfg);
5834
+ PARSER_MEDIA_TYPE =
5835
+ // eslint-disable-next-line unicorn/prefer-includes
5836
+ SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
5837
+ // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.
5838
+ transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;
5839
+ /* Set configuration parameters */
5840
+ ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
5841
+ ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
5842
+ ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
5843
+ URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone$1(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
5844
+ DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone$1(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
5845
+ FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
5846
+ FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone$1({});
5847
+ FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone$1({});
5848
+ USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;
5849
+ ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
5850
+ ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
5851
+ ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
5852
+ ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true
5853
+ SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
5854
+ SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true
5855
+ WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
5856
+ RETURN_DOM = cfg.RETURN_DOM || false; // Default false
5857
+ RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
5858
+ RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
5859
+ FORCE_BODY = cfg.FORCE_BODY || false; // Default false
5860
+ SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
5861
+ SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false
5862
+ KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
5863
+ IN_PLACE = cfg.IN_PLACE || false; // Default false
5864
+ IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;
5865
+ NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
5866
+ MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
5867
+ HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
5868
+ CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};
5869
+ if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
5870
+ CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
5871
+ }
5872
+ if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
5873
+ CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
5874
+ }
5875
+ if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {
5876
+ CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
5877
+ }
5878
+ if (SAFE_FOR_TEMPLATES) {
5879
+ ALLOW_DATA_ATTR = false;
5880
+ }
5881
+ if (RETURN_DOM_FRAGMENT) {
5882
+ RETURN_DOM = true;
5883
+ }
5884
+ /* Parse profile info */
5885
+ if (USE_PROFILES) {
5886
+ ALLOWED_TAGS = addToSet({}, text);
5887
+ ALLOWED_ATTR = [];
5888
+ if (USE_PROFILES.html === true) {
5889
+ addToSet(ALLOWED_TAGS, html$1);
5890
+ addToSet(ALLOWED_ATTR, html);
5891
+ }
5892
+ if (USE_PROFILES.svg === true) {
5893
+ addToSet(ALLOWED_TAGS, svg$1);
5894
+ addToSet(ALLOWED_ATTR, svg);
5895
+ addToSet(ALLOWED_ATTR, xml);
5896
+ }
5897
+ if (USE_PROFILES.svgFilters === true) {
5898
+ addToSet(ALLOWED_TAGS, svgFilters);
5899
+ addToSet(ALLOWED_ATTR, svg);
5900
+ addToSet(ALLOWED_ATTR, xml);
5901
+ }
5902
+ if (USE_PROFILES.mathMl === true) {
5903
+ addToSet(ALLOWED_TAGS, mathMl$1);
5904
+ addToSet(ALLOWED_ATTR, mathMl);
5905
+ addToSet(ALLOWED_ATTR, xml);
5906
+ }
5907
+ }
5908
+ /* Merge configuration parameters */
5909
+ if (cfg.ADD_TAGS) {
5910
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
5911
+ ALLOWED_TAGS = clone$1(ALLOWED_TAGS);
5912
+ }
5913
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
5914
+ }
5915
+ if (cfg.ADD_ATTR) {
5916
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
5917
+ ALLOWED_ATTR = clone$1(ALLOWED_ATTR);
5918
+ }
5919
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
5920
+ }
5921
+ if (cfg.ADD_URI_SAFE_ATTR) {
5922
+ addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
5923
+ }
5924
+ if (cfg.FORBID_CONTENTS) {
5925
+ if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
5926
+ FORBID_CONTENTS = clone$1(FORBID_CONTENTS);
5927
+ }
5928
+ addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
5929
+ }
5930
+ /* Add #text in case KEEP_CONTENT is set to true */
5931
+ if (KEEP_CONTENT) {
5932
+ ALLOWED_TAGS['#text'] = true;
5933
+ }
5934
+ /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
5935
+ if (WHOLE_DOCUMENT) {
5936
+ addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
5937
+ }
5938
+ /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
5939
+ if (ALLOWED_TAGS.table) {
5940
+ addToSet(ALLOWED_TAGS, ['tbody']);
5941
+ delete FORBID_TAGS.tbody;
5942
+ }
5943
+ if (cfg.TRUSTED_TYPES_POLICY) {
5944
+ if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {
5945
+ throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
5946
+ }
5947
+ if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {
5948
+ throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
5949
+ }
5950
+ // Overwrite existing TrustedTypes policy.
5951
+ trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
5952
+ // Sign local variables required by `sanitize`.
5953
+ emptyHTML = trustedTypesPolicy.createHTML('');
5954
+ } else {
5955
+ // Uninitialized policy, attempt to initialize the internal dompurify policy.
5956
+ if (trustedTypesPolicy === undefined) {
5957
+ trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
5958
+ }
5959
+ // If creating the internal policy succeeded sign internal variables.
5960
+ if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {
5961
+ emptyHTML = trustedTypesPolicy.createHTML('');
5962
+ }
5963
+ }
5964
+ // Prevent further manipulation of configuration.
5965
+ // Not available in IE8, Safari 5, etc.
5966
+ if (freeze) {
5967
+ freeze(cfg);
5968
+ }
5969
+ CONFIG = cfg;
5970
+ };
5971
+ /* Keep track of all possible SVG and MathML tags
5972
+ * so that we can perform the namespace checks
5973
+ * correctly. */
5974
+ const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
5975
+ const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
5976
+ /**
5977
+ * @param element a DOM element whose namespace is being checked
5978
+ * @returns Return false if the element has a
5979
+ * namespace that a spec-compliant parser would never
5980
+ * return. Return true otherwise.
5981
+ */
5982
+ const _checkValidNamespace = function _checkValidNamespace(element) {
5983
+ let parent = getParentNode(element);
5984
+ // In JSDOM, if we're inside shadow DOM, then parentNode
5985
+ // can be null. We just simulate parent in this case.
5986
+ if (!parent || !parent.tagName) {
5987
+ parent = {
5988
+ namespaceURI: NAMESPACE,
5989
+ tagName: 'template'
5990
+ };
5991
+ }
5992
+ const tagName = stringToLowerCase(element.tagName);
5993
+ const parentTagName = stringToLowerCase(parent.tagName);
5994
+ if (!ALLOWED_NAMESPACES[element.namespaceURI]) {
5995
+ return false;
5996
+ }
5997
+ if (element.namespaceURI === SVG_NAMESPACE) {
5998
+ // The only way to switch from HTML namespace to SVG
5999
+ // is via <svg>. If it happens via any other tag, then
6000
+ // it should be killed.
6001
+ if (parent.namespaceURI === HTML_NAMESPACE) {
6002
+ return tagName === 'svg';
6003
+ }
6004
+ // The only way to switch from MathML to SVG is via`
6005
+ // svg if parent is either <annotation-xml> or MathML
6006
+ // text integration points.
6007
+ if (parent.namespaceURI === MATHML_NAMESPACE) {
6008
+ return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
6009
+ }
6010
+ // We only allow elements that are defined in SVG
6011
+ // spec. All others are disallowed in SVG namespace.
6012
+ return Boolean(ALL_SVG_TAGS[tagName]);
6013
+ }
6014
+ if (element.namespaceURI === MATHML_NAMESPACE) {
6015
+ // The only way to switch from HTML namespace to MathML
6016
+ // is via <math>. If it happens via any other tag, then
6017
+ // it should be killed.
6018
+ if (parent.namespaceURI === HTML_NAMESPACE) {
6019
+ return tagName === 'math';
6020
+ }
6021
+ // The only way to switch from SVG to MathML is via
6022
+ // <math> and HTML integration points
6023
+ if (parent.namespaceURI === SVG_NAMESPACE) {
6024
+ return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
6025
+ }
6026
+ // We only allow elements that are defined in MathML
6027
+ // spec. All others are disallowed in MathML namespace.
6028
+ return Boolean(ALL_MATHML_TAGS[tagName]);
6029
+ }
6030
+ if (element.namespaceURI === HTML_NAMESPACE) {
6031
+ // The only way to switch from SVG to HTML is via
6032
+ // HTML integration points, and from MathML to HTML
6033
+ // is via MathML text integration points
6034
+ if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
6035
+ return false;
6036
+ }
6037
+ if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
6038
+ return false;
6039
+ }
6040
+ // We disallow tags that are specific for MathML
6041
+ // or SVG and should never appear in HTML namespace
6042
+ return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
6043
+ }
6044
+ // For XHTML and XML documents that support custom namespaces
6045
+ if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {
6046
+ return true;
6047
+ }
6048
+ // The code should never reach this place (this means
6049
+ // that the element somehow got namespace that is not
6050
+ // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).
6051
+ // Return false just in case.
6052
+ return false;
6053
+ };
6054
+ /**
6055
+ * _forceRemove
6056
+ *
6057
+ * @param node a DOM node
6058
+ */
6059
+ const _forceRemove = function _forceRemove(node) {
6060
+ arrayPush(DOMPurify.removed, {
6061
+ element: node
6062
+ });
6063
+ try {
6064
+ // eslint-disable-next-line unicorn/prefer-dom-node-remove
6065
+ getParentNode(node).removeChild(node);
6066
+ } catch (_) {
6067
+ remove(node);
6068
+ }
6069
+ };
6070
+ /**
6071
+ * _removeAttribute
6072
+ *
6073
+ * @param name an Attribute name
6074
+ * @param element a DOM node
6075
+ */
6076
+ const _removeAttribute = function _removeAttribute(name, element) {
6077
+ try {
6078
+ arrayPush(DOMPurify.removed, {
6079
+ attribute: element.getAttributeNode(name),
6080
+ from: element
6081
+ });
6082
+ } catch (_) {
6083
+ arrayPush(DOMPurify.removed, {
6084
+ attribute: null,
6085
+ from: element
6086
+ });
6087
+ }
6088
+ element.removeAttribute(name);
6089
+ // We void attribute values for unremovable "is" attributes
6090
+ if (name === 'is') {
6091
+ if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
6092
+ try {
6093
+ _forceRemove(element);
6094
+ } catch (_) {}
6095
+ } else {
6096
+ try {
6097
+ element.setAttribute(name, '');
6098
+ } catch (_) {}
6099
+ }
6100
+ }
6101
+ };
6102
+ /**
6103
+ * _initDocument
6104
+ *
6105
+ * @param dirty - a string of dirty markup
6106
+ * @return a DOM, filled with the dirty markup
6107
+ */
6108
+ const _initDocument = function _initDocument(dirty) {
6109
+ /* Create a HTML document */
6110
+ let doc = null;
6111
+ let leadingWhitespace = null;
6112
+ if (FORCE_BODY) {
6113
+ dirty = '<remove></remove>' + dirty;
6114
+ } else {
6115
+ /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
6116
+ const matches = stringMatch(dirty, /^[\r\n\t ]+/);
6117
+ leadingWhitespace = matches && matches[0];
6118
+ }
6119
+ if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {
6120
+ // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)
6121
+ dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>';
6122
+ }
6123
+ const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
6124
+ /*
6125
+ * Use the DOMParser API by default, fallback later if needs be
6126
+ * DOMParser not work for svg when has multiple root element.
6127
+ */
6128
+ if (NAMESPACE === HTML_NAMESPACE) {
6129
+ try {
6130
+ doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
6131
+ } catch (_) {}
6132
+ }
6133
+ /* Use createHTMLDocument in case DOMParser is not available */
6134
+ if (!doc || !doc.documentElement) {
6135
+ doc = implementation.createDocument(NAMESPACE, 'template', null);
6136
+ try {
6137
+ doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
6138
+ } catch (_) {
6139
+ // Syntax error if dirtyPayload is invalid xml
6140
+ }
6141
+ }
6142
+ const body = doc.body || doc.documentElement;
6143
+ if (dirty && leadingWhitespace) {
6144
+ body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);
6145
+ }
6146
+ /* Work on whole document or just its body */
6147
+ if (NAMESPACE === HTML_NAMESPACE) {
6148
+ return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
6149
+ }
6150
+ return WHOLE_DOCUMENT ? doc.documentElement : body;
6151
+ };
6152
+ /**
6153
+ * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
6154
+ *
6155
+ * @param root The root element or node to start traversing on.
6156
+ * @return The created NodeIterator
6157
+ */
6158
+ const _createNodeIterator = function _createNodeIterator(root) {
6159
+ return createNodeIterator.call(root.ownerDocument || root, root,
6160
+ // eslint-disable-next-line no-bitwise
6161
+ NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
6162
+ };
6163
+ /**
6164
+ * _isClobbered
6165
+ *
6166
+ * @param element element to check for clobbering attacks
6167
+ * @return true if clobbered, false if safe
6168
+ */
6169
+ const _isClobbered = function _isClobbered(element) {
6170
+ return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');
6171
+ };
6172
+ /**
6173
+ * Checks whether the given object is a DOM node.
6174
+ *
6175
+ * @param value object to check whether it's a DOM node
6176
+ * @return true is object is a DOM node
6177
+ */
6178
+ const _isNode = function _isNode(value) {
6179
+ return typeof Node === 'function' && value instanceof Node;
6180
+ };
6181
+ function _executeHooks(hooks, currentNode, data) {
6182
+ arrayForEach(hooks, hook => {
6183
+ hook.call(DOMPurify, currentNode, data, CONFIG);
6184
+ });
6185
+ }
6186
+ /**
6187
+ * _sanitizeElements
6188
+ *
6189
+ * @protect nodeName
6190
+ * @protect textContent
6191
+ * @protect removeChild
6192
+ * @param currentNode to check for permission to exist
6193
+ * @return true if node was killed, false if left alive
6194
+ */
6195
+ const _sanitizeElements = function _sanitizeElements(currentNode) {
6196
+ let content = null;
6197
+ /* Execute a hook if present */
6198
+ _executeHooks(hooks.beforeSanitizeElements, currentNode, null);
6199
+ /* Check if element is clobbered or can clobber */
6200
+ if (_isClobbered(currentNode)) {
6201
+ _forceRemove(currentNode);
6202
+ return true;
6203
+ }
6204
+ /* Now let's check the element's type and name */
6205
+ const tagName = transformCaseFunc(currentNode.nodeName);
6206
+ /* Execute a hook if present */
6207
+ _executeHooks(hooks.uponSanitizeElement, currentNode, {
6208
+ tagName,
6209
+ allowedTags: ALLOWED_TAGS
6210
+ });
6211
+ /* Detect mXSS attempts abusing namespace confusion */
6212
+ if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
6213
+ _forceRemove(currentNode);
6214
+ return true;
6215
+ }
6216
+ /* Remove any occurrence of processing instructions */
6217
+ if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
6218
+ _forceRemove(currentNode);
6219
+ return true;
6220
+ }
6221
+ /* Remove any kind of possibly harmful comments */
6222
+ if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
6223
+ _forceRemove(currentNode);
6224
+ return true;
6225
+ }
6226
+ /* Remove element if anything forbids its presence */
6227
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
6228
+ /* Check if we have a custom element to handle */
6229
+ if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
6230
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
6231
+ return false;
6232
+ }
6233
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
6234
+ return false;
6235
+ }
6236
+ }
6237
+ /* Keep content except for bad-listed elements */
6238
+ if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
6239
+ const parentNode = getParentNode(currentNode) || currentNode.parentNode;
6240
+ const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
6241
+ if (childNodes && parentNode) {
6242
+ const childCount = childNodes.length;
6243
+ for (let i = childCount - 1; i >= 0; --i) {
6244
+ const childClone = cloneNode(childNodes[i], true);
6245
+ childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
6246
+ parentNode.insertBefore(childClone, getNextSibling(currentNode));
6247
+ }
6248
+ }
6249
+ }
6250
+ _forceRemove(currentNode);
6251
+ return true;
6252
+ }
6253
+ /* Check whether element has a valid namespace */
6254
+ if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
6255
+ _forceRemove(currentNode);
6256
+ return true;
6257
+ }
6258
+ /* Make sure that older browsers don't get fallback-tag mXSS */
6259
+ if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
6260
+ _forceRemove(currentNode);
6261
+ return true;
6262
+ }
6263
+ /* Sanitize element content to be template-safe */
6264
+ if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
6265
+ /* Get the element's text content */
6266
+ content = currentNode.textContent;
6267
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
6268
+ content = stringReplace(content, expr, ' ');
6269
+ });
6270
+ if (currentNode.textContent !== content) {
6271
+ arrayPush(DOMPurify.removed, {
6272
+ element: currentNode.cloneNode()
6273
+ });
6274
+ currentNode.textContent = content;
6275
+ }
6276
+ }
6277
+ /* Execute a hook if present */
6278
+ _executeHooks(hooks.afterSanitizeElements, currentNode, null);
6279
+ return false;
6280
+ };
6281
+ /**
6282
+ * _isValidAttribute
6283
+ *
6284
+ * @param lcTag Lowercase tag name of containing element.
6285
+ * @param lcName Lowercase attribute name.
6286
+ * @param value Attribute value.
6287
+ * @return Returns true if `value` is valid, otherwise false.
6288
+ */
6289
+ // eslint-disable-next-line complexity
6290
+ const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
6291
+ /* Make sure attribute cannot clobber */
6292
+ if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
6293
+ return false;
6294
+ }
6295
+ /* Allow valid data-* attributes: At least one character after "-"
6296
+ (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
6297
+ XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
6298
+ We don't need to check the value; it's always URI safe. */
6299
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
6300
+ if (
6301
+ // First condition does a very basic check if a) it's basically a valid custom element tagname AND
6302
+ // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
6303
+ // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
6304
+ _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
6305
+ // Alternative, second condition checks if it's an `is`-attribute, AND
6306
+ // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
6307
+ lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
6308
+ return false;
6309
+ }
6310
+ /* Check value is safe. First, is attr inert? If so, is safe */
6311
+ } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {
6312
+ return false;
6313
+ } else ;
6314
+ return true;
6315
+ };
6316
+ /**
6317
+ * _isBasicCustomElement
6318
+ * checks if at least one dash is included in tagName, and it's not the first char
6319
+ * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
6320
+ *
6321
+ * @param tagName name of the tag of the node to sanitize
6322
+ * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
6323
+ */
6324
+ const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
6325
+ return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);
6326
+ };
6327
+ /**
6328
+ * _sanitizeAttributes
6329
+ *
6330
+ * @protect attributes
6331
+ * @protect nodeName
6332
+ * @protect removeAttribute
6333
+ * @protect setAttribute
6334
+ *
6335
+ * @param currentNode to sanitize
6336
+ */
6337
+ const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
6338
+ /* Execute a hook if present */
6339
+ _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
6340
+ const {
6341
+ attributes
6342
+ } = currentNode;
6343
+ /* Check if we have attributes; if not we might have a text node */
6344
+ if (!attributes || _isClobbered(currentNode)) {
6345
+ return;
6346
+ }
6347
+ const hookEvent = {
6348
+ attrName: '',
6349
+ attrValue: '',
6350
+ keepAttr: true,
6351
+ allowedAttributes: ALLOWED_ATTR,
6352
+ forceKeepAttr: undefined
6353
+ };
6354
+ let l = attributes.length;
6355
+ /* Go backwards over all attributes; safely remove bad ones */
6356
+ while (l--) {
6357
+ const attr = attributes[l];
6358
+ const {
6359
+ name,
6360
+ namespaceURI,
6361
+ value: attrValue
6362
+ } = attr;
6363
+ const lcName = transformCaseFunc(name);
6364
+ const initValue = attrValue;
6365
+ let value = name === 'value' ? initValue : stringTrim(initValue);
6366
+ /* Execute a hook if present */
6367
+ hookEvent.attrName = lcName;
6368
+ hookEvent.attrValue = value;
6369
+ hookEvent.keepAttr = true;
6370
+ hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
6371
+ _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
6372
+ value = hookEvent.attrValue;
6373
+ /* Full DOM Clobbering protection via namespace isolation,
6374
+ * Prefix id and name attributes with `user-content-`
6375
+ */
6376
+ if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {
6377
+ // Remove the attribute with this value
6378
+ _removeAttribute(name, currentNode);
6379
+ // Prefix the value and later re-create the attribute with the sanitized value
6380
+ value = SANITIZE_NAMED_PROPS_PREFIX + value;
6381
+ }
6382
+ /* Work around a security issue with comments inside attributes */
6383
+ if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
6384
+ _removeAttribute(name, currentNode);
6385
+ continue;
6386
+ }
6387
+ /* Did the hooks approve of the attribute? */
6388
+ if (hookEvent.forceKeepAttr) {
6389
+ continue;
6390
+ }
6391
+ /* Did the hooks approve of the attribute? */
6392
+ if (!hookEvent.keepAttr) {
6393
+ _removeAttribute(name, currentNode);
6394
+ continue;
6395
+ }
6396
+ /* Work around a security issue in jQuery 3.0 */
6397
+ if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
6398
+ _removeAttribute(name, currentNode);
6399
+ continue;
6400
+ }
6401
+ /* Sanitize attribute content to be template-safe */
6402
+ if (SAFE_FOR_TEMPLATES) {
6403
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
6404
+ value = stringReplace(value, expr, ' ');
6405
+ });
6406
+ }
6407
+ /* Is `value` valid for this attribute? */
6408
+ const lcTag = transformCaseFunc(currentNode.nodeName);
6409
+ if (!_isValidAttribute(lcTag, lcName, value)) {
6410
+ _removeAttribute(name, currentNode);
6411
+ continue;
6412
+ }
6413
+ /* Handle attributes that require Trusted Types */
6414
+ if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
6415
+ if (namespaceURI) ; else {
6416
+ switch (trustedTypes.getAttributeType(lcTag, lcName)) {
6417
+ case 'TrustedHTML':
6418
+ {
6419
+ value = trustedTypesPolicy.createHTML(value);
6420
+ break;
6421
+ }
6422
+ case 'TrustedScriptURL':
6423
+ {
6424
+ value = trustedTypesPolicy.createScriptURL(value);
6425
+ break;
6426
+ }
6427
+ }
6428
+ }
6429
+ }
6430
+ /* Handle invalid data-* attribute set by try-catching it */
6431
+ if (value !== initValue) {
6432
+ try {
6433
+ if (namespaceURI) {
6434
+ currentNode.setAttributeNS(namespaceURI, name, value);
6435
+ } else {
6436
+ /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
6437
+ currentNode.setAttribute(name, value);
6438
+ }
6439
+ if (_isClobbered(currentNode)) {
6440
+ _forceRemove(currentNode);
6441
+ } else {
6442
+ arrayPop(DOMPurify.removed);
6443
+ }
6444
+ } catch (_) {
6445
+ _removeAttribute(name, currentNode);
6446
+ }
6447
+ }
6448
+ }
6449
+ /* Execute a hook if present */
6450
+ _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
6451
+ };
6452
+ /**
6453
+ * _sanitizeShadowDOM
6454
+ *
6455
+ * @param fragment to iterate over recursively
6456
+ */
6457
+ const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
6458
+ let shadowNode = null;
6459
+ const shadowIterator = _createNodeIterator(fragment);
6460
+ /* Execute a hook if present */
6461
+ _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
6462
+ while (shadowNode = shadowIterator.nextNode()) {
6463
+ /* Execute a hook if present */
6464
+ _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
6465
+ /* Sanitize tags and elements */
6466
+ _sanitizeElements(shadowNode);
6467
+ /* Check attributes next */
6468
+ _sanitizeAttributes(shadowNode);
6469
+ /* Deep shadow DOM detected */
6470
+ if (shadowNode.content instanceof DocumentFragment) {
6471
+ _sanitizeShadowDOM(shadowNode.content);
6472
+ }
6473
+ }
6474
+ /* Execute a hook if present */
6475
+ _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
6476
+ };
6477
+ // eslint-disable-next-line complexity
6478
+ DOMPurify.sanitize = function (dirty) {
6479
+ let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6480
+ let body = null;
6481
+ let importedNode = null;
6482
+ let currentNode = null;
6483
+ let returnNode = null;
6484
+ /* Make sure we have a string to sanitize.
6485
+ DO NOT return early, as this will return the wrong type if
6486
+ the user has requested a DOM object rather than a string */
6487
+ IS_EMPTY_INPUT = !dirty;
6488
+ if (IS_EMPTY_INPUT) {
6489
+ dirty = '<!-->';
6490
+ }
6491
+ /* Stringify, in case dirty is an object */
6492
+ if (typeof dirty !== 'string' && !_isNode(dirty)) {
6493
+ if (typeof dirty.toString === 'function') {
6494
+ dirty = dirty.toString();
6495
+ if (typeof dirty !== 'string') {
6496
+ throw typeErrorCreate('dirty is not a string, aborting');
6497
+ }
6498
+ } else {
6499
+ throw typeErrorCreate('toString is not a function');
6500
+ }
6501
+ }
6502
+ /* Return dirty HTML if DOMPurify cannot run */
6503
+ if (!DOMPurify.isSupported) {
6504
+ return dirty;
6505
+ }
6506
+ /* Assign config vars */
6507
+ if (!SET_CONFIG) {
6508
+ _parseConfig(cfg);
6509
+ }
6510
+ /* Clean up removed elements */
6511
+ DOMPurify.removed = [];
6512
+ /* Check if dirty is correctly typed for IN_PLACE */
6513
+ if (typeof dirty === 'string') {
6514
+ IN_PLACE = false;
6515
+ }
6516
+ if (IN_PLACE) {
6517
+ /* Do some early pre-sanitization to avoid unsafe root nodes */
6518
+ if (dirty.nodeName) {
6519
+ const tagName = transformCaseFunc(dirty.nodeName);
6520
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
6521
+ throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');
6522
+ }
6523
+ }
6524
+ } else if (dirty instanceof Node) {
6525
+ /* If dirty is a DOM element, append to an empty document to avoid
6526
+ elements being stripped by the parser */
6527
+ body = _initDocument('<!---->');
6528
+ importedNode = body.ownerDocument.importNode(dirty, true);
6529
+ if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {
6530
+ /* Node is already a body, use as is */
6531
+ body = importedNode;
6532
+ } else if (importedNode.nodeName === 'HTML') {
6533
+ body = importedNode;
6534
+ } else {
6535
+ // eslint-disable-next-line unicorn/prefer-dom-node-append
6536
+ body.appendChild(importedNode);
6537
+ }
6538
+ } else {
6539
+ /* Exit directly if we have nothing to do */
6540
+ if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&
6541
+ // eslint-disable-next-line unicorn/prefer-includes
6542
+ dirty.indexOf('<') === -1) {
6543
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
6544
+ }
6545
+ /* Initialize the document to work on */
6546
+ body = _initDocument(dirty);
6547
+ /* Check we have a DOM node from the data */
6548
+ if (!body) {
6549
+ return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';
6550
+ }
6551
+ }
6552
+ /* Remove first element node (ours) if FORCE_BODY is set */
6553
+ if (body && FORCE_BODY) {
6554
+ _forceRemove(body.firstChild);
6555
+ }
6556
+ /* Get node iterator */
6557
+ const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
6558
+ /* Now start iterating over the created document */
6559
+ while (currentNode = nodeIterator.nextNode()) {
6560
+ /* Sanitize tags and elements */
6561
+ _sanitizeElements(currentNode);
6562
+ /* Check attributes next */
6563
+ _sanitizeAttributes(currentNode);
6564
+ /* Shadow DOM detected, sanitize it */
6565
+ if (currentNode.content instanceof DocumentFragment) {
6566
+ _sanitizeShadowDOM(currentNode.content);
6567
+ }
6568
+ }
6569
+ /* If we sanitized `dirty` in-place, return it. */
6570
+ if (IN_PLACE) {
6571
+ return dirty;
6572
+ }
6573
+ /* Return sanitized string or DOM */
6574
+ if (RETURN_DOM) {
6575
+ if (RETURN_DOM_FRAGMENT) {
6576
+ returnNode = createDocumentFragment.call(body.ownerDocument);
6577
+ while (body.firstChild) {
6578
+ // eslint-disable-next-line unicorn/prefer-dom-node-append
6579
+ returnNode.appendChild(body.firstChild);
6580
+ }
6581
+ } else {
6582
+ returnNode = body;
6583
+ }
6584
+ if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {
6585
+ /*
6586
+ AdoptNode() is not used because internal state is not reset
6587
+ (e.g. the past names map of a HTMLFormElement), this is safe
6588
+ in theory but we would rather not risk another attack vector.
6589
+ The state that is cloned by importNode() is explicitly defined
6590
+ by the specs.
6591
+ */
6592
+ returnNode = importNode.call(originalDocument, returnNode, true);
6593
+ }
6594
+ return returnNode;
6595
+ }
6596
+ let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
6597
+ /* Serialize doctype if allowed */
6598
+ if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
6599
+ serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\n' + serializedHTML;
6600
+ }
6601
+ /* Sanitize final string template-safe */
6602
+ if (SAFE_FOR_TEMPLATES) {
6603
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
6604
+ serializedHTML = stringReplace(serializedHTML, expr, ' ');
6605
+ });
6606
+ }
6607
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
6608
+ };
6609
+ DOMPurify.setConfig = function () {
6610
+ let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6611
+ _parseConfig(cfg);
6612
+ SET_CONFIG = true;
6613
+ };
6614
+ DOMPurify.clearConfig = function () {
6615
+ CONFIG = null;
6616
+ SET_CONFIG = false;
6617
+ };
6618
+ DOMPurify.isValidAttribute = function (tag, attr, value) {
6619
+ /* Initialize shared config vars if necessary. */
6620
+ if (!CONFIG) {
6621
+ _parseConfig({});
6622
+ }
6623
+ const lcTag = transformCaseFunc(tag);
6624
+ const lcName = transformCaseFunc(attr);
6625
+ return _isValidAttribute(lcTag, lcName, value);
6626
+ };
6627
+ DOMPurify.addHook = function (entryPoint, hookFunction) {
6628
+ if (typeof hookFunction !== 'function') {
6629
+ return;
6630
+ }
6631
+ arrayPush(hooks[entryPoint], hookFunction);
6632
+ };
6633
+ DOMPurify.removeHook = function (entryPoint, hookFunction) {
6634
+ if (hookFunction !== undefined) {
6635
+ const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);
6636
+ return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];
6637
+ }
6638
+ return arrayPop(hooks[entryPoint]);
6639
+ };
6640
+ DOMPurify.removeHooks = function (entryPoint) {
6641
+ hooks[entryPoint] = [];
6642
+ };
6643
+ DOMPurify.removeAllHooks = function () {
6644
+ hooks = _createHooksMap();
6645
+ };
6646
+ return DOMPurify;
6647
+ }
6648
+ var purify = createDOMPurify();
6649
+
6650
+ const pdsComboboxCss = ":host{display:block}.pds-combobox{position:relative}.pds-combobox__label{display:block;font-size:0.95rem;-webkit-margin-after:var(--pine-dimension-150);margin-block-end:var(--pine-dimension-150)}.pds-combobox__input{background:var(--pine-color-background-container);border:1px solid var(--pine-color-border);border-radius:var(--pine-dimension-125);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-active);-ms-flex:1;flex:1;font:var(--pine-typography-body-medium);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-combobox__input:hover:not(:disabled){border-color:var(--pine-color-border-hover)}.pds-combobox__input:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-combobox__input:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-combobox__input:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-combobox__input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__input::placeholder{color:var(--pine-color-text-placeholder)}.pds-combobox__listbox{background:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);list-style:none;margin:0;min-width:220px;overflow-y:auto;padding:var(--pine-dimension-xs);position:absolute;z-index:1000}.pds-combobox__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;padding:var(--pine-dimension-xs) var(--pine-dimension-sm);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-combobox__option[aria-selected=true]{background:var(--pine-color-grey-150)}.pds-combobox__option .pds-combobox__option--layout .pds-combobox__option-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__option:last-child{-webkit-margin-after:0;margin-block-end:0}.pds-combobox__option--highlighted,.pds-combobox__option[selected],.pds-combobox__option--selected{background:var(--pine-color-grey-150)}.pds-combobox__option-check{color:currentColor;font-size:var(--pine-dimension-150);-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger{-ms-flex-align:center;align-items:center;background:var(--color-background-default, var(--pine-color-secondary));border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--color-text-default, #ffffff);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);-ms-flex-pack:justify;justify-content:space-between;min-height:var(--pine-dimension-450);outline:none;padding:0 var(--pine-dimension-sm);-webkit-transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, background 0.15s, -webkit-box-shadow 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;transition:border-color 0.15s, box-shadow 0.15s, background 0.15s, -webkit-box-shadow 0.15s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pds-combobox__button-trigger .pds-combobox__button-trigger-layout-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.pds-combobox__button-trigger .trigger-content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:100%}.pds-combobox__button-trigger:focus-visible{border-color:var(--color-border-focus, var(--pine-color-border));-webkit-box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring));box-shadow:0 0 0 2px var(--color-outline, var(--pine-color-focus-ring))}.pds-combobox__button-trigger:hover{background:var(--color-background-hover, var(--pine-color-secondary-hover));border-color:var(--color-border-hover, var(--pine-color-border-hover))}.pds-combobox__button-trigger[aria-disabled=true],.pds-combobox__button-trigger:disabled{background:var(--color-background-disabled, var(--pine-color-secondary-disabled));border-color:var(--color-border-disabled, var(--pine-color-border-disabled));color:var(--color-text-disabled, var(--pine-color-text-secondary-disabled));cursor:not-allowed;opacity:0.6}.pds-combobox__button-trigger-label{color:inherit;-ms-flex:1 1 auto;flex:1 1 auto;text-align:start}.pds-combobox__button-trigger-chevron{color:currentColor;-webkit-margin-start:var(--pine-dimension-150);margin-inline-start:var(--pine-dimension-150)}.pds-combobox__button-trigger--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-border-disabled:var(--pine-color-primary-disabled);--color-border-focus:var(--pine-color-primary);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-border-disabled:var(--pine-color-accent-disabled);--color-border-focus:var(--pine-color-accent);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--secondary{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-default:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring)}.pds-combobox__button-trigger--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-border-disabled:var(--pine-color-danger-disabled);--color-border-focus:var(--pine-color-danger);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-layout]{border-radius:var(--pine-dimension-125);padding-block:var(--pine-dimension-xs)}";
6651
+
6652
+ /**
6653
+ * @slot option - Option elements for the combobox dropdown
6654
+ * @slot trigger-content - Custom content for the button trigger when customTriggerContent is true
6655
+ */
6656
+ class PdsCombobox {
6657
+ constructor(hostRef) {
6658
+ registerInstance(this, hostRef);
6659
+ this.pdsComboboxChange = createEvent(this, "pdsComboboxChange");
6660
+ /**
6661
+ * Enable custom layout content for options. Options with data-layout attribute will render their HTML content.
6662
+ * ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.
6663
+ * @default false
6664
+ */
6665
+ this.customOptionLayouts = false;
6666
+ /**
6667
+ * Enable custom layout content for the button trigger via the trigger-content slot.
6668
+ * When true, uses slot content for initial state but updates dynamically with selected option layout.
6669
+ * ⚠️ Security Warning: Only use with trusted content. Basic XSS protection is applied, but avoid user-generated content.
6670
+ * @default false
6671
+ */
6672
+ this.customTriggerContent = false;
6673
+ /**
6674
+ * If true, the combobox is disabled.
6675
+ */
6676
+ this.disabled = false;
6677
+ /**
6678
+ * Placement of the dropdown relative to the trigger.
6679
+ * @default 'bottom-start'
6680
+ */
6681
+ this.dropdownPlacement = 'bottom-start';
6682
+ /**
6683
+ * Width of the dropdown. Any valid CSS width value.
6684
+ * @default '236px'
6685
+ */
6686
+ this.dropdownWidth = '236px';
6687
+ /**
6688
+ * Visually hides the label text for instances where only the combobox should be displayed.
6689
+ * Label remains accessible to assistive technology such as screen readers.
6690
+ */
6691
+ this.hideLabel = false;
6692
+ /**
6693
+ * Determines the combobox mode: 'filter' (filter options as you type) or 'select-only' (show all options).
6694
+ * @default 'filter'
6695
+ */
6696
+ this.mode = 'filter';
6697
+ /**
6698
+ * Determines the combobox trigger: 'input' (editable input) or 'button' (button-like, non-editable).
6699
+ * @default 'input'
6700
+ */
6701
+ this.trigger = 'input';
6702
+ /**
6703
+ * Width of the trigger (button or input). Any valid CSS width value.
6704
+ * @default 'fit-content'
6705
+ */
6706
+ this.triggerWidth = 'fit-content';
6707
+ /**
6708
+ * The visual variant for the button trigger. Matches Pine button variants.
6709
+ * @default 'secondary'
6710
+ */
6711
+ this.triggerVariant = 'secondary';
6712
+ /**
6713
+ * The value of the combobox input.
6714
+ */
6715
+ this.value = '';
6716
+ /**
6717
+ * Internal state for filtered options
6718
+ */
6719
+ this.filteredOptions = [];
6720
+ /**
6721
+ * Internal state for the currently highlighted option index
6722
+ */
6723
+ this.highlightedIndex = -1;
6724
+ /**
6725
+ * Internal state for dropdown open/close
6726
+ */
6727
+ this.isOpen = false;
6728
+ /**
6729
+ * Internal state for the currently selected option
6730
+ */
6731
+ this.selectedOption = null;
6732
+ /**
6733
+ * Internal state for the sanitized layout content of the selected option
6734
+ */
6735
+ this.selectedOptionLayoutContent = '';
6736
+ this.optionEls = [];
6737
+ this.handleInput = (e) => {
6738
+ const target = e.target;
6739
+ this.value = target.value;
6740
+ this.isOpen = true;
6741
+ this.filterOptions();
6742
+ setTimeout(() => this.openDropdownPositioning(), 0);
6743
+ };
6744
+ this.handleFocus = () => {
6745
+ this.isOpen = true;
6746
+ this.filterOptions();
6747
+ setTimeout(() => this.openDropdownPositioning(), 0);
6748
+ };
6749
+ this.handleKeyDown = (e) => {
6750
+ if (!this.isOpen && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
6751
+ this.isOpen = true;
6752
+ return;
6753
+ }
6754
+ switch (e.key) {
6755
+ case 'ArrowDown':
6756
+ this.highlightedIndex = Math.min(this.highlightedIndex + 1, this.filteredOptions.length - 1);
6757
+ break;
6758
+ case 'ArrowUp':
6759
+ this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);
6760
+ break;
6761
+ case 'Enter':
6762
+ if (this.isOpen && this.highlightedIndex >= 0 && this.highlightedIndex < this.filteredOptions.length) {
6763
+ this.handleOptionClick(this.filteredOptions[this.highlightedIndex]);
6764
+ }
6765
+ break;
6766
+ case 'Escape':
6767
+ this.isOpen = false;
6768
+ break;
6769
+ }
6770
+ };
6771
+ // Event handler for option click
6772
+ this.onOptionClick = (event) => {
6773
+ const idx = Number(event.currentTarget.getAttribute('data-option-index'));
6774
+ const option = this.filteredOptions[idx];
6775
+ this.handleOptionClick(option);
6776
+ };
6777
+ // Event handler for mouse enter on option
6778
+ this.onOptionMouseEnter = (event) => {
6779
+ const idx = Number(event.currentTarget.getAttribute('data-option-index'));
6780
+ this.highlightedIndex = idx;
6781
+ };
6782
+ // Prevent blur on mousedown
6783
+ this.onOptionMouseDown = (event) => {
6784
+ event.preventDefault();
6785
+ };
6786
+ // Handler for button trigger click
6787
+ this.onButtonTriggerClick = () => {
6788
+ this.isOpen = !this.isOpen;
6789
+ if (this.isOpen)
6790
+ setTimeout(() => this.openDropdownPositioning(), 0);
6791
+ };
6792
+ // Handler for button trigger keyboard events
6793
+ this.onButtonTriggerKeyDown = (e) => {
6794
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
6795
+ e.preventDefault();
6796
+ this.isOpen = true;
6797
+ this.highlightedIndex = 0;
6798
+ setTimeout(() => this.openDropdownPositioning(), 0);
6799
+ }
6800
+ else if (e.key === 'Escape') {
6801
+ this.isOpen = false;
6802
+ }
6803
+ };
6804
+ // Close dropdown when focus leaves the combobox
6805
+ this.onComboboxFocusOut = (event) => {
6806
+ const relatedTarget = event.relatedTarget;
6807
+ if (!this.el.contains(relatedTarget)) {
6808
+ this.isOpen = false;
6809
+ // If there's a selected option but the input value doesn't match, restore the selected option's value
6810
+ if (this.selectedOption && this.value !== this.getOptionLabel(this.selectedOption)) {
6811
+ this.value = this.getOptionLabel(this.selectedOption);
6812
+ }
6813
+ }
6814
+ };
6815
+ }
6816
+ componentWillLoad() {
6817
+ this.updateOptions();
6818
+ }
6819
+ handleValueChange() {
6820
+ this.filterOptions();
6821
+ }
6822
+ handleSelectedOptionChange() {
6823
+ // Update the layout content when selected option changes
6824
+ this.selectedOptionLayoutContent = this.selectedOption && this.isOptionLayout(this.selectedOption)
6825
+ ? this.getOptionLayoutContent(this.selectedOption)
6826
+ : '';
6827
+ }
6828
+ updateOptions() {
6829
+ var _a;
6830
+ // Get all <option> elements from the slot
6831
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="option"], slot:not([name])');
6832
+ if (slot) {
6833
+ this.optionEls = slot.assignedElements({ flatten: true })
6834
+ .filter(el => el.tagName === 'OPTION');
6835
+ // Set initial selected option if one exists (only check DOM on initialization)
6836
+ if (!this.selectedOption) {
6837
+ const initialSelected = this.optionEls.find(opt => opt.hasAttribute('selected')) || null;
6838
+ this.setSelectedOption(initialSelected);
6839
+ }
6840
+ this.filterOptions();
6841
+ }
6842
+ }
6843
+ // Helper method to get option label, falling back to text content if no label attribute
6844
+ getOptionLabel(option) {
6845
+ return option.label || option.textContent || '';
6846
+ }
6847
+ // Helper method to get option layout content
6848
+ getOptionLayoutContent(option) {
6849
+ return this.sanitizeHtml(option.innerHTML || '');
6850
+ }
6851
+ // HTML sanitization using DOMPurify library to prevent XSS attacks
6852
+ sanitizeHtml(html) {
6853
+ // Configure DOMPurify to allow Pine Design System components while removing dangerous content
6854
+ const config = {
6855
+ // Allow all custom elements (including pds-* components)
6856
+ CUSTOM_ELEMENT_HANDLING: {
6857
+ tagNameCheck: (tagName) => {
6858
+ // Allow all pds-* tags and standard safe HTML tags
6859
+ return tagName.startsWith('pds-') || /^[a-z]+$/i.test(tagName);
6860
+ },
6861
+ attributeNameCheck: (attr) => {
6862
+ // Allow standard HTML attributes, data-* attributes, and Pine component attributes
6863
+ return /^[a-zA-Z][a-zA-Z0-9-]*$/.test(attr) || attr.startsWith('data-') || attr.startsWith('aria-');
6864
+ },
6865
+ allowCustomizedBuiltInElements: false,
6866
+ },
6867
+ // Allow standard safe attributes
6868
+ ALLOW_DATA_ATTR: true,
6869
+ ALLOW_ARIA_ATTR: true,
6870
+ // Specifically forbid dangerous tags
6871
+ FORBID_TAGS: ['script', 'iframe', 'object', 'embed', 'form', 'input', 'textarea', 'select', 'button', 'style'],
6872
+ // Forbid all event handler attributes
6873
+ FORBID_ATTR: [
6874
+ 'onerror', 'onload', 'onclick', 'onmouseover', 'onmouseout', 'onmousemove',
6875
+ 'onfocus', 'onblur', 'onchange', 'onsubmit', 'onkeydown', 'onkeyup', 'onkeypress',
6876
+ 'onmousedown', 'onmouseup', 'ondblclick', 'oncontextmenu', 'onscroll'
6877
+ ],
6878
+ // Safe protocol whitelist
6879
+ ALLOWED_URI_REGEXP: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,
6880
+ };
6881
+ return purify.sanitize(html, config);
6882
+ }
6883
+ // Helper method to check if option should render as layout
6884
+ isOptionLayout(option) {
6885
+ return this.customOptionLayouts && option.hasAttribute('data-layout');
6886
+ }
6887
+ // Helper method to check if option is selected (single source of truth)
6888
+ isOptionSelected(option) {
6889
+ return this.selectedOption === option;
6890
+ }
6891
+ // Helper method to set selected option (centralized state management)
6892
+ setSelectedOption(option) {
6893
+ this.selectedOption = option;
6894
+ }
6895
+ filterOptions() {
6896
+ if (this.mode === 'select-only') {
6897
+ this.filteredOptions = this.optionEls;
6898
+ }
6899
+ else {
6900
+ const val = this.value.toLowerCase();
6901
+ this.filteredOptions = this.optionEls.filter(option => {
6902
+ // For layout options, search both text content and data-search-text attribute
6903
+ if (this.isOptionLayout(option)) {
6904
+ const searchText = option.getAttribute('data-search-text') || option.textContent || '';
6905
+ return searchText.toLowerCase().includes(val);
6906
+ }
6907
+ return this.getOptionLabel(option).toLowerCase().includes(val);
6908
+ });
6909
+ }
6910
+ this.highlightedIndex = -1;
6911
+ }
6912
+ openDropdownPositioning() {
6913
+ if (this.triggerEl && this.listboxEl) {
6914
+ // Apply width and max-height BEFORE positioning calculations
6915
+ this.listboxEl.style.width = this.dropdownWidth;
6916
+ if (this.maxHeight) {
6917
+ this.listboxEl.style.maxHeight = this.maxHeight;
6918
+ this.listboxEl.style.overflowY = 'auto';
6919
+ }
6920
+ computePosition(this.triggerEl, this.listboxEl, {
6921
+ placement: this.dropdownPlacement,
6922
+ strategy: 'absolute',
6923
+ middleware: [offset(12), flip(), shift({ padding: 5 })],
6924
+ }).then(({ x, y }) => {
6925
+ Object.assign(this.listboxEl.style, {
6926
+ left: `${x}px`,
6927
+ top: `${y}px`,
6928
+ position: 'absolute',
6929
+ zIndex: 1000,
6930
+ });
6931
+ });
6932
+ }
6933
+ }
6934
+ /**
6935
+ * Sets focus on the native input element.
6936
+ */
6937
+ async setFocus() {
6938
+ var _a;
6939
+ (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
6940
+ }
6941
+ /**
6942
+ * Gets the value of the currently selected option.
6943
+ */
6944
+ async getSelectedValue() {
6945
+ return this.selectedOption ? this.selectedOption.value : null;
6946
+ }
6947
+ // Get the label of the selected option
6948
+ get selectedLabel() {
6949
+ return this.selectedOption ? this.getOptionLabel(this.selectedOption) : '';
6950
+ }
6951
+ // Get the layout content of the selected option for button trigger
6952
+ get selectedLayoutContent() {
6953
+ return this.selectedOptionLayoutContent;
6954
+ }
6955
+ // Check if selected option has layout
6956
+ get selectedHasLayout() {
6957
+ return this.selectedOption ? this.isOptionLayout(this.selectedOption) : false;
6958
+ }
6959
+ handleOptionClick(option) {
6960
+ // Update reactive state - single source of truth
6961
+ this.setSelectedOption(option);
6962
+ this.value = this.getOptionLabel(option);
6963
+ this.isOpen = false;
6964
+ this.pdsComboboxChange.emit({ value: option.value });
6965
+ }
6966
+ renderDropdown() {
6967
+ if (!this.isOpen || this.filteredOptions.length === 0)
6968
+ return null;
6969
+ return (hAsync("ul", { class: "pds-combobox__listbox", role: "listbox", id: "pds-combobox-listbox", ref: el => (this.listboxEl = el) }, this.filteredOptions.map((option, idx) => {
6970
+ const isSelected = this.isOptionSelected(option);
6971
+ const isHighlighted = this.highlightedIndex === idx;
6972
+ const isLayout = this.isOptionLayout(option);
6973
+ return (hAsync("li", { key: option.value, id: `pds-combobox-option-${idx}`, role: "option", "aria-selected": isSelected ? 'true' : 'false', class: {
6974
+ 'pds-combobox__option': true,
6975
+ 'pds-combobox__option--highlighted': isHighlighted,
6976
+ 'pds-combobox__option--layout': isLayout,
6977
+ }, "data-option-index": idx, onMouseDown: this.onOptionMouseDown, onClick: this.onOptionClick, onMouseEnter: this.onOptionMouseEnter }, isLayout ? (hAsync("pds-box", { class: "pds-combobox__option-layout-wrapper", innerHTML: this.getOptionLayoutContent(option) })) : (this.getOptionLabel(option)), isSelected && hAsync("pds-icon", { icon: "check", size: "regular", class: "pds-combobox__option-check" })));
6978
+ })));
6979
+ }
6980
+ // Helper method to render the caret icon
6981
+ renderCaretIcon() {
6982
+ return hAsync("pds-icon", { icon: "caret-down", "aria-hidden": "true", "aria-label": "dropdown indicator", class: "pds-combobox__button-trigger-chevron" });
6983
+ }
6984
+ // Helper method to render layout content
6985
+ renderLayoutContent() {
6986
+ return (hAsync("div", { class: "pds-combobox__button-trigger-layout-wrapper", innerHTML: this.selectedLayoutContent }));
6987
+ }
6988
+ // Helper method to render default text content
6989
+ renderDefaultContent() {
6990
+ return (hAsync("span", { class: "pds-combobox__button-trigger-label" }, this.selectedLabel || this.placeholder));
6991
+ }
6992
+ // Helper method to check if we should show layout content
6993
+ shouldShowLayoutContent() {
6994
+ return this.selectedHasLayout && !!this.selectedLayoutContent;
6995
+ }
6996
+ renderButtonTriggerContent() {
6997
+ // Case 1: Custom trigger content with layout priority
6998
+ if (this.customTriggerContent) {
6999
+ if (this.shouldShowLayoutContent()) {
7000
+ return [this.renderLayoutContent(), this.renderCaretIcon()];
7001
+ }
7002
+ // Fall back to slot content when no layout is available
7003
+ return hAsync("slot", { name: "trigger-content" });
7004
+ }
7005
+ // Case 2: Standard mode with layout content
7006
+ if (this.shouldShowLayoutContent()) {
7007
+ return [this.renderLayoutContent(), this.renderCaretIcon()];
7008
+ }
7009
+ // Case 3: Standard mode with default text content
7010
+ return [this.renderDefaultContent(), this.renderCaretIcon()];
7011
+ }
7012
+ render() {
7013
+ const triggerClass = `pds-combobox__button-trigger pds-combobox__button-trigger--${this.triggerVariant}`;
7014
+ return (hAsync(Host, { key: 'ecc1f18dcb9869055af047446364afd66d13e5f6' }, hAsync("div", { key: 'caf80cf07647666e6ea21bc7e8fa7e944a98f3b5', class: "pds-combobox", tabIndex: -1, onFocusout: this.onComboboxFocusOut }, this.label && (hAsync("label", { key: '08d38b21ce3c2d78a6a405b81e4291d2f5e61aed', htmlFor: this.componentId, class: "pds-combobox__label" }, hAsync("span", { key: '58a3986e2656522377fce50dfad73a0960e8a9db', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), this.trigger === 'input' ? (hAsync("input", { ref: el => {
7015
+ this.inputEl = el;
7016
+ this.triggerEl = el;
7017
+ }, class: "pds-combobox__input", style: { width: this.triggerWidth }, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-controls": "pds-combobox-listbox", "aria-activedescendant": this.highlightedIndex >= 0 ? `pds-combobox-option-${this.highlightedIndex}` : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, autocomplete: "off", part: "input" })) : (hAsync("div", { class: triggerClass, style: { width: this.triggerWidth }, role: "combobox", "aria-haspopup": "listbox", "aria-controls": "pds-combobox-listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.hideLabel ? this.label : undefined, id: this.componentId, tabIndex: 0, onClick: this.onButtonTriggerClick, "data-layout": this.customTriggerContent, onKeyDown: this.onButtonTriggerKeyDown, ref: el => (this.triggerEl = el), part: "button-trigger" }, this.renderButtonTriggerContent())), hAsync("div", { key: 'a91eb5b7998c9274de0f7e7e5184def30d23ad06', style: { display: 'none' } }, hAsync("slot", { key: '40dbc40a9286b8caade78bfb70af366193bb08f2', onSlotchange: () => this.updateOptions() })), this.renderDropdown())));
7018
+ }
7019
+ get el() { return getElement(this); }
7020
+ static get watchers() { return {
7021
+ "value": ["handleValueChange"],
7022
+ "selectedOption": ["handleSelectedOptionChange"]
7023
+ }; }
7024
+ static get style() { return pdsComboboxCss; }
7025
+ static get cmpMeta() { return {
7026
+ "$flags$": 9,
7027
+ "$tagName$": "pds-combobox",
7028
+ "$members$": {
7029
+ "componentId": [1, "component-id"],
7030
+ "customOptionLayouts": [4, "custom-option-layouts"],
7031
+ "customTriggerContent": [4, "custom-trigger-content"],
7032
+ "disabled": [4],
7033
+ "dropdownPlacement": [1, "dropdown-placement"],
7034
+ "dropdownWidth": [1, "dropdown-width"],
7035
+ "hideLabel": [4, "hide-label"],
7036
+ "label": [1],
7037
+ "maxHeight": [1, "max-height"],
7038
+ "mode": [1],
7039
+ "placeholder": [1],
7040
+ "trigger": [1],
7041
+ "triggerWidth": [1, "trigger-width"],
7042
+ "triggerVariant": [1, "trigger-variant"],
7043
+ "value": [1025],
7044
+ "filteredOptions": [32],
7045
+ "highlightedIndex": [32],
7046
+ "isOpen": [32],
7047
+ "selectedOption": [32],
7048
+ "selectedOptionLayoutContent": [32],
7049
+ "setFocus": [64],
7050
+ "getSelectedValue": [64]
7051
+ },
7052
+ "$listeners$": undefined,
7053
+ "$lazyBundleId$": "-",
7054
+ "$attrsToReflect$": []
7055
+ }; }
7056
+ }
7057
+
7058
+ const pdsCopytextCss = ":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-grey-200)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--pine-color-secondary);border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button){-webkit-padding-end:calc(var(--pine-dimension-xs) / 2);padding-inline-end:calc(var(--pine-dimension-xs) / 2)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered)::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";
7059
+
7060
+ class PdsCopytext {
7061
+ constructor(hostRef) {
7062
+ registerInstance(this, hostRef);
7063
+ this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick");
7064
+ /**
7065
+ * Determines whether `copytext` should have a visible border.
7066
+ * @defaultValue true
7067
+ */
7068
+ this.border = true;
7069
+ /**
7070
+ * Determines whether `copytext` should expand to the full width of its container.
7071
+ * @defaultValue false
7072
+ */
7073
+ this.fullWidth = false;
7074
+ /**
7075
+ * Determines whether the `value` should truncate and display with an ellipsis.
7076
+ * @defaultValue false
7077
+ */
7078
+ this.truncate = false;
7079
+ this.copyToClipboard = async (value) => {
7080
+ try {
7081
+ if (typeof navigator.clipboard !== 'undefined') {
7082
+ await navigator.clipboard.writeText(value);
7083
+ this.pdsCopyTextClick.emit('Copied to clipboard');
7084
+ }
7085
+ }
7086
+ catch (err) {
7087
+ this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);
7088
+ }
7089
+ };
7090
+ this.handleClick = () => {
7091
+ this.copyToClipboard(this.value);
7092
+ };
7093
+ }
7094
+ classNames() {
7095
+ const classNames = ['pds-copytext'];
7096
+ if (this.border) {
7097
+ classNames.push('pds-copytext--bordered');
7098
+ }
7099
+ if (this.fullWidth) {
7100
+ classNames.push('pds-copytext--full-width');
7101
+ }
7102
+ if (this.truncate) {
7103
+ classNames.push('pds-copytext--truncated');
7104
+ }
7105
+ return classNames.join(' ');
7106
+ }
7107
+ render() {
7108
+ return (hAsync(Host, { key: 'fc3a4bb1d6aad33a1a3699dd50a48d2f00e26a47', class: this.classNames(), id: this.componentId }, hAsync("pds-button", { key: '7c555a209f7f8d6c82f909c726d32c1985f52e36', type: "button", variant: "unstyled", onClick: this.handleClick }, hAsync("span", { key: '63e6e5b84be71c1943cb21ec2a5a89af40658577' }, this.value), hAsync("pds-icon", { key: '49059150540623cad1036c1476a39731d1caed79', icon: copy, size: "16px" }))));
7109
+ }
7110
+ static get style() { return pdsCopytextCss; }
7111
+ static get cmpMeta() { return {
7112
+ "$flags$": 9,
7113
+ "$tagName$": "pds-copytext",
7114
+ "$members$": {
7115
+ "border": [516],
7116
+ "componentId": [1, "component-id"],
7117
+ "fullWidth": [4, "full-width"],
7118
+ "truncate": [4],
7119
+ "value": [1]
7120
+ },
7121
+ "$listeners$": undefined,
7122
+ "$lazyBundleId$": "-",
7123
+ "$attrsToReflect$": [["border", "border"]]
7124
+ }; }
5347
7125
  }
5348
7126
 
5349
- const platform = {
5350
- convertOffsetParentRelativeRectToViewportRelativeRect,
5351
- getDocumentElement,
5352
- getClippingRect,
5353
- getOffsetParent,
5354
- getElementRects,
5355
- getClientRects,
5356
- getDimensions,
5357
- getScale,
5358
- isElement,
5359
- isRTL: isRTL$1
5360
- };
5361
-
5362
- /**
5363
- * Modifies the placement by translating the floating element along the
5364
- * specified axes.
5365
- * A number (shorthand for `mainAxis` or distance), or an axes configuration
5366
- * object may be passed.
5367
- * @see https://floating-ui.com/docs/offset
5368
- */
5369
- const offset = offset$1;
5370
-
5371
- /**
5372
- * Optimizes the visibility of the floating element by shifting it in order to
5373
- * keep it in view when it will overflow the clipping boundary.
5374
- * @see https://floating-ui.com/docs/shift
5375
- */
5376
- const shift = shift$1;
5377
-
5378
- /**
5379
- * Optimizes the visibility of the floating element by flipping the `placement`
5380
- * in order to keep it in view when the preferred placement(s) will overflow the
5381
- * clipping boundary. Alternative to `autoPlacement`.
5382
- * @see https://floating-ui.com/docs/flip
5383
- */
5384
- const flip = flip$1;
7127
+ const pdsDividerCss = ".pds-divider{background:var(--pine-color-border);border:0;display:-ms-flexbox;display:flex;height:var(--pine-border-width);margin:0;width:100%}.pds-divider--vertical{height:100%;width:1px}.pds-divider--offset-xxs{margin:0 calc(var(--pine-dimension-2xs) * -1);padding:0 var(--pine-dimension-2xs)}.pds-divider--offset-xxs.pds-divider--vertical{margin:calc(var(--pine-dimension-2xs) * -1) 0;padding:var(--pine-dimension-2xs) 0}.pds-divider--offset-xs{margin:0 calc(var(--pine-dimension-xs) * -1);padding:0 var(--pine-dimension-xs)}.pds-divider--offset-xs.pds-divider--vertical{margin:calc(var(--pine-dimension-xs) * -1) 0;padding:var(--pine-dimension-xs) 0}.pds-divider--offset-sm{margin:0 calc(var(--pine-dimension-sm) * -1);padding:0 var(--pine-dimension-sm)}.pds-divider--offset-sm.pds-divider--vertical{margin:calc(var(--pine-dimension-sm) * -1) 0;padding:var(--pine-dimension-sm) 0}.pds-divider--offset-md{margin:0 calc(var(--pine-dimension-md) * -1);padding:0 var(--pine-dimension-md)}.pds-divider--offset-md.pds-divider--vertical{margin:calc(var(--pine-dimension-md) * -1) 0;padding:var(--pine-dimension-md) 0}.pds-divider--offset-lg{margin:0 calc(var(--pine-dimension-lg) * -1);padding:0 var(--pine-dimension-lg)}.pds-divider--offset-lg.pds-divider--vertical{margin:calc(var(--pine-dimension-lg) * -1) 0;padding:var(--pine-dimension-lg) 0}.pds-divider--offset-xl{margin:0 calc(var(--pine-dimension-xl) * -1);padding:0 var(--pine-dimension-xl)}.pds-divider--offset-xl.pds-divider--vertical{margin:calc(var(--pine-dimension-xl) * -1) 0;padding:var(--pine-dimension-xl) 0}.pds-divider--offset-xxl{margin:0 calc(var(--pine-dimension-2xl) * -1);padding:0 var(--pine-dimension-2xl)}.pds-divider--offset-xxl.pds-divider--vertical{margin:calc(var(--pine-dimension-2xl) * -1) 0;padding:var(--pine-dimension-2xl) 0}@media (max-width: 767px){.pds-divider--vertical{display:none}}";
5385
7128
 
5386
- /**
5387
- * Computes the `x` and `y` coordinates that will place the floating element
5388
- * next to a given reference element.
5389
- */
5390
- const computePosition = (reference, floating, options) => {
5391
- // This caches the expensive `getClippingElementAncestors` function so that
5392
- // multiple lifecycle resets re-use the same result. It only lives for a
5393
- // single call. If other functions become expensive, we can add them as well.
5394
- const cache = new Map();
5395
- const mergedOptions = {
5396
- platform,
5397
- ...options
5398
- };
5399
- const platformWithCache = {
5400
- ...mergedOptions.platform,
5401
- _c: cache
5402
- };
5403
- return computePosition$1(reference, floating, {
5404
- ...mergedOptions,
5405
- platform: platformWithCache
5406
- });
5407
- };
7129
+ class PdsDivider {
7130
+ constructor(hostRef) {
7131
+ registerInstance(this, hostRef);
7132
+ /**
7133
+ * Sets divider to display vertically.
7134
+ * @defaultValue false
7135
+ */
7136
+ this.vertical = false;
7137
+ }
7138
+ classNames() {
7139
+ const classNames = ['pds-divider'];
7140
+ if (this.vertical) {
7141
+ classNames.push('pds-divider--vertical');
7142
+ }
7143
+ if (this.offset) {
7144
+ const offsetClassName = 'pds-divider--offset-' + this.offset;
7145
+ classNames.push(offsetClassName);
7146
+ }
7147
+ return classNames.join(' ');
7148
+ }
7149
+ render() {
7150
+ return (hAsync(Host, { key: 'c3a01882db1119b8397353aaed193813cba0bfb8', id: this.componentId }, hAsync("hr", { key: 'fe20a28dbd2f10cec125df4dbb4ba7a2837628f1', class: this.classNames() })));
7151
+ }
7152
+ static get style() { return pdsDividerCss; }
7153
+ static get cmpMeta() { return {
7154
+ "$flags$": 9,
7155
+ "$tagName$": "pds-divider",
7156
+ "$members$": {
7157
+ "componentId": [1, "component-id"],
7158
+ "offset": [1],
7159
+ "vertical": [4]
7160
+ },
7161
+ "$listeners$": undefined,
7162
+ "$lazyBundleId$": "-",
7163
+ "$attrsToReflect$": []
7164
+ }; }
7165
+ }
5408
7166
 
5409
7167
  const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:absolute;z-index:9999}";
5410
7168
 
@@ -5649,7 +7407,7 @@ class PdsDropdownMenu {
5649
7407
  }
5650
7408
  }
5651
7409
  render() {
5652
- return (hAsync(Host, { key: '492d6a2baba8c0cf5e05a6c34b774900f5da6886', id: this.componentId }, hAsync("slot", { key: '9d57ee287cff289693c941410bcc62bb9fb1da95', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '62ae569a3bf7f958c01cfe1a74d174e413763f72', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical" }, hAsync("slot", { key: 'ea6d26124c06683e4fde23bc29f955cb04468d7a', onSlotchange: this.handleSlotChange }))));
7410
+ return (hAsync(Host, { key: '1e4384c8ab3fb3ca73221dd7a7f156846e9b8274', id: this.componentId }, hAsync("slot", { key: '0b3b532a025580b36bbe06f86bdb776d99e0c896', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '20229e833fa45ff5ce730d3a38e8faab582335c6', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical" }, hAsync("slot", { key: '47cad78c2e1b5150be13a399820fe64d09955e9d', onSlotchange: this.handleSlotChange }))));
5653
7411
  }
5654
7412
  get host() { return getElement(this); }
5655
7413
  static get style() { return pdsDropdownMenuCss; }
@@ -5735,7 +7493,7 @@ class PdsDropdownMenuItem {
5735
7493
  }, tabIndex: this.disabled ? -1 : 0, type: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
5736
7494
  }
5737
7495
  render() {
5738
- return (hAsync(Host, { key: 'b27f62c0f1cfe56e777b1a875b93954d4c9da00d', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
7496
+ return (hAsync(Host, { key: '89c2973b952f2a2d0b7054817c0532f8654ae279', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
5739
7497
  }
5740
7498
  get host() { return getElement(this); }
5741
7499
  static get style() { return pdsDropdownMenuItemCss; }
@@ -5768,7 +7526,7 @@ class PdsDropdownMenuSeparator {
5768
7526
  this.disabled = false;
5769
7527
  }
5770
7528
  render() {
5771
- return (hAsync(Host, { key: '71b19470921b7848e5f0c44ef82aa0d9f8ef2017', id: this.componentId }, hAsync("hr", { key: 'efc84b6b3f3f35421c0af863fb2d4636e542773e' })));
7529
+ return (hAsync(Host, { key: '1058ea61d2ad7c311ee162b909df2531f3589e4c', id: this.componentId }, hAsync("hr", { key: 'a8c2f69ef5fba5ea4ea74553fe72544e31eafb1b' })));
5772
7530
  }
5773
7531
  static get style() { return pdsDropdownMenuSeparatorCss; }
5774
7532
  static get cmpMeta() { return {
@@ -5784,6 +7542,55 @@ class PdsDropdownMenuSeparator {
5784
7542
  }; }
5785
7543
  }
5786
7544
 
7545
+ let missingAssetPathWarning = false;
7546
+ /**
7547
+ *
7548
+ * Reads the component asset path config from meta tag or a global variable.
7549
+ * This is a temporary workaround until these issues have been addressed:
7550
+ *
7551
+ * https://github.com/ionic-team/stencil/issues/2826/
7552
+ * https://github.com/ionic-team/stencil/issues/3470
7553
+ * https://github.com/ionic-team/stencil-ds-output-targets/issues/186
7554
+ */
7555
+ const getAssetPath = (path) => {
7556
+ var _a;
7557
+ const metaPineAssetPath = (_a = document.head.querySelector('meta[data-pine-asset-path]')) === null || _a === void 0 ? void 0 : _a.dataset.pineAssetPath;
7558
+ // Get the asset path from the window object if available
7559
+ const windowAssetPath = window.__PINE_ASSET_PATH__;
7560
+ // Set the CDN Asset path using the latest version
7561
+ const cdnAssetPath = 'https://cdn.jsdelivr.net/npm/@pine-ds/icons/dist/';
7562
+ const assetBasePath = metaPineAssetPath || windowAssetPath || cdnAssetPath;
7563
+ // Display a warning if the assets are fetched from the CDN.
7564
+ if (assetBasePath.startsWith('https://cdn.jsdelivr.net/npm/') && !missingAssetPathWarning) {
7565
+ missingAssetPathWarning = true;
7566
+ console.warn(`
7567
+ Fetching Pine assets from jsDelivr CDN.\n\n It's recommended that you bundle Pine Assets with your application and set the path accordingly.\n\nFor more information, read the documentation: \nhttps://pine-design-system.netlify.app/?path=/docs/resources-assets--docs
7568
+ `);
7569
+ }
7570
+ let assetPath = path;
7571
+ if (path.startsWith('./')) {
7572
+ assetPath = path.substring(2);
7573
+ }
7574
+ if (!assetBasePath.endsWith('/')) {
7575
+ assetPath = '/' + assetPath;
7576
+ }
7577
+ return assetBasePath + assetPath;
7578
+ };
7579
+
7580
+ let CACHED_MAP;
7581
+ const getIconMap = () => {
7582
+ if (typeof window === 'undefined') {
7583
+ return new Map();
7584
+ }
7585
+ else {
7586
+ if (!CACHED_MAP) {
7587
+ const win = window; // eslint-disable-line @typescript-eslint/no-explicit-any
7588
+ win.PdsIcons = win.PdsIcons || {};
7589
+ CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();
7590
+ }
7591
+ return CACHED_MAP;
7592
+ }
7593
+ };
5787
7594
  const getName = (iconName, icon) => {
5788
7595
  if (!iconName && icon && !isSrc(icon)) {
5789
7596
  iconName = icon;
@@ -5800,6 +7607,39 @@ const getName = (iconName, icon) => {
5800
7607
  }
5801
7608
  return iconName;
5802
7609
  };
7610
+ const getNamedUrl = (iconName) => {
7611
+ const url = getIconMap().get(iconName);
7612
+ if (url) {
7613
+ return url;
7614
+ }
7615
+ return getAssetPath(`svg/${iconName}.svg`);
7616
+ };
7617
+ const getSrc = (src) => {
7618
+ if (isStr(src)) {
7619
+ src = src.trim();
7620
+ if (isSrc(src)) {
7621
+ return src;
7622
+ }
7623
+ }
7624
+ return null;
7625
+ };
7626
+ const getUrl = (pdsIcon) => {
7627
+ let url = getSrc(pdsIcon.src);
7628
+ if (url) {
7629
+ return url;
7630
+ }
7631
+ url = getName(pdsIcon.name, pdsIcon.icon);
7632
+ if (url) {
7633
+ return getNamedUrl(url);
7634
+ }
7635
+ if (pdsIcon.icon) {
7636
+ url = getSrc(pdsIcon.icon);
7637
+ if (url) {
7638
+ return url;
7639
+ }
7640
+ }
7641
+ return null;
7642
+ };
5803
7643
  /**
5804
7644
  * Returns `true` if the document or host element
5805
7645
  * has a `dir` set to `rtl`. The host value will always
@@ -5912,6 +7752,8 @@ const ICONS_TO_FLIP = [
5912
7752
  'users-tone'
5913
7753
  ];
5914
7754
 
7755
+ const pdsIconContent = new Map();
7756
+
5915
7757
  const pdsIconCss = ":host{--dimension-icon-height:16px;--dimension-icon-width:16px;--color-icon-fill:currentColor;contain:strict;display:inline-block;fill:var(--color-icon-fill);-ms-flex-negative:0;flex-shrink:0;height:var(--dimension-icon-height);width:var(--dimension-icon-width)}:host .pdsicon{fill:var(--color-icon-fill)}.pds-icon-fill-none{fill:none}.icon-inner,.pds-icon,svg{display:block;height:100%;width:100%}:host(.flip-rtl):host-context([dir=rtl]) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}";
5916
7758
 
5917
7759
  class PdsIcon {
@@ -5953,10 +7795,26 @@ class PdsIcon {
5953
7795
  if (!this.didLoadIcon) {
5954
7796
  this.loadIcon();
5955
7797
  }
7798
+ // Fallback: Ensure icon loads even if IntersectionObserver doesn't fire
7799
+ setTimeout(() => {
7800
+ if (!this.svgContent && !this.isVisible) {
7801
+ this.isVisible = true;
7802
+ this.loadIcon();
7803
+ }
7804
+ }, 100);
7805
+ // Additional fallback for client-side navigation (React Router, etc.)
7806
+ // React's useLayoutEffect and rendering cycles can delay visibility detection
7807
+ setTimeout(() => {
7808
+ if (!this.svgContent && !this.isVisible) {
7809
+ this.isVisible = true;
7810
+ this.loadIcon();
7811
+ }
7812
+ }, 500);
5956
7813
  }
5957
7814
  componentWillLoad() {
5958
7815
  this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
5959
7816
  this.setCSSVariables();
7817
+ this.setupInitialAriaLabel();
5960
7818
  }
5961
7819
  setCSSVariables() {
5962
7820
  this.el.style.setProperty(`--dimension-icon-height`, this.iconSize());
@@ -5964,10 +7822,18 @@ class PdsIcon {
5964
7822
  this.el.style.setProperty(`--color-icon-fill`, typeof this.color !== 'undefined' ? this.color : 'currentColor');
5965
7823
  }
5966
7824
  connectedCallback() {
5967
- this.waitUntilVisible(this.el, '50px', () => {
7825
+ // Handle re-connection during client-side navigation
7826
+ if (!this.isVisible && !this.svgContent) {
7827
+ this.waitUntilVisible(this.el, '50px', () => {
7828
+ this.isVisible = true;
7829
+ this.loadIcon();
7830
+ });
7831
+ }
7832
+ // Immediate load attempt if already visible (e.g., during React navigation)
7833
+ if (this.isElementInViewport(this.el)) {
5968
7834
  this.isVisible = true;
5969
7835
  this.loadIcon();
5970
- });
7836
+ }
5971
7837
  }
5972
7838
  disconnectedCallback() {
5973
7839
  if (this.io) {
@@ -5978,11 +7844,17 @@ class PdsIcon {
5978
7844
  updateStyles() {
5979
7845
  this.setCSSVariables();
5980
7846
  }
7847
+ onIconPropertyChange() {
7848
+ this.loadIcon();
7849
+ // Update aria-label when icon properties change
7850
+ this.setupInitialAriaLabel();
7851
+ }
5981
7852
  loadIcon() {
7853
+ // Reset load state when URL changes
7854
+ this.didLoadIcon = false;
7855
+ // Clear existing content to prevent stale content when switching icons
7856
+ this.svgContent = undefined;
5982
7857
  this.iconName = getName(this.name, this.icon);
5983
- if (this.iconName) {
5984
- this.ariaLabel = this.iconName.replace(/\-/g, ' ');
5985
- }
5986
7858
  }
5987
7859
  render() {
5988
7860
  const { ariaLabel, flipRtl, iconName, inheritedAttributes } = this;
@@ -5990,11 +7862,22 @@ class PdsIcon {
5990
7862
  ? shouldRtlFlipIcon(iconName, this.el) && flipRtl !== false
5991
7863
  : false;
5992
7864
  const shouldFlip = flipRtl || shouldIconAutoFlip;
5993
- return (hAsync(Host, Object.assign({ key: 'bc8e46daa75df27a8039e0e767bdb43164ad7d4c', "aria-label": ariaLabel !== undefined && !this.hasAriaHidden() ? ariaLabel : null, alt: "", role: "img", class: Object.assign(Object.assign({}, createColorClasses(this.color)), { 'flip-rtl': shouldFlip, 'icon-rtl': shouldFlip && isRTL(this.el) }) }, inheritedAttributes), (hAsync("div", { class: "icon-inner" }))));
7865
+ // Use inherited aria-label if provided, otherwise fall back to auto-generated one
7866
+ const finalAriaLabel = inheritedAttributes['aria-label'] || ariaLabel;
7867
+ return (hAsync(Host, Object.assign({ key: '43aa73531314e6529a887468e69362430d006229', "aria-label": finalAriaLabel !== undefined && !this.hasAriaHidden() ? finalAriaLabel : null, alt: "", role: "img", class: Object.assign(Object.assign({}, createColorClasses(this.color)), { 'flip-rtl': shouldFlip, 'icon-rtl': shouldFlip && isRTL(this.el) }) }, inheritedAttributes), (hAsync("div", { class: "icon-inner" }))));
5994
7868
  }
5995
7869
  /*****
5996
7870
  * Private Methods
5997
7871
  ****/
7872
+ setupInitialAriaLabel() {
7873
+ // Only set aria-label during initial load if one isn't already provided
7874
+ if (!this.inheritedAttributes['aria-label']) {
7875
+ const iconName = getName(this.name, this.icon);
7876
+ if (iconName) {
7877
+ this.ariaLabel = iconName.replace(/\-/g, ' ');
7878
+ }
7879
+ }
7880
+ }
5998
7881
  waitUntilVisible(el, rootMargin, cb) {
5999
7882
  {
6000
7883
  // browser doesn't support IntersectionObserver
@@ -6002,14 +7885,62 @@ class PdsIcon {
6002
7885
  cb();
6003
7886
  }
6004
7887
  }
7888
+ isElementInViewport(el) {
7889
+ if (!el || !el.isConnected)
7890
+ return false;
7891
+ const rect = el.getBoundingClientRect();
7892
+ const windowHeight = window.innerHeight || document.documentElement.clientHeight;
7893
+ const windowWidth = window.innerWidth || document.documentElement.clientWidth;
7894
+ return (rect.top >= 0 &&
7895
+ rect.left >= 0 &&
7896
+ rect.bottom <= windowHeight &&
7897
+ rect.right <= windowWidth) || (
7898
+ // Also consider partially visible elements
7899
+ rect.top < windowHeight &&
7900
+ rect.bottom > 0 &&
7901
+ rect.left < windowWidth &&
7902
+ rect.right > 0);
7903
+ }
7904
+ /**
7905
+ * Debug method to help diagnose loading issues
7906
+ * Call from browser console: document.querySelector('pds-icon').debugIconState()
7907
+ */
7908
+ debugIconState() {
7909
+ var _a;
7910
+ const url = getUrl(this);
7911
+ const rect = this.el.getBoundingClientRect();
7912
+ console.log('PdsIcon Debug State:', {
7913
+ name: this.name,
7914
+ src: this.src,
7915
+ icon: this.icon,
7916
+ iconName: this.iconName,
7917
+ url,
7918
+ isVisible: this.isVisible,
7919
+ didLoadIcon: this.didLoadIcon,
7920
+ hasSvgContent: !!this.svgContent,
7921
+ svgContentLength: ((_a = this.svgContent) === null || _a === void 0 ? void 0 : _a.length) || 0,
7922
+ isInCache: url ? pdsIconContent.has(url) : false,
7923
+ cachedContent: url ? pdsIconContent.get(url) : null,
7924
+ element: this.el,
7925
+ // Client-side navigation specific debug info
7926
+ isConnected: this.el.isConnected,
7927
+ isInViewport: this.isElementInViewport(this.el),
7928
+ hasIntersectionObserver: !!this.io,
7929
+ boundingClientRect: rect,
7930
+ windowDimensions: {
7931
+ width: window.innerWidth || document.documentElement.clientWidth,
7932
+ height: window.innerHeight || document.documentElement.clientHeight
7933
+ }
7934
+ });
7935
+ }
6005
7936
  static get assetsDirs() { return ["svg"]; }
6006
7937
  get el() { return getElement(this); }
6007
7938
  static get watchers() { return {
6008
7939
  "size": ["updateStyles"],
6009
7940
  "color": ["updateStyles"],
6010
- "name": ["loadIcon"],
6011
- "src": ["loadIcon"],
6012
- "icon": ["loadIcon"]
7941
+ "name": ["onIconPropertyChange"],
7942
+ "src": ["onIconPropertyChange"],
7943
+ "icon": ["onIconPropertyChange"]
6013
7944
  }; }
6014
7945
  static get style() { return pdsIconCss; }
6015
7946
  static get cmpMeta() { return {
@@ -6059,9 +7990,9 @@ class PdsImage {
6059
7990
  this.loading = 'eager';
6060
7991
  }
6061
7992
  render() {
6062
- return (hAsync(Host, { key: 'a706be22398297ae7087239a3dc7474ae17ab358', class: {
7993
+ return (hAsync(Host, { key: 'bffcd250b41bcc96d6278f35be5287cf34ee91ac', class: {
6063
7994
  'pds-image': true,
6064
- }, id: this.componentId }, hAsync("img", { key: '37a465ed175ae298e174370246885fb6d7837112', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
7995
+ }, id: this.componentId }, hAsync("img", { key: 'b241c3d7fcb061b530e57ef4ca0aafe4801d9341', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
6065
7996
  }
6066
7997
  static get style() { return pdsImageCss; }
6067
7998
  static get cmpMeta() { return {
@@ -6087,8 +8018,15 @@ const pdsInputTokensCss$1 = ":host{--pine-input-color-background-danger:var(--pi
6087
8018
 
6088
8019
  const labelCss$4 = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
6089
8020
 
6090
- const pdsInputCss = ":host{display:inline}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-input__label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__field{background:var(--pine-color-background-container);border:1px solid var(--pine-color-border);border-radius:var(--pine-dimension-125);color:var(--pine-color-text-active);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);}.pds-input__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-input__field:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed;}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:hover{border-color:var(--pine-color-border-hover)}.pds-input__field:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-input__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-input__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-input__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-input__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-input__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-input__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-input__error-message,.pds-input__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
8021
+ const pdsInputCss = ":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:var(--pine-dimension-xs);--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-active);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:calc(var(--pine-dimension-450) + 2px);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host pds-select::part(select){background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host::part(prefix),:host::part(suffix){-ms-flex-align:center;align-items:center;color:var(--pine-color-text-label-readonly);display:-ms-flexbox;display:flex;height:100%;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap;z-index:1}:host::part(prefix){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius);left:var(--pds-input-padding-x)}:host::part(suffix){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius);right:var(--pds-input-padding-x)}:host::part(prepend),:host::part(append){-ms-flex-align:center;align-items:center;background-color:var(--pds-input-addon-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);color:var(--pds-input-addon-color);display:-ms-flexbox;display:flex}:host::part(prepend){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius)}:host::part(append){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius)}:host([has-prepend]) ::slotted(pds-button[slot=prepend]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-append]) ::slotted(pds-button[slot=append]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-prepend]) ::slotted(pds-select[slot=prepend]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-end:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-min-height:var(--pine-dimension-450)}:host([has-append]) ::slotted(pds-select[slot=append]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:var(--pine-dimension-450)}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([disabled=true])::part(prepend),:host([disabled=true])::part(append){background-color:var(--pds-input-disabled-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color-disabled)}:host([invalid=true])::part(prepend),:host([invalid=true])::part(append){background-color:var(--pds-input-error-background);border:var(--pds-input-border-width) solid var(--pds-input-error-border)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs)}.pds-input__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label{color:var(--pine-color-text-active);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label-wrapper .pds-input__label{-webkit-margin-after:0;margin-block-end:0}.pds-input__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-input__field-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-input__field-wrapper.has-prefix .pds-input__field{-webkit-padding-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));padding-inline-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em))}.pds-input__field-wrapper.has-suffix .pds-input__field{-webkit-padding-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));padding-inline-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em))}.pds-input__field-wrapper.has-prepend .pds-input__field{border-end-start-radius:var(--pine-dimension-none);border-start-start-radius:var(--pine-dimension-none)}.pds-input__field-wrapper.has-append .pds-input__field{border-end-end-radius:var(--pine-dimension-none);border-start-end-radius:var(--pine-dimension-none)}.pds-input__field{background:var(--pds-input-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);border-radius:var(--pds-input-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-input-text-color);-ms-flex:1;flex:1;font:var(--pds-input-font);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-input-field-min-height);min-width:var(--pine-dimension-none);padding:var(--pds-input-padding-y) var(--pds-input-padding-x);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-input__field:hover:not(:disabled){border-color:var(--pds-input-border-color-hover)}.pds-input__field:disabled{background:var(--pds-input-disabled-background);border-color:var(--pine-color-border-disabled);color:var(--pds-input-disabled-text-color);cursor:not-allowed}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.has-error .pds-input__field:hover:not(:disabled){border-color:var(--pds-input-error-border-hover)}.pds-input__field:focus-visible:not(.has-error){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host([has-prepend]) .pds-input__field:focus-visible:not(.has-error),:host([has-append]) .pds-input__field:focus-visible:not(.has-error),:host([has-prefix]) .pds-input__field:focus-visible:not(.has-error),:host([has-suffix]) .pds-input__field:focus-visible:not(.has-error){outline-offset:var(--pine-dimension-none)}.pds-input__field::-webkit-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-moz-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field:-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::placeholder{color:var(--pds-input-placeholder-color)}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-input__error-message,.pds-input__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:var(--pine-dimension-none);margin-block-end:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{-ms-flex-align:center;align-items:center;color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
6091
8022
 
8023
+ /**
8024
+ * @slot append - Content to be displayed after the input field
8025
+ * @slot prefix - Content that is displayed visually within the input field before the input field
8026
+ * @slot prepend - Content to be displayed before the input field
8027
+ * @slot suffix - Content that is displayed visually within the input field after the input field
8028
+ * @slot action - Content to be displayed in the label area, typically for help icons or links
8029
+ */
6092
8030
  class PdsInput {
6093
8031
  constructor(hostRef) {
6094
8032
  registerInstance(this, hostRef);
@@ -6098,6 +8036,26 @@ class PdsInput {
6098
8036
  this.pdsInput = createEvent(this, "pdsInput");
6099
8037
  this.inheritedAttributes = {};
6100
8038
  this.isComposing = false;
8039
+ /**
8040
+ * If true, the input has prefix content (non-focusable)
8041
+ */
8042
+ this.hasPrefix = false;
8043
+ /**
8044
+ * If true, the input has suffix content (non-focusable)
8045
+ */
8046
+ this.hasSuffix = false;
8047
+ /**
8048
+ * If true, the input has prepend content (focusable)
8049
+ */
8050
+ this.hasPrepend = false;
8051
+ /**
8052
+ * If true, the input has append content (focusable)
8053
+ */
8054
+ this.hasAppend = false;
8055
+ /**
8056
+ * If true, the input has action content in the label area
8057
+ */
8058
+ this.hasAction = false;
6101
8059
  /**
6102
8060
  * Determines the type of control that will be displayed
6103
8061
  * `'email'`, `'number'`, `'password'`, `'tel'`, `'text'`, `'url'`
@@ -6154,6 +8112,70 @@ class PdsInput {
6154
8112
  this.nativeInput.focus();
6155
8113
  }
6156
8114
  }
8115
+ updateAddonWidths() {
8116
+ requestAnimationFrame(() => {
8117
+ if (this.prefixEl) {
8118
+ const prefixWidth = this.prefixEl.offsetWidth;
8119
+ this.el.style.setProperty('--prefix-width', `${prefixWidth}px`);
8120
+ }
8121
+ if (this.suffixEl) {
8122
+ const suffixWidth = this.suffixEl.offsetWidth;
8123
+ this.el.style.setProperty('--suffix-width', `${suffixWidth}px`);
8124
+ }
8125
+ });
8126
+ }
8127
+ renderPrefix() {
8128
+ const hasPrefix = this.el.querySelector('[slot="prefix"]') !== null;
8129
+ if (hasPrefix) {
8130
+ return (hAsync("div", { class: "pds-input__prefix", part: "prefix", ref: (el) => this.prefixEl = el }, hAsync("slot", { name: "prefix", onSlotchange: () => this.updateAddonWidths() })));
8131
+ }
8132
+ return null;
8133
+ }
8134
+ renderSuffix() {
8135
+ const hasSuffix = this.el.querySelector('[slot="suffix"]') !== null;
8136
+ if (hasSuffix) {
8137
+ return (hAsync("div", { class: "pds-input__suffix", part: "suffix", ref: (el) => this.suffixEl = el }, hAsync("slot", { name: "suffix", onSlotchange: () => this.updateAddonWidths() })));
8138
+ }
8139
+ return null;
8140
+ }
8141
+ renderPrepend() {
8142
+ const hasPrepend = this.el.querySelector('[slot="prepend"]') !== null;
8143
+ if (hasPrepend) {
8144
+ return (hAsync("div", { class: "pds-input__prepend", part: "prepend" }, hAsync("slot", { name: "prepend" })));
8145
+ }
8146
+ return null;
8147
+ }
8148
+ renderAppend() {
8149
+ const hasAppend = this.el.querySelector('[slot="append"]') !== null;
8150
+ if (hasAppend) {
8151
+ return (hAsync("div", { class: "pds-input__append", part: "append" }, hAsync("slot", { name: "append" })));
8152
+ }
8153
+ return null;
8154
+ }
8155
+ renderAction() {
8156
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
8157
+ if (hasAction) {
8158
+ return (hAsync("div", { class: "pds-input__action", part: "action" }, hAsync("slot", { name: "action" })));
8159
+ }
8160
+ return null;
8161
+ }
8162
+ componentWillLoad() {
8163
+ this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
8164
+ this.hasPrefix = this.el.querySelector('[slot="prefix"]') !== null;
8165
+ this.hasSuffix = this.el.querySelector('[slot="suffix"]') !== null;
8166
+ this.hasPrepend = this.el.querySelector('[slot="prepend"]') !== null;
8167
+ this.hasAppend = this.el.querySelector('[slot="append"]') !== null;
8168
+ this.hasAction = this.el.querySelector('[slot="action"]') !== null;
8169
+ // Store the original pdsInput event emitter
8170
+ this.originalPdsInput = this.pdsInput;
8171
+ }
8172
+ componentDidLoad() {
8173
+ this.debounceChanged();
8174
+ this.updateAddonWidths();
8175
+ }
8176
+ componentDidUpdate() {
8177
+ this.updateAddonWidths();
8178
+ }
6157
8179
  debounceChanged() {
6158
8180
  const { pdsInput, debounce, originalPdsInput } = this;
6159
8181
  /**
@@ -6182,7 +8204,6 @@ class PdsInput {
6182
8204
  this.pdsChange.emit({ value: newValue, event });
6183
8205
  }
6184
8206
  /**
6185
- *
6186
8207
  * Emits a `pdsInput` event
6187
8208
  */
6188
8209
  emitInputChange(event) {
@@ -6191,24 +8212,20 @@ class PdsInput {
6191
8212
  const newValue = value == null ? value : value.toString();
6192
8213
  this.pdsInput.emit({ value: newValue, event });
6193
8214
  }
6194
- componentWillLoad() {
6195
- this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
6196
- }
6197
- componentDidLoad() {
6198
- this.debounceChanged();
6199
- }
6200
- inputClassNames() {
6201
- const classNames = ['pds-input__field'];
6202
- if (this.invalid && this.invalid === true) {
6203
- classNames.push('is-invalid');
6204
- }
6205
- return classNames.join(' ');
6206
- }
6207
8215
  render() {
6208
- return (hAsync(Host, { key: 'a2a05a1e0d3e7722c1dc3dea957facaf5ef24c3c', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, hAsync("div", { key: 'd95ad9600e7d80050bf41503a2eb9ccb91f77893', class: "pds-input" }, this.label &&
6209
- hAsync("label", { key: 'b5772c8283fe3c8899235c432bbabd36012c2aef', class: "pds-input__label", htmlFor: this.componentId }, this.label), hAsync("input", Object.assign({ key: '65a2ff8c31ebf545caf755609fa2f3e95cdd1098', class: this.inputClassNames(), ref: (input) => this.nativeInput = input, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.helperMessage &&
6210
- hAsync("p", { key: 'a7a30bc28a0e9aa16ebd842b8b3851569f556591', class: "pds-input__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
6211
- hAsync("p", { key: '3ffc19523e9378534e665ba52247935e924d4168', class: "pds-input__error-message", id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '6961e5735ffe279414ea5333224baa72561697d5', icon: danger, size: "small" }), this.errorMessage))));
8216
+ const { componentId, disabled, errorMessage, helperMessage, invalid = false, label, } = this;
8217
+ const value = this.getValue();
8218
+ const inputWrapperClasses = {
8219
+ 'pds-input__field-wrapper': true,
8220
+ 'has-focus': this.hasFocus,
8221
+ 'has-error': invalid || !!errorMessage,
8222
+ 'is-disabled': disabled,
8223
+ 'has-prefix': this.hasPrefix,
8224
+ 'has-suffix': this.hasSuffix,
8225
+ 'has-prepend': this.hasPrepend,
8226
+ 'has-append': this.hasAppend,
8227
+ };
8228
+ return (hAsync(Host, { key: 'a8cf9aaa6dc90cb0790a7cad75603a2ebf48451a', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-prefix": this.hasPrefix ? 'true' : null, "has-suffix": this.hasSuffix ? 'true' : null, "has-prepend": this.hasPrepend ? 'true' : null, "has-append": this.hasAppend ? 'true' : null, "has-action": this.hasAction ? 'true' : null }, hAsync("div", { key: '355f87099825b4db4d97500dac2b94a5892a3981', class: "pds-input" }, label && (hAsync("div", { key: 'ee7bdec715478f0945cd1bf6ba435c50e885ebda', class: "pds-input__label-wrapper" }, hAsync("label", { key: '56622a09c8f7313f8c2276363ded8efd2e985fb7', htmlFor: componentId, class: "pds-input__label" }, label, this.required && hAsync("span", { key: 'fb95186cd446e4d338822840423566110ac9dbd0', class: "pds-input__required-indicator" }, " *")), this.renderAction())), hAsync("div", { key: 'c7b209515121ab4e44f054eb817f61e6d9241323', class: inputWrapperClasses }, this.renderPrepend(), this.renderPrefix(), hAsync("input", Object.assign({ key: '02f8238ee2b87b7484da0b4b5282ce22c7dd3de1', ref: (input) => (this.nativeInput = input), class: "pds-input__field", "aria-describedby": assignDescription(componentId, invalid, helperMessage), "aria-invalid": invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: disabled, id: componentId, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.renderSuffix(), this.renderAppend()), helperMessage && (hAsync("p", { key: 'b93e6b54755d300e9093ac78854b52d296703a00', class: "pds-input__helper-message", id: messageId(componentId, 'helper') }, helperMessage)), errorMessage && (hAsync("p", { key: 'bc16a204c2ad99b28759cde1f066b6ba790a5c80', class: "pds-input__error-message", id: messageId(componentId, 'error') }, hAsync("pds-icon", { key: '354293fa6512ff16603e7190a4131096f58ca819', icon: danger, size: "small" }), errorMessage)))));
6212
8229
  }
6213
8230
  get el() { return getElement(this); }
6214
8231
  static get watchers() { return {
@@ -6228,12 +8245,23 @@ class PdsInput {
6228
8245
  "helperMessage": [1, "helper-message"],
6229
8246
  "invalid": [4],
6230
8247
  "label": [1],
8248
+ "max": [1],
8249
+ "maxlength": [1],
8250
+ "min": [1],
8251
+ "minlength": [1],
6231
8252
  "name": [1],
8253
+ "pattern": [1],
6232
8254
  "placeholder": [1],
6233
8255
  "readonly": [4],
6234
8256
  "required": [4],
8257
+ "step": [1],
6235
8258
  "type": [1],
6236
8259
  "value": [1032],
8260
+ "hasPrefix": [32],
8261
+ "hasSuffix": [32],
8262
+ "hasPrepend": [32],
8263
+ "hasAppend": [32],
8264
+ "hasAction": [32],
6237
8265
  "hasFocus": [32],
6238
8266
  "setFocus": [64]
6239
8267
  },
@@ -6290,8 +8318,8 @@ class PdsLink {
6290
8318
  return linkStyles;
6291
8319
  }
6292
8320
  render() {
6293
- return (hAsync("a", { key: 'bd418a8fd35a3f3b7e240c09f9dcae3bdaa49013', class: this.classNames(), href: this.href, id: this.componentId, part: "link", target: this.external ? '_blank' : undefined, style: this.setLinkStyles() }, hAsync("slot", { key: '45aa4d6d1b2daaf4413227e39811595073f65744' }, this.href), this.external &&
6294
- hAsync("pds-icon", { key: '4b8dec593ddefb68278e3c102174ec24b63680f6', icon: launch, size: this.fontSize })));
8321
+ return (hAsync("a", { key: 'eeea6a903a33bf8212506970eddff01e19e02523', class: this.classNames(), href: this.href, id: this.componentId, part: "link", target: this.external ? '_blank' : undefined, style: this.setLinkStyles() }, hAsync("slot", { key: 'b860a1927bc0938d139d9ba9ad69801f27dabc50' }, this.href), this.external &&
8322
+ hAsync("pds-icon", { key: 'eda897680a6e67afd2e112646a84b2bffd1d0cc9', icon: launch, size: this.fontSize })));
6295
8323
  }
6296
8324
  static get style() { return pdsLinkCss; }
6297
8325
  static get cmpMeta() { return {
@@ -6360,7 +8388,7 @@ class PdsLoader {
6360
8388
  }
6361
8389
  }
6362
8390
  render() {
6363
- return (hAsync(Host, { key: '1885f34a4ea3b114fac209f543680e531059bbbc', class: `pds-loader ${this.isLoading ? '' : 'pds-loader--hidden'}`, "aria-hidden": !this.isLoading, "aria-busy": this.isLoading, "aria-live": "polite" }, this.variant === 'spinner' && (hAsync("div", { key: '179e5c12cf4b049fc065034f0a6658ad6ddd9040', class: "pds-loader--spinner" }, hAsync("svg", { key: '8f4ba909fc4b9fe64ea7ea37ff26ae1d835292ae', style: this.style(), viewBox: "0 0 200 200", fill: "none" }, hAsync("defs", { key: 'ded765d5064790ad53f65a7e831e86367ce394ee' }, hAsync("linearGradient", { key: 'a8d3bca4fb569a52e61fd3908512803b2020dc38', id: "spinner-secondHalf" }, hAsync("stop", { key: '5c573e2545c778350b7481a4f2f468f4ae8094c0', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), hAsync("stop", { key: '99ade176b1d6a84f4ae8a4d3b2c9e98954dbb519', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), hAsync("linearGradient", { key: '3730c343c31190b037d0a6401a89b63640250f4a', id: "spinner-firstHalf" }, hAsync("stop", { key: 'f989c168a08aec3cb0b3f3bbfc71483b1991aff3', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), hAsync("stop", { key: '2ef58c6b7ec9058856b0fa30158182e4262396c6', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), hAsync("g", { key: '6421330f6d04f90f24207057a67e03a38985d63b', class: "pds-loader__spinner-path" }, hAsync("path", { key: '594bf9e8c6b5c311ba2f461f873f6e5e9b6ccf27', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), hAsync("path", { key: 'd44edd943fe5ffd3d8708232a0ca16a254e688e4', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), hAsync("path", { key: 'ed3a5152042d5970dfa01d560ad234a8401702ca', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (hAsync("div", { key: 'b7c4a013453a7233b8a9090b614b1ef0e5234ccd', class: "pds-loader--typing" }, hAsync("span", { key: '41408b1e02d88e80f8aa0468f607aad34015ff38' }), hAsync("span", { key: 'c41fc78a3160a72875301b968da6229351953e30' }), hAsync("span", { key: '02d33e3953dc291e60f293ac2c5906229decc4b9' }))), hAsync("div", { key: '2e767fdad673b59d07ab1aa02aeb002eb1930d24', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, hAsync("slot", { key: '27956937cf99517d73c8a465457fde1c0c985c15', name: "label" }, "Loading..."))));
8391
+ return (hAsync(Host, { key: '723a80c291dd72959e43f10575bb947db80b48bc', class: `pds-loader ${this.isLoading ? '' : 'pds-loader--hidden'}`, "aria-hidden": !this.isLoading, "aria-busy": this.isLoading, "aria-live": "polite" }, this.variant === 'spinner' && (hAsync("div", { key: 'f239c576ab11e3ddf07fc15e1084cc67b55e61d7', class: "pds-loader--spinner" }, hAsync("svg", { key: 'd1c7c73d1afbb62646faffae7f2101de5c7c6fb8', style: this.style(), viewBox: "0 0 200 200", fill: "none" }, hAsync("defs", { key: '8e4ff591173df6169ab0472f0e5952f72bf29b25' }, hAsync("linearGradient", { key: '06d48bf0fe1d0db36dbd842c8a1975f965936389', id: "spinner-secondHalf" }, hAsync("stop", { key: '7d4528b15ee0d029062465a2b38a138e17051344', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), hAsync("stop", { key: '67825cd7c3b08d4f50fe1bea3a2eee079b556229', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), hAsync("linearGradient", { key: '408f7bb876bd2649f2f22f4ab032d321d69cd6b0', id: "spinner-firstHalf" }, hAsync("stop", { key: '3e530c0cdee5f8d19db55cf8aeb099f50be6eeea', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), hAsync("stop", { key: '61ca38ceb7536a3eb6da8d70004834b8ecc03a4e', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), hAsync("g", { key: 'cbbfe03013311e2830e7d0bc83585e3f58677a50', class: "pds-loader__spinner-path" }, hAsync("path", { key: 'e5376fd10b97844faf97167fd89c9630d42e8c26', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), hAsync("path", { key: '0c484548cee25d885bea7017ebbad7be9fe0a4df', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), hAsync("path", { key: 'c7d41b97e8cb16182ffb408b1205dd68e70a0b92', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (hAsync("div", { key: '39fbcd19d720242aeef165281a68ae032c5f7368', class: "pds-loader--typing" }, hAsync("span", { key: 'ca2c0ef3d326be687b15196964be691cfb5de6e3' }), hAsync("span", { key: 'b2d72db5856ab236c546a67fe8cb375e5cf0d500' }), hAsync("span", { key: '9d64698e62e906d151ccbedd438a4390406505c5' }))), hAsync("div", { key: '2d485557a642a81aec4be06b9a6d2b6e86e45563', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, hAsync("slot", { key: '5e1925ec79160b5ac0dc23530aae2a933ce2ef2f', name: "label" }, "Loading..."))));
6364
8392
  }
6365
8393
  static get style() { return pdsLoaderCss; }
6366
8394
  static get cmpMeta() { return {
@@ -6611,10 +8639,10 @@ class PdsModal {
6611
8639
  return thisZIndex === maxZIndex;
6612
8640
  }
6613
8641
  render() {
6614
- return (hAsync("dialog", { key: 'c27d56b7717f739fb8ed7a243e0715a806ed3b0c', class: {
8642
+ return (hAsync("dialog", { key: '037701d53182dfa8a1c65c4f72433f80d569c2a0', class: {
6615
8643
  'pds-modal__backdrop': true,
6616
8644
  'open': this.open
6617
- }, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, hAsync("div", { key: '083bfc9fa7ec82b9f5deb9b49f19d10abfc5c912', class: `pds-modal pds-modal--${this.size} pds-modal--scrollable` }, hAsync("slot", { key: '2c47ddf024a9b1b7824de478f8d15a4af74627bb' }))));
8645
+ }, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, hAsync("div", { key: '33cf8ccba3a56b0ce9795b85e871055ce1a1c1ec', class: `pds-modal pds-modal--${this.size} pds-modal--scrollable` }, hAsync("slot", { key: '9f98dc099f74cf9a33de8b71bf5508fd9b353c48' }))));
6618
8646
  }
6619
8647
  get el() { return getElement(this); }
6620
8648
  static get watchers() { return {
@@ -6715,10 +8743,10 @@ class PdsModalContent {
6715
8743
  }
6716
8744
  }
6717
8745
  render() {
6718
- return (hAsync(Host, { key: '4ff98a386d18f5047752cf8915fa30ea3b6805e2' }, hAsync("div", { key: '686b6fc2263664f7b5f8178827c9e9ae9d53d086', class: {
8746
+ return (hAsync(Host, { key: '897268bfde6b22a4a8c05b413683b36a321df502' }, hAsync("div", { key: 'f61227128896753e6bdfa9ea62402a23460445e6', class: {
6719
8747
  'pds-modal-content': true,
6720
8748
  [`pds-modal-content--border-${this.border}`]: true
6721
- }, style: { maxHeight: this.contentMaxHeight }, tabindex: "-1" }, hAsync("slot", { key: '4531f6ba4c499c9404704c9d3a59e1b9ef4744f9' }))));
8749
+ }, style: { maxHeight: this.contentMaxHeight }, tabindex: "-1" }, hAsync("slot", { key: '20d4fbb16bc097eaa4f7899ea71feaac65e057d4' }))));
6722
8750
  }
6723
8751
  get el() { return getElement(this); }
6724
8752
  static get style() { return pdsModalContentCss; }
@@ -6742,7 +8770,7 @@ class PdsModalFooter {
6742
8770
  registerInstance(this, hostRef);
6743
8771
  }
6744
8772
  render() {
6745
- return (hAsync("footer", { key: 'ea47425a063c04c1cdff3481fc09f32bd65b7679', class: "pds-modal__footer" }, hAsync("slot", { key: '55c560cb8cca95687eb04ba727ae45542ef2209f' })));
8773
+ return (hAsync("footer", { key: 'daaff7132c3b6bcaecafcb4e8dbbf25bf3ad1de4', class: "pds-modal__footer" }, hAsync("slot", { key: '06ba1513613bea247b8d533a750f1331c509e2e5' })));
6746
8774
  }
6747
8775
  static get style() { return pdsModalFooterCss; }
6748
8776
  static get cmpMeta() { return {
@@ -6762,7 +8790,7 @@ class PdsModalHeader {
6762
8790
  registerInstance(this, hostRef);
6763
8791
  }
6764
8792
  render() {
6765
- return (hAsync("header", { key: '63d1121b84d10ea99354d07b029b7625d52d9095', class: "pds-modal__header" }, hAsync("slot", { key: 'dd08fc600f122e422ccd3161bc558f3b9cc075f9' })));
8793
+ return (hAsync("header", { key: '8592e91625152d821a52a7c6ecb4b4077c8b12ae', class: "pds-modal__header" }, hAsync("slot", { key: '6a9f38a579019ef3fd6c3085eb3bfc9865070200' })));
6766
8794
  }
6767
8795
  static get style() { return pdsModalHeaderCss; }
6768
8796
  static get cmpMeta() { return {
@@ -6881,7 +8909,7 @@ class PdsPopover {
6881
8909
  popoverEl.style.left = `${left}px`;
6882
8910
  }
6883
8911
  render() {
6884
- return (hAsync(Host, { key: 'b150645b71d528055c6cd6cf2ff9c898c3fe1f3f' }, hAsync("button", { key: '3090efe8ffd85d0d3e4d5dc5f54147a5aff61fb9', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), hAsync("div", { key: '6e9b4af0278507b6f8bf4b5f2d8c3a2891f974b6', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, hAsync("slot", { key: 'f4303d3f3aca19314413b86d3973c8d9f1477e8f' }))));
8912
+ return (hAsync(Host, { key: '74048ac8ac89c87e9a65565151627dca0d7811b4' }, hAsync("button", { key: '61cbfd4ee6572e181e0f098acba36a5855280d62', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), hAsync("div", { key: 'f88b815d14fb15fe4eff85be908e1aa85f1195fb', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, hAsync("slot", { key: '5dd632e9e4a833f5dc26626181f63b85340590a1' }))));
6885
8913
  }
6886
8914
  get el() { return getElement(this); }
6887
8915
  static get style() { return pdsPopoverCss; }
@@ -6925,7 +8953,7 @@ class PdsProgress {
6925
8953
  this.showPercent = false;
6926
8954
  }
6927
8955
  render() {
6928
- return (hAsync(Host, { key: '71ce602dccee62ee76ef51c3994af86829399452', class: this.animated ? { 'is-animated': this.animated } : '' }, hAsync("div", { key: 'c26188786bcfd4d6f039050032cd48982327355e', class: "pds-progress" }, hAsync("label", { key: 'e18f75dae8fcf3fde684156638cc47f9d5e253dd', class: "pds-progress__label", htmlFor: this.componentId }, this.label), hAsync("progress", { key: '37a5bb5609e25912c006a89dd0bbc244cfa5896b', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && hAsync("div", { key: '68e859cafbcf74c74fc3b72a5347fb03eda83556', class: "pds-progress__percentage" }, this.percent, "%")));
8956
+ return (hAsync(Host, { key: 'e260269fec1449c354e6c66d2547697180839002', class: this.animated ? { 'is-animated': this.animated } : '' }, hAsync("div", { key: '44996e689f4ba5e15d40a3e6df3382d532533290', class: "pds-progress" }, hAsync("label", { key: '01d3d9a419bd0f38e3b39c37739a9c7a4966da49', class: "pds-progress__label", htmlFor: this.componentId }, this.label), hAsync("progress", { key: '78013be8fb0d05059ee05a5aba1a6e4ae50e5019', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && hAsync("div", { key: 'd9da8650c998c67f119818e10a891f55c3baa18e', class: "pds-progress__percentage" }, this.percent, "%")));
6929
8957
  }
6930
8958
  static get style() { return pdsProgressCss; }
6931
8959
  static get cmpMeta() { return {
@@ -6945,6 +8973,36 @@ class PdsProgress {
6945
8973
  }; }
6946
8974
  }
6947
8975
 
8976
+ const pdsPropertyCss = ":host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}";
8977
+
8978
+ /**
8979
+ * @slot (default) - The property text content.
8980
+ */
8981
+ class PdsProperty {
8982
+ constructor(hostRef) {
8983
+ registerInstance(this, hostRef);
8984
+ /**
8985
+ * The name of the icon to display before the property text.
8986
+ */
8987
+ this.icon = 'star';
8988
+ }
8989
+ render() {
8990
+ return (hAsync(Host, { key: 'ff84eef7431dfe6081018528a76987dec7f1dfbc', id: this.componentId }, hAsync("pds-box", { key: 'c9b8218d49ff7ac0a94cb65b9bbbe2069d4651ba', "align-items": "center", gap: "xs" }, hAsync("pds-icon", { key: '06d09314acdda08f48267c4af63eb5393eadfca1', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), hAsync("slot", { key: 'ca3654f3ee0791f5dcce5d0cff0c78e3aa22150b' }))));
8991
+ }
8992
+ static get style() { return pdsPropertyCss; }
8993
+ static get cmpMeta() { return {
8994
+ "$flags$": 9,
8995
+ "$tagName$": "pds-property",
8996
+ "$members$": {
8997
+ "componentId": [1, "component-id"],
8998
+ "icon": [1]
8999
+ },
9000
+ "$listeners$": undefined,
9001
+ "$lazyBundleId$": "-",
9002
+ "$attrsToReflect$": []
9003
+ }; }
9004
+ }
9005
+
6948
9006
  const labelCss$3 = ".sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
6949
9007
 
6950
9008
  const pdsRadioCss = ".sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.is-invalid.sc-pds-radio-h input.sc-pds-radio{border-color:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked{background:var(--pine-color-border-danger)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:checked:hover{background:var(--pine-color-border-danger-hover);border-color:var(--pine-color-border-danger-hover)}.is-invalid.sc-pds-radio-h input.sc-pds-radio:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.is-invalid.sc-pds-radio-h label.sc-pds-radio,.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-background-container);border-radius:var(--pine-border-radius-full);content:\"\";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled+label.sc-pds-radio{cursor:not-allowed}input.sc-pds-radio:disabled~.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-webkit-margin-before:var(--sizing-margin-block-start);margin-block-start:var(--sizing-margin-block-start);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;font-size:var(--pine-font-size-body-sm);gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}";
@@ -6993,9 +9051,9 @@ class PdsRadio {
6993
9051
  return classNames.join(' ');
6994
9052
  }
6995
9053
  render() {
6996
- return (hAsync(Host, { key: 'a31d9cd94150a104a83595043dc003fa5d9779a2', class: this.classNames() }, hAsync("label", { key: '1d71e515a00c25bbaac7d0420f4a4ee6a5189836', htmlFor: this.componentId }, hAsync("input", { key: '800b2bbf703e68fbf60f62d6c28228759d976436', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), hAsync("span", { key: '33c241168498b07a25dfc5ac6f9244eb3ce93547', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
6997
- hAsync("div", { key: 'f159de72b68a0f1bf07abb52d50a0d6d89b4f766', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
6998
- hAsync("div", { key: 'fb5877c78e519db27964308c1607ab58fc2fcb08', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '1385571ed511a800778d64edf48e2853a1c4793e', icon: danger, size: "small" }), this.errorMessage)));
9054
+ return (hAsync(Host, { key: '5e8a4bd868172cda64aa2ad4697c7c41f0bdf633', class: this.classNames() }, hAsync("label", { key: 'f18a8a06cf3f9be68ab6b110fe67a8af7c1e8595', htmlFor: this.componentId }, hAsync("input", { key: '7a3ef56682ebe1facedf1eb52445f85e5e7de9d1', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), hAsync("span", { key: 'bd0c351062e30ac4f68252497affdcde4730ef3d', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
9055
+ hAsync("div", { key: '3b180595a4c088df1f121937c11f7518a802b22f', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
9056
+ hAsync("div", { key: 'e931d2de83247c74bac1568f479ee99abd1f20a0', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '7dab998a2992e3738b5b3cd14ca7031ff6db6dbb', icon: danger, size: "small" }), this.errorMessage)));
6999
9057
  }
7000
9058
  static get style() { return labelCss$3 + pdsRadioCss; }
7001
9059
  static get cmpMeta() { return {
@@ -7057,7 +9115,7 @@ class PdsRow {
7057
9115
  })), (this.minHeight && {
7058
9116
  'min-height': this.minHeight,
7059
9117
  }));
7060
- return hAsync(Host, { key: '2e962d6f8edd5023b3d8d7c8192e4f4ea2b2d2be', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
9118
+ return hAsync(Host, { key: 'b16cc4fa554894bccdb3dadbe07c531145dc2416', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
7061
9119
  }
7062
9120
  static get style() { return pdsRowCss; }
7063
9121
  static get cmpMeta() { return {
@@ -7082,8 +9140,11 @@ const pdsSelectTokensCss = ":host{--pine-select-color-background-danger:var(--pi
7082
9140
 
7083
9141
  const labelCss$2 = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
7084
9142
 
7085
- const pdsSelectCss = ":host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}label{grid-area:label;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:2.5rem;pointer-events:none;position:relative;z-index:1}";
9143
+ const pdsSelectCss = ":host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-radius:var(--pds-select-border-radius);border-bottom-left-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-bottom-right-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-top-left-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));border-top-right-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:1}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
7086
9144
 
9145
+ /**
9146
+ * @slot action - Content to be displayed in the label area, typically for help icons or links
9147
+ */
7087
9148
  class PdsSelect {
7088
9149
  constructor(hostRef) {
7089
9150
  registerInstance(this, hostRef);
@@ -7197,10 +9258,18 @@ class PdsSelect {
7197
9258
  }
7198
9259
  return classNames.join(' ');
7199
9260
  }
9261
+ renderAction() {
9262
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
9263
+ if (hasAction) {
9264
+ return (hAsync("div", { class: "pds-select__action", part: "action" }, hAsync("slot", { name: "action" })));
9265
+ }
9266
+ return null;
9267
+ }
7200
9268
  render() {
7201
- return (hAsync(Host, { key: '2d39b1eac389e27eea511728ef668d4d548d0c09', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, hAsync("div", { key: 'c0c4e64a19b7b11e0d64d94cbc529be7e455b12a', class: "pds-select" }, this.label &&
7202
- hAsync("label", { key: '9eadfcc4e6fd6d42f718eb0ad1542f7c03b67052', htmlFor: this.componentId }, this.label), hAsync("select", { key: 'eb1d368ed4f765dead79f6101265e922bd06ca94', autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, required: this.required, ref: (el) => (this.selectEl = el) }), hAsync("div", { key: '1dcbfe5d51e55af333e80bb99995cef1693f36c1', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, hAsync("slot", { key: '4d0c76c632e9588dc178c859be5ef1fd474fa191', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && hAsync("pds-icon", { key: '954d31034ed522ba128c9048998e92553592d12f', class: "pds-select__select-icon", icon: enlarge }))));
9269
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
9270
+ return (hAsync(Host, { key: '7bbdad147f68a6b000d738c991c4f77e7ba6d934', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: 'd8b3ba6fcaa63435c919083760573d4a94394f56', class: "pds-select" }, !this.hideLabel && (hAsync("div", { key: '01edc2b7f833d71da9c440ee9e35327210b233d1', class: "pds-select__label-wrapper" }, hAsync("label", { key: '5a7743e84be49edf04deed503a27929d15fa8515', htmlFor: this.componentId }, hAsync("span", { key: 'df5e57ac95def4069ff07f081226d70ca5a15cc8', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), hAsync("select", { key: '3e9faea02fe9449fdda224bf4f3ee157217640ff', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), hAsync("div", { key: '1a75cbfdca145e1d303c8c07de9cb8df5afa267e', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, hAsync("slot", { key: '2656e9edc098798b4a118c2a8b8a0f6283fc6f9a', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && hAsync("pds-icon", { key: 'ca5831acc4a4f72221a2d26be14e076daabd35b1', class: "pds-select__select-icon", icon: enlarge }))));
7203
9271
  }
9272
+ get el() { return getElement(this); }
7204
9273
  static get watchers() { return {
7205
9274
  "value": ["valueChanged"]
7206
9275
  }; }
@@ -7213,6 +9282,7 @@ class PdsSelect {
7213
9282
  "componentId": [1, "component-id"],
7214
9283
  "disabled": [4],
7215
9284
  "errorMessage": [1, "error-message"],
9285
+ "hideLabel": [4, "hide-label"],
7216
9286
  "helperMessage": [1, "helper-message"],
7217
9287
  "invalid": [4],
7218
9288
  "label": [1],
@@ -9938,7 +12008,7 @@ class PdsSortable {
9938
12008
  Sortable.create(this.el, sortableOptions);
9939
12009
  }
9940
12010
  render() {
9941
- return (hAsync(Host, { key: 'cbbd28ad002093f627befee44c5ae911f86b0221', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: 'f4ef09a82d8e47b471a2463912fd37ac3b9b383f' })));
12011
+ return (hAsync(Host, { key: '1477131e596ce7320a0fd99164b330c3131ed148', class: this.classNames(), id: this.componentId }, hAsync("slot", { key: 'e5045a1937528b4cd269866dc5ec0f28361259d9' })));
9942
12012
  }
9943
12013
  get el() { return getElement(this); }
9944
12014
  static get style() { return pdsSortableCss; }
@@ -9985,7 +12055,7 @@ class PdsSortableItem {
9985
12055
  }
9986
12056
  }
9987
12057
  render() {
9988
- return (hAsync(Host, { key: 'b54ef05cc6a8f2dd3c6f7f971b32bd4566738600', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (hAsync("div", { key: 'fa402ec9c8ad9a75a73a23c28d2a5101bcf3d170', class: "pds-sortable-item__handle" }, hAsync("pds-icon", { key: 'def73620ade698eccc0fb8abb4dfeb5b7de46c95', icon: handle }))), hAsync("slot", { key: 'd9dfcc135b7bd8bf893360798baa30297d4fb4ea' }), this.enableActions && (hAsync("div", { key: 'd0852370b35b213238739cea2aa1c3dcd91cbd9d', class: "pds-sortable-item__actions" }, hAsync("slot", { key: 'cbf966a4c56be43ced57e200b91d64e68f5077d9', name: "sortable-item-actions" })))));
12058
+ return (hAsync(Host, { key: '221592dd0eec456c0baf58243f529ca463cbf135', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (hAsync("div", { key: 'dbaff57b9faa68f8e72473b082108757b2283373', class: "pds-sortable-item__handle" }, hAsync("pds-icon", { key: '6d42dbe93a13bb6be2f76cccae9aa502d9940de5', icon: handle }))), hAsync("slot", { key: 'c4ae6785c184f6916ff4cc9b551e6cc07f4d0440' }), this.enableActions && (hAsync("div", { key: '4e2d581ae71cb669a06c0ec89c2f8e3e7a74cc65', class: "pds-sortable-item__actions" }, hAsync("slot", { key: '3ac9ddee2738b70fa2d4eec7fafa276d71125219', name: "sortable-item-actions" })))));
9989
12059
  }
9990
12060
  get el() { return getElement(this); }
9991
12061
  static get style() { return pdsSortableItemCss; }
@@ -10050,9 +12120,9 @@ class PdsSwitch {
10050
12120
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
10051
12121
  }
10052
12122
  render() {
10053
- return (hAsync(Host, { key: '04755f80f89f4eff8d44f8c8e76e6020f6be65fb', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, hAsync("label", { key: 'cdf1c4d58c640954ada9d50b4832fa26094b3476', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: 'f141885523b649f8dca4e9fe11494ebf640510bc', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), hAsync("span", { key: 'f80b28bd0904dfae3a4e7b46bfecc46c82843764', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
10054
- hAsync("div", { key: '7b60b9c273f4773f9d0e90fd8132dc979c088183', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
10055
- hAsync("div", { key: '9d068c8da41e985ff63851a909f985a80bdabf89', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: '14a69e6ce04e3434f440f19d6ea0e9b347a9b352', icon: danger, size: "small" }), this.errorMessage)));
12123
+ return (hAsync(Host, { key: '128ed012fe386dea88e6da282084589b22453588', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, hAsync("label", { key: '3407eeffca9a0f0c047e5d7c761526b488aafb62', htmlFor: this.componentId }, hAsync("input", Object.assign({ key: '3f16f928b2b96aa212923ba09ee80a3559b8103c', "aria-describedby": assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), hAsync("span", { key: '09c43ffbabce6a2fe133875ca15e0910d34064fa', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
12124
+ hAsync("div", { key: '90c9df8b2efef83cf238d540076bad04bf9aa2eb', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
12125
+ hAsync("div", { key: 'e812446a907dc0ad822b0c5974fca5913117f051', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, hAsync("pds-icon", { key: 'e1c93c8ac145e54a205f8bfecf465ba8e484313b', icon: danger, size: "small" }), this.errorMessage)));
10056
12126
  }
10057
12127
  get el() { return getElement(this); }
10058
12128
  static get style() { return labelCss$1 + pdsSwitchCss; }
@@ -10094,9 +12164,9 @@ class PdsTab {
10094
12164
  this.pdsTabClick.emit([index, parentComponentId]);
10095
12165
  }
10096
12166
  render() {
10097
- const availabilityTabEdgeInlineStart = (hAsync("span", { key: '5256039455be2b9e0dbfd18caf5a7a4f6ca2f047', class: "pds-tab-edge", role: "presentation" }));
10098
- const availabilityTabEdgeInlineEnd = (hAsync("span", { key: 'c65bc9ccb5a43ee1c1f634fa19c4ac6d66259747', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
10099
- return (hAsync(Host, { key: '0f379e0d4cce1590dc917196dd520b26bb5e89d9', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: '70b033b21ff9093b2393565c026ff4954d74dbf3', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: 'b01547140256199ec4e829a83e11ea27d059e0ea', class: "pds-tab__content" }, hAsync("slot", { key: '7dce311009731af53a4b6fff4af6e90f91a060a7' })))));
12167
+ const availabilityTabEdgeInlineStart = (hAsync("span", { key: '4f66f8149bd22a451ddc9e2849dfb06110d9bad9', class: "pds-tab-edge", role: "presentation" }));
12168
+ const availabilityTabEdgeInlineEnd = (hAsync("span", { key: '2a8e8c25af220803c4b75d29f31d6381475a12dd', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
12169
+ return (hAsync(Host, { key: '62b2ccf5e478fc50b41bd837979311c535c78412', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: 'e1b179b308791299b6d57441ea50f79da7bd8f21', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: 'fcf7b2db11eaa6e8f0c97b96f925540678a3c864', class: "pds-tab__content" }, hAsync("slot", { key: '2ee6ea6d01dc62bd177e9b8473602b9d5b2549b3' })))));
10100
12170
  }
10101
12171
  get el() { return getElement(this); }
10102
12172
  static get style() { return pdsTabCss; }
@@ -10205,7 +12275,7 @@ class PdsTable {
10205
12275
  headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;
10206
12276
  }
10207
12277
  render() {
10208
- return (hAsync(Host, { key: 'b874cdb2b0f0dcc313befdd557d5ce4203a183ac', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, hAsync("slot", { key: '52bcce99761712662828ba5a708155410de6e15d' })));
12278
+ return (hAsync(Host, { key: '994a8ae5aae1ddcc7dd0271187dd65718bc1401f', class: this.classNames(), id: this.componentId, role: "grid", selectable: this.selectable, tabindex: "0" }, hAsync("slot", { key: 'e07c97a88d1bf1b2efb92f2cdf0159fc93ca9f9a' })));
10209
12279
  }
10210
12280
  get el() { return getElement(this); }
10211
12281
  static get style() { return pdsTableCss; }
@@ -10234,7 +12304,7 @@ class PdsTableBody {
10234
12304
  registerInstance(this, hostRef);
10235
12305
  }
10236
12306
  render() {
10237
- return (hAsync(Host, { key: 'ec68d794fd59876a83f40077d29e97af4366f19a', role: "rowgroup" }, hAsync("slot", { key: '9d052cdf3c0ea8afa86a6900d492c9de5c9adaf1' })));
12307
+ return (hAsync(Host, { key: 'fc9edecfd03417cb9f6c4386b5fb4fd3a015138d', role: "rowgroup" }, hAsync("slot", { key: 'c79c6c1009b0afb456551d2e989491567fe73f43' })));
10238
12308
  }
10239
12309
  static get style() { return pdsTableBodyCss; }
10240
12310
  static get cmpMeta() { return {
@@ -10288,11 +12358,11 @@ class PdsTableCell {
10288
12358
  return classNames.join(' ');
10289
12359
  }
10290
12360
  render() {
10291
- return (hAsync(Host, { key: 'f86b2ae5eaee0f3bcb1cd55951a0e83bce4ccfca', class: this.classNames(), role: "gridcell", style: this.tableRef &&
12361
+ return (hAsync(Host, { key: '289640cb5d2d78067b4a32a26e2eb9200cdbde1a', class: this.classNames(), role: "gridcell", style: this.tableRef &&
10292
12362
  this.tableRef.fixedColumn &&
10293
12363
  this.tableRef.selectable
10294
12364
  ? { '--fixed-cell-position': '40px' }
10295
- : {} }, hAsync("slot", { key: '347d6487bc869bf9903c5e1fb8b05ca29d6e6d50' })));
12365
+ : {} }, hAsync("slot", { key: 'e961e93f1d6cbc3bd6b9aa476632741dfc603bfc' })));
10296
12366
  }
10297
12367
  get hostElement() { return getElement(this); }
10298
12368
  static get style() { return pdsTableCellCss; }
@@ -10353,7 +12423,7 @@ class PdsTableHead {
10353
12423
  }
10354
12424
  }
10355
12425
  render() {
10356
- return (hAsync(Host, { key: 'f74bfa35afc2f26957ffff431c5438fbb159e15b', role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '13bcfb69c1e8ab696ba702d39209944fa97f34ea', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: '898170f579ad89627621bb693908b1b04ca25f83', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: 'd7dc459310c32ee112e05df947b8c9da57180035' })));
12426
+ return (hAsync(Host, { key: '3f315b70b0c57570cbb81415a5590760242e6904', role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-head-cell", { key: '09dc3a0630448be1112650ae34d6c09e0bf2539b', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, hAsync("pds-checkbox", { key: '518ec4ad92e8b0b11fbff1c064a6811e13b442e0', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: '527db0d141790c0d673cb81d4cca2266495b117e' })));
10357
12427
  }
10358
12428
  get hostElement() { return getElement(this); }
10359
12429
  static get style() { return pdsTableHeadCss; }
@@ -10435,11 +12505,11 @@ class PdsTableHeadCell {
10435
12505
  return classNames.join(' ');
10436
12506
  }
10437
12507
  render() {
10438
- return (hAsync(Host, { key: '9f9138f88914add530416fbf776d5a68685a3fab', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
12508
+ return (hAsync(Host, { key: 'bf2f29d2214ba308be7c8cca6b2afb66fdccc2fa', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
10439
12509
  this.tableRef.fixedColumn &&
10440
12510
  this.tableRef.selectable
10441
12511
  ? { '--fixed-cell-position': '40px' }
10442
- : {} }, hAsync("slot", { key: '84d3c20fc656b468d6c46cc9f5a8c49071af7d04' }), this.sortable && (hAsync("pds-icon", { key: '4ad357565f9542604c16ade571bc5e55b4fa1077', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
12512
+ : {} }, hAsync("slot", { key: '14a6849059768b901ec5be69cff37f56ce07c15b' }), this.sortable && (hAsync("pds-icon", { key: '29e0068115ec20dba39e4a798f11d0b0a0c6fef7', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
10443
12513
  }
10444
12514
  get hostElement() { return getElement(this); }
10445
12515
  static get style() { return pdsTableHeadCellCss; }
@@ -10505,7 +12575,7 @@ class PdsTableRow {
10505
12575
  }
10506
12576
  }
10507
12577
  render() {
10508
- return (hAsync(Host, { key: 'd3ebaeea3a8007634ea821da5a458189a36837a7', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: '62705fadc9cdb18de2eebd4c608c0dffa119cfba', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: '19e01d4eef0657f7e34a5a9061e568a18eb9b7c6', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: '59b3c28a61f36f9ea6e891876bf007590a7cce51' })));
12578
+ return (hAsync(Host, { key: '3c2be878370bd35f97a3fc4cc1136a6fdb096a24', class: this.classNames(), role: "row" }, this.tableRef && this.tableRef.selectable && (hAsync("pds-table-cell", { key: '40541b11040d4c243d82779cf84e212f73541368', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '', class: this.tableRef.selectable ? 'has-checkbox' : '' }, hAsync("pds-checkbox", { key: 'd20e734a91562340f3808297c2bb6f5f257d7a46', componentId: this.generateUniqueId(), onClick: this.handleClick, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected }))), hAsync("slot", { key: '148434aa3dace85b0d48aa2a0ead93cda6850d2a' })));
10509
12579
  }
10510
12580
  get hostElement() { return getElement(this); }
10511
12581
  static get style() { return pdsTableRowCss; }
@@ -10534,7 +12604,7 @@ class PdsTabpanel {
10534
12604
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
10535
12605
  }
10536
12606
  render() {
10537
- return (hAsync(Host, { key: 'fe7548d8da3149d13d23b41d6860beb1f351b3c6', slot: "tabpanels" }, hAsync("div", { key: 'bf50bfc20be721ba467ff22ba24f0410153223f5', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: '3de1657e963e7e9fca81fac07f78edc064cd86e7' }))));
12607
+ return (hAsync(Host, { key: '0465e33b28555596cc4a891a63a99c49153f577d', slot: "tabpanels" }, hAsync("div", { key: '8c2404f0aaee7dd7219552b51332d4194aa535ae', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: 'f7f9dc2a755aa726b8e46d8641087a8fdb1a9e5e' }))));
10538
12608
  }
10539
12609
  get el() { return getElement(this); }
10540
12610
  static get style() { return pdsTabpanelCss; }
@@ -10635,7 +12705,7 @@ class PdsTabs {
10635
12705
  this.passPropsToChildren();
10636
12706
  }
10637
12707
  render() {
10638
- return (hAsync(Host, { key: '571b33280e4473d1a8bef6e90103c4d42a29ed03', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: 'c50a6cd3b8a06e13ff14626258769b7918f57ed0', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, hAsync("slot", { key: '1fcbefc41181ce48f2a109ee0703d03f9975784f', name: "tabs" })), hAsync("slot", { key: '9762d5533cbbea5672f2a4235b90b3a766066179', name: "tabpanels" })));
12708
+ return (hAsync(Host, { key: '3b06654b1d2298a9cfa3fc42996ad72e80942ee4', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: '529e1aa48f7fea4754dbe8a3d8f655eb297e1a9a', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel }, hAsync("slot", { key: 'cca3b75eec2a519e87878b39d8ca52a6c033dc4d', name: "tabs" })), hAsync("slot", { key: 'caf5abcc85eee1e45e197a7ec792a873cdfb104b', name: "tabpanels" })));
10639
12709
  }
10640
12710
  get el() { return getElement(this); }
10641
12711
  static get style() { return pdsTabsCss; }
@@ -10657,6 +12727,9 @@ class PdsTabs {
10657
12727
 
10658
12728
  const pdsTextCss = ":host{display:inline}:host([decoration=underline-dotted])>*{-webkit-text-decoration-color:var(--pine-color-grey-600);text-decoration-color:var(--pine-color-grey-600);-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:12%;text-underline-offset:0.3rem;text-underline-position:under}:host([decoration=strikethrough])>*{text-decoration:line-through}h1{font:var(--pine-typography-heading-1);letter-spacing:var(--pine-letter-spacing-heading-1)}h2{font:var(--pine-typography-heading-2);letter-spacing:var(--pine-letter-spacing-heading-2)}h3{font:var(--pine-typography-heading-3);letter-spacing:var(--pine-letter-spacing-heading-3)}h4{font:var(--pine-typography-heading-4);letter-spacing:var(--pine-letter-spacing-heading-4)}h5{font:var(--pine-typography-heading-5);letter-spacing:var(--pine-letter-spacing-heading-5)}h6{font:var(--pine-typography-heading-6);letter-spacing:var(--pine-letter-spacing-heading-6)}code,em,p,pre,strong{font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing)}code,pre{font-family:monospace;letter-spacing:0;line-height:1}em{font-style:normal}strong{font-weight:bolder}:host([truncate])>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([italic])>*{font-style:italic}.pds-text{color:var(--color, var(--pine-color-text));margin:var(--pine-dimension-none)}.pds-text--size-2xl{font-size:var(--pine-font-size-body-2xl)}.pds-text--size-xl{font-size:var(--pine-font-size-body-xl)}.pds-text--size-lg{font-size:var(--pine-font-size-body-lg)}.pds-text--size-md{font-size:var(--pine-font-size-body-md)}.pds-text--size-sm{font-size:var(--pine-font-size-body-sm)}.pds-text--size-xs{font-size:var(--pine-font-size-body-xs)}.pds-text--size-2xs{font-size:var(--pine-font-size-body-2xs)}.pds-text--size-h1{font-size:var(--pine-font-size-heading-1)}.pds-text--size-h2{font-size:var(--pine-font-size-heading-2)}.pds-text--size-h3{font-size:var(--pine-font-size-heading-3)}.pds-text--size-h4{font-size:var(--pine-font-size-heading-4)}.pds-text--size-h5{font-size:var(--pine-font-size-heading-5)}.pds-text--size-h6{font-size:var(--pine-font-size-heading-6)}.pds-text--weight-extra-light{font-weight:var(--pine-font-weight-extra-light)}.pds-text--weight-light{font-weight:var(--pine-font-weight-light)}.pds-text--weight-regular{font-weight:var(--pine-font-weight-regular)}.pds-text--weight-medium{font-weight:var(--pine-font-weight-medium)}.pds-text--weight-semibold{font-weight:var(--pine-font-weight-semi-bold)}.pds-text--weight-bold{font-weight:var(--pine-font-weight-bold)}.pds-text--gutter-2xl{-webkit-margin-after:var(--pine-dimension-2xl);margin-block-end:var(--pine-dimension-2xl)}.pds-text--gutter-xl{-webkit-margin-after:var(--pine-dimension-xl);margin-block-end:var(--pine-dimension-xl)}.pds-text--gutter-lg{-webkit-margin-after:var(--pine-dimension-lg);margin-block-end:var(--pine-dimension-lg)}.pds-text--gutter-md{-webkit-margin-after:var(--pine-dimension-md);margin-block-end:var(--pine-dimension-md)}.pds-text--gutter-sm{-webkit-margin-after:var(--pine-dimension-sm);margin-block-end:var(--pine-dimension-sm)}.pds-text--gutter-xs{-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-text--gutter-2xs{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-text--align-start{text-align:start}.pds-text--align-center{text-align:center}.pds-text--align-end{text-align:end}.pds-text--align-justify{text-align:justify}";
10659
12729
 
12730
+ /**
12731
+ * @part content - The text content container
12732
+ */
10660
12733
  class PdsText {
10661
12734
  constructor(hostRef) {
10662
12735
  registerInstance(this, hostRef);
@@ -10675,7 +12748,7 @@ class PdsText {
10675
12748
  ${this.weight !== undefined && this.weight.trim() !== '' ? `pds-text--weight-${this.weight}` : ''}
10676
12749
  ${this.decoration !== undefined && this.decoration.trim() !== '' ? `pds-text--decoration-${this.decoration}` : ''}
10677
12750
  `;
10678
- return (hAsync(Tag, { key: 'dbb51692cc782fcef771390934ca6efc7a2728b9', style: this.color && setColor(this.color), class: typeClasses }, hAsync("slot", { key: '9e7351a9de468132a213f3e26c20c8ca894881a8' })));
12751
+ return (hAsync(Tag, { key: '2b8a2f2aaafd342a7df51029213c82224774fd5f', style: this.color && setColor(this.color), class: typeClasses, part: "content" }, hAsync("slot", { key: '8dd80aaec576c1e1ab152529f94732d6074c5542' })));
10679
12752
  }
10680
12753
  get el() { return getElement(this); }
10681
12754
  static get style() { return pdsTextCss; }
@@ -10703,8 +12776,11 @@ const labelCss = ":host{display:inline-block}:host([aria-disabled=true]) label{c
10703
12776
 
10704
12777
  const pdsInputTokensCss = ":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";
10705
12778
 
10706
- const pdsTextareaCss = ":host{display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}label{display:block;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
12779
+ const pdsTextareaCss = ":host{display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-textarea__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{display:block;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";
10707
12780
 
12781
+ /**
12782
+ * @slot action - Content to be displayed in the label area, typically for help icons or links
12783
+ */
10708
12784
  class PdsTextarea {
10709
12785
  constructor(hostRef) {
10710
12786
  registerInstance(this, hostRef);
@@ -10742,6 +12818,10 @@ class PdsTextarea {
10742
12818
  */
10743
12819
  this.value = '';
10744
12820
  this.hasFocus = false;
12821
+ /**
12822
+ * If true, the textarea has action content in the label area
12823
+ */
12824
+ this.hasAction = false;
10745
12825
  this.onBlur = (ev) => {
10746
12826
  this.hasFocus = false;
10747
12827
  if (this.focusedValue !== this.value) {
@@ -10822,16 +12902,24 @@ class PdsTextarea {
10822
12902
  }
10823
12903
  componentWillLoad() {
10824
12904
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes$1(this.el));
12905
+ this.hasAction = this.el.querySelector('[slot="action"]') !== null;
10825
12906
  }
10826
12907
  componentDidLoad() {
10827
12908
  this.originalPdsInput = this.pdsInput;
10828
12909
  }
12910
+ renderAction() {
12911
+ const hasAction = this.el.querySelector('[slot="action"]') !== null;
12912
+ if (hasAction) {
12913
+ return (hAsync("div", { class: "pds-textarea__action", part: "action" }, hAsync("slot", { name: "action" })));
12914
+ }
12915
+ return null;
12916
+ }
10829
12917
  render() {
10830
12918
  const value = this.getValue();
10831
- return (hAsync(Host, { key: 'a7db5e94c424af94616faae520aa8f39ee23cedd', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null }, hAsync("div", { key: '26c4a0b5e464e648f627c6de6d948a159e1b4603', class: "pds-textarea" }, this.label &&
10832
- hAsync("label", { key: 'b32a15274079ba8fdb4d911dfc4915da9437a57a', htmlFor: this.componentId }, this.label), hAsync("textarea", Object.assign({ key: '6348ed57813a044849a8de53a172f9f724d7b00e', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
10833
- hAsync("p", { key: '0f9a7606295b5d020e4762f2dc66bc920a60f8da', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
10834
- hAsync("p", { key: 'badc7d45069955709993c594ed9792c7cdc8727b', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '460955036713315d8dd7b125a50b09d0cb1a282d', icon: danger, size: "small" }), this.errorMessage))));
12919
+ return (hAsync(Host, { key: 'fa16663adc15f59b07b1d9b6f0ce4ae7d4664967', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction ? 'true' : null }, hAsync("div", { key: '5f3406c079111f605a38da627db564ab8f1d2dbb', class: "pds-textarea" }, this.label &&
12920
+ hAsync("div", { key: '00cea607a59cdf31adb21c3b7d92b8dc21560fe8', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: 'e94c947240141495b83329ae9bbc38aefe77cee1', htmlFor: this.componentId }, this.label), this.renderAction()), hAsync("textarea", Object.assign({ key: 'd29a1cc338533a20808060f37af1f784f4556a02', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput }, this.inheritedAttributes), value), this.helperMessage &&
12921
+ hAsync("p", { key: 'be35def46c67b7b333be13e0d0ccbf47b4db3e15', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
12922
+ hAsync("p", { key: 'e4636cb54fea2071896a03e17c965039f58ec790', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: 'dec05eb0d1b7713c96148725a9278f0f62361ba5', icon: danger, size: "small" }), this.errorMessage))));
10835
12923
  }
10836
12924
  get el() { return getElement(this); }
10837
12925
  static get watchers() { return {
@@ -10858,6 +12946,7 @@ class PdsTextarea {
10858
12946
  "rows": [2],
10859
12947
  "value": [1025],
10860
12948
  "hasFocus": [32],
12949
+ "hasAction": [32],
10861
12950
  "setFocus": [64]
10862
12951
  },
10863
12952
  "$listeners$": undefined,
@@ -10948,13 +13037,13 @@ class PdsToast {
10948
13037
  return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
10949
13038
  }
10950
13039
  render() {
10951
- return (hAsync(Host, { key: 'c950cf3a269952f6048f79e5c6c793c65ff2b89a', hidden: !this.isVisible }, hAsync("div", { key: '0cec10124aecec0c7af86b460165a577c65d1571', class: {
13040
+ return (hAsync(Host, { key: '3fb4b7b3600555959e9ed09f9dfd3a725d4a2de7', hidden: !this.isVisible }, hAsync("div", { key: '4f8d554fc30a5e4fb3c498b8fa5a2972a60eb0ab', class: {
10952
13041
  'pds-toast': true,
10953
13042
  [`pds-toast--${this.type}`]: this.type !== 'default',
10954
13043
  'pds-toast--animating-out': this.isAnimatingOut
10955
- }, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '5dda529f788df94ed0e444924fb11a1061a20dd1', class: "pds-toast__message" }, hAsync("slot", { key: '29a6c93dbf14f92b1375eff7a3c8f4556babe67a' })), this.dismissible && (hAsync("button", { key: 'f3bcbcacceb5ef2b1d2127d408879e2a95418230', type: "button", class: "pds-toast__button", onClick: () => {
13044
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: 'a70883e76524ce76e562f48d62df1a42fb65659c', class: "pds-toast__message" }, hAsync("slot", { key: '3e2fd182b97d1cd89c59ca109404d77e9f834806' })), this.dismissible && (hAsync("button", { key: '945b766572831b259f2ff36fdf628b254189d334', type: "button", class: "pds-toast__button", onClick: () => {
10956
13045
  this.dismiss();
10957
- }, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '1ea48def81a89dc7ba38f493abb0107632005075', name: "remove" }))))));
13046
+ }, "aria-label": "Dismiss message" }, hAsync("pds-icon", { key: '9492720d544270179ae43bd3d1ecb4b1f6c0882b', name: "remove" }))))));
10958
13047
  }
10959
13048
  static get watchers() { return {
10960
13049
  "duration": ["handleDurationChange"]
@@ -11083,6 +13172,8 @@ class PdsTooltip {
11083
13172
  this.contentDiv = null;
11084
13173
  this.slotMutationObserver = null;
11085
13174
  this.overlayResizeObserver = null;
13175
+ this.currentPathname = '';
13176
+ this.pathnameCheckInterval = null;
11086
13177
  /**
11087
13178
  * Determines when the tooltip is open
11088
13179
  * @defaultValue false
@@ -11152,6 +13243,12 @@ class PdsTooltip {
11152
13243
  this.hideTooltip();
11153
13244
  this._isInteractiveOpen = false;
11154
13245
  };
13246
+ this.checkPathnameChange = () => {
13247
+ if (window.location.pathname !== this.currentPathname) {
13248
+ this.currentPathname = window.location.pathname;
13249
+ this.handleSpaNavigation();
13250
+ }
13251
+ };
11155
13252
  }
11156
13253
  handleOpenToggle(newValue, oldValue) {
11157
13254
  if (newValue === false && oldValue === true) {
@@ -11163,6 +13260,7 @@ class PdsTooltip {
11163
13260
  }
11164
13261
  componentDidLoad() {
11165
13262
  window.addEventListener('pageshow', this.handlePageShow);
13263
+ this.currentPathname = window.location.pathname;
11166
13264
  this.triggerEl = this.el.querySelector('.pds-tooltip__trigger');
11167
13265
  const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');
11168
13266
  if (contentSlotWrapper !== null) {
@@ -11321,6 +13419,8 @@ class PdsTooltip {
11321
13419
  window.addEventListener('scroll', this.handleScroll, true);
11322
13420
  window.addEventListener('popstate', this.handleSpaNavigation, true);
11323
13421
  window.addEventListener('hashchange', this.handleSpaNavigation, true);
13422
+ // Start pathname change detection
13423
+ this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);
11324
13424
  // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed
11325
13425
  if (this.triggerEl !== null && this.portalEl.id !== '') {
11326
13426
  this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);
@@ -11331,6 +13431,11 @@ class PdsTooltip {
11331
13431
  this.overlayResizeObserver.unobserve(this.contentDiv);
11332
13432
  this.overlayResizeObserver = null;
11333
13433
  }
13434
+ // Stop pathname change detection
13435
+ if (this.pathnameCheckInterval !== null) {
13436
+ clearInterval(this.pathnameCheckInterval);
13437
+ this.pathnameCheckInterval = null;
13438
+ }
11334
13439
  if (this.portalEl !== null) {
11335
13440
  window.removeEventListener('scroll', this.handleScroll, true);
11336
13441
  window.removeEventListener('popstate', this.handleSpaNavigation, true);
@@ -11346,7 +13451,7 @@ class PdsTooltip {
11346
13451
  }
11347
13452
  render() {
11348
13453
  const hostId = this.componentId || undefined;
11349
- return (hAsync(Host, { key: '0fe2bea1ea0e8eaeb5879644694a2e129f1f4898', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: 'f26feb3c37957573d3b6b0a55091b2e7012ae31b', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: 'c7940e3aa7f17fc5d5fcdedc0a624204ceed291c' })), hAsync("div", { key: '0c8dc83e3b7f8c1337aae8641d80f63c0866c348', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, hAsync("slot", { key: '2f6701768c0debdd69673da3ad7dc34b8b237f6a', name: "content" }))));
13454
+ return (hAsync(Host, { key: 'd0651080fc68d70a01d8c487d08a59f356f06e88', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '9f8c246c63a80c0d30c73687faa133b213c6bb63', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide, onFocus: this.handleShow, onBlur: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '2295b22ac9ec244f31410cd6a3764248100a1c48' })), hAsync("div", { key: '7c8a59703b7c6ff43b0aa9352a869d59bca9b2b1', class: "pds-tooltip__content-slot-wrapper", style: { display: 'none' } }, hAsync("slot", { key: '612dab7daf61394624177c45d47f542d551af52c', name: "content" }))));
11350
13455
  }
11351
13456
  get el() { return getElement(this); }
11352
13457
  static get watchers() { return {
@@ -11385,6 +13490,7 @@ registerComponents([
11385
13490
  PdsButton,
11386
13491
  PdsCheckbox,
11387
13492
  PdsChip,
13493
+ PdsCombobox,
11388
13494
  PdsCopytext,
11389
13495
  PdsDivider,
11390
13496
  PdsDropdownMenu,
@@ -11401,6 +13507,7 @@ registerComponents([
11401
13507
  PdsModalHeader,
11402
13508
  PdsPopover,
11403
13509
  PdsProgress,
13510
+ PdsProperty,
11404
13511
  PdsRadio,
11405
13512
  PdsRow,
11406
13513
  PdsSelect,