@pine-ds/core 3.26.3 → 3.26.4

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 (536) hide show
  1. package/components/mock-pds-modal.js +1 -1
  2. package/components/mock-pds-modal.js.map +1 -1
  3. package/components/pds-combobox.js +1 -1
  4. package/components/pds-combobox.js.map +1 -1
  5. package/components/pds-dropdown-menu.js +1 -1
  6. package/components/pds-dropdown-menu.js.map +1 -1
  7. package/components/pds-filter.js +1 -1
  8. package/components/pds-filter.js.map +1 -1
  9. package/components/pds-input.js +1 -1
  10. package/components/pds-input.js.map +1 -1
  11. package/components/pds-modal.js +1 -1
  12. package/components/pds-modal.js.map +1 -1
  13. package/components/pds-multiselect.js +1 -1
  14. package/components/pds-multiselect.js.map +1 -1
  15. package/components/pds-popover.js +2 -2
  16. package/components/pds-popover.js.map +1 -1
  17. package/components/pds-radio.js +1 -1
  18. package/components/pds-radio.js.map +1 -1
  19. package/components/pds-toast.js +42 -6
  20. package/components/pds-toast.js.map +1 -1
  21. package/dist/cjs/{index-BYnQkA7p.js → index-BUvWX8u2.js} +3 -3
  22. package/dist/cjs/index-BUvWX8u2.js.map +1 -0
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/mock-pds-modal.cjs.entry.js +2 -2
  25. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  26. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  27. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  29. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  30. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  31. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  33. package/dist/cjs/pds-combobox.cjs.entry.js +2 -2
  34. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  35. package/dist/cjs/pds-container.cjs.entry.js +1 -1
  36. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  37. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  38. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  39. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  40. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  41. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  42. package/dist/cjs/pds-filter.cjs.entry.js +2 -2
  43. package/dist/cjs/pds-filter.entry.cjs.js.map +1 -1
  44. package/dist/cjs/pds-filters.cjs.entry.js +1 -1
  45. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/pds-image.cjs.entry.js +1 -1
  47. package/dist/cjs/pds-input.cjs.entry.js +2 -2
  48. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  49. package/dist/cjs/pds-link.cjs.entry.js +1 -1
  50. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  51. package/dist/cjs/pds-modal-content.cjs.entry.js +1 -1
  52. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  53. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  54. package/dist/cjs/pds-modal.cjs.entry.js +2 -2
  55. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  56. package/dist/cjs/pds-multiselect.cjs.entry.js +2 -2
  57. package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
  58. package/dist/cjs/pds-popover.cjs.entry.js +3 -3
  59. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  60. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  61. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  62. package/dist/cjs/pds-radio-group.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  64. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  65. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  66. package/dist/cjs/pds-select.cjs.entry.js +1 -1
  67. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  68. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  69. package/dist/cjs/pds-switch.cjs.entry.js +1 -1
  70. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  71. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  72. package/dist/cjs/pds-table-cell.cjs.entry.js +1 -1
  73. package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
  74. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  75. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  77. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-textarea.cjs.entry.js +1 -1
  81. package/dist/cjs/pds-toast.cjs.entry.js +43 -7
  82. package/dist/cjs/pds-toast.entry.cjs.js.map +1 -1
  83. package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
  84. package/dist/cjs/pine-core.cjs.js +1 -1
  85. package/dist/collection/components/pds-combobox/pds-combobox.css +2 -2
  86. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  87. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +2 -2
  88. package/dist/collection/components/pds-input/pds-input.css +1 -1
  89. package/dist/collection/components/pds-modal/pds-modal.css +1 -1
  90. package/dist/collection/components/pds-multiselect/pds-multiselect.css +2 -2
  91. package/dist/collection/components/pds-popover/pds-popover.js +2 -2
  92. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  93. package/dist/collection/components/pds-radio/pds-radio.css +1 -1
  94. package/dist/collection/components/pds-toast/pds-toast.css +2 -2
  95. package/dist/collection/components/pds-toast/pds-toast.js +41 -5
  96. package/dist/collection/components/pds-toast/pds-toast.js.map +1 -1
  97. package/dist/docs.json +1 -1
  98. package/dist/esm/{index-QYCDCKN2.js → index-B2f84Zog.js} +3 -3
  99. package/dist/esm/index-B2f84Zog.js.map +1 -0
  100. package/dist/esm/loader.js +2 -2
  101. package/dist/esm/mock-pds-modal.entry.js +2 -2
  102. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  103. package/dist/esm/pds-accordion.entry.js +1 -1
  104. package/dist/esm/pds-alert.entry.js +1 -1
  105. package/dist/esm/pds-avatar.entry.js +1 -1
  106. package/dist/esm/pds-box.entry.js +1 -1
  107. package/dist/esm/pds-button.entry.js +1 -1
  108. package/dist/esm/pds-checkbox.entry.js +1 -1
  109. package/dist/esm/pds-chip.entry.js +1 -1
  110. package/dist/esm/pds-combobox.entry.js +2 -2
  111. package/dist/esm/pds-combobox.entry.js.map +1 -1
  112. package/dist/esm/pds-container.entry.js +1 -1
  113. package/dist/esm/pds-copytext.entry.js +1 -1
  114. package/dist/esm/pds-divider.entry.js +1 -1
  115. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  116. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  117. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  118. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  119. package/dist/esm/pds-filter.entry.js +2 -2
  120. package/dist/esm/pds-filter.entry.js.map +1 -1
  121. package/dist/esm/pds-filters.entry.js +1 -1
  122. package/dist/esm/pds-icon.entry.js +1 -1
  123. package/dist/esm/pds-image.entry.js +1 -1
  124. package/dist/esm/pds-input.entry.js +2 -2
  125. package/dist/esm/pds-input.entry.js.map +1 -1
  126. package/dist/esm/pds-link.entry.js +1 -1
  127. package/dist/esm/pds-loader.entry.js +1 -1
  128. package/dist/esm/pds-modal-content.entry.js +1 -1
  129. package/dist/esm/pds-modal-footer.entry.js +1 -1
  130. package/dist/esm/pds-modal-header.entry.js +1 -1
  131. package/dist/esm/pds-modal.entry.js +2 -2
  132. package/dist/esm/pds-modal.entry.js.map +1 -1
  133. package/dist/esm/pds-multiselect.entry.js +2 -2
  134. package/dist/esm/pds-multiselect.entry.js.map +1 -1
  135. package/dist/esm/pds-popover.entry.js +3 -3
  136. package/dist/esm/pds-popover.entry.js.map +1 -1
  137. package/dist/esm/pds-progress.entry.js +1 -1
  138. package/dist/esm/pds-property.entry.js +1 -1
  139. package/dist/esm/pds-radio-group.entry.js +1 -1
  140. package/dist/esm/pds-radio.entry.js +2 -2
  141. package/dist/esm/pds-radio.entry.js.map +1 -1
  142. package/dist/esm/pds-row.entry.js +1 -1
  143. package/dist/esm/pds-select.entry.js +1 -1
  144. package/dist/esm/pds-sortable-item.entry.js +1 -1
  145. package/dist/esm/pds-sortable.entry.js +1 -1
  146. package/dist/esm/pds-switch.entry.js +1 -1
  147. package/dist/esm/pds-tab.entry.js +1 -1
  148. package/dist/esm/pds-table-body.entry.js +1 -1
  149. package/dist/esm/pds-table-cell.entry.js +1 -1
  150. package/dist/esm/pds-table-head-cell.entry.js +1 -1
  151. package/dist/esm/pds-table-head.entry.js +1 -1
  152. package/dist/esm/pds-table-row.entry.js +1 -1
  153. package/dist/esm/pds-table.entry.js +1 -1
  154. package/dist/esm/pds-tabpanel.entry.js +1 -1
  155. package/dist/esm/pds-tabs.entry.js +1 -1
  156. package/dist/esm/pds-text.entry.js +1 -1
  157. package/dist/esm/pds-textarea.entry.js +1 -1
  158. package/dist/esm/pds-toast.entry.js +43 -7
  159. package/dist/esm/pds-toast.entry.js.map +1 -1
  160. package/dist/esm/pds-tooltip.entry.js +1 -1
  161. package/dist/esm/pine-core.js +2 -2
  162. package/dist/esm-es5/index-B2f84Zog.js +3 -0
  163. package/dist/esm-es5/index-B2f84Zog.js.map +1 -0
  164. package/dist/esm-es5/loader.js +1 -1
  165. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  166. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  167. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  168. package/dist/esm-es5/pds-alert.entry.js +1 -1
  169. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  170. package/dist/esm-es5/pds-box.entry.js +1 -1
  171. package/dist/esm-es5/pds-button.entry.js +1 -1
  172. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  173. package/dist/esm-es5/pds-chip.entry.js +1 -1
  174. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  175. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  176. package/dist/esm-es5/pds-container.entry.js +1 -1
  177. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  178. package/dist/esm-es5/pds-divider.entry.js +1 -1
  179. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  180. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  181. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  182. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  183. package/dist/esm-es5/pds-filter.entry.js +1 -1
  184. package/dist/esm-es5/pds-filter.entry.js.map +1 -1
  185. package/dist/esm-es5/pds-filters.entry.js +1 -1
  186. package/dist/esm-es5/pds-icon.entry.js +1 -1
  187. package/dist/esm-es5/pds-image.entry.js +1 -1
  188. package/dist/esm-es5/pds-input.entry.js +1 -1
  189. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  190. package/dist/esm-es5/pds-link.entry.js +1 -1
  191. package/dist/esm-es5/pds-loader.entry.js +1 -1
  192. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  193. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  194. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  195. package/dist/esm-es5/pds-modal.entry.js +1 -1
  196. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  197. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  198. package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
  199. package/dist/esm-es5/pds-popover.entry.js +1 -1
  200. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  201. package/dist/esm-es5/pds-progress.entry.js +1 -1
  202. package/dist/esm-es5/pds-property.entry.js +1 -1
  203. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  204. package/dist/esm-es5/pds-radio.entry.js +1 -1
  205. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  206. package/dist/esm-es5/pds-row.entry.js +1 -1
  207. package/dist/esm-es5/pds-select.entry.js +1 -1
  208. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  209. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  210. package/dist/esm-es5/pds-switch.entry.js +1 -1
  211. package/dist/esm-es5/pds-tab.entry.js +1 -1
  212. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  213. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  214. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  215. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  216. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  217. package/dist/esm-es5/pds-table.entry.js +1 -1
  218. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  219. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  220. package/dist/esm-es5/pds-text.entry.js +1 -1
  221. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  222. package/dist/esm-es5/pds-toast.entry.js +1 -1
  223. package/dist/esm-es5/pds-toast.entry.js.map +1 -1
  224. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  225. package/dist/esm-es5/pine-core.js +1 -1
  226. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  227. package/dist/pine-core/p-037dbdcd.system.entry.js +2 -0
  228. package/dist/pine-core/{p-847ca369.entry.js → p-06713f25.entry.js} +2 -2
  229. package/dist/pine-core/{p-cc7e0da3.entry.js → p-0977b2dd.entry.js} +2 -2
  230. package/dist/pine-core/{p-6a20ba14.system.entry.js → p-099e9f9b.system.entry.js} +2 -2
  231. package/dist/pine-core/p-0a7115f0.entry.js +2 -0
  232. package/dist/pine-core/{p-1700705c.entry.js.map → p-0a7115f0.entry.js.map} +1 -1
  233. package/dist/pine-core/{p-e65b1e5f.system.entry.js → p-0c1ab384.system.entry.js} +2 -2
  234. package/dist/pine-core/{p-e626cbd5.system.entry.js → p-0dee7449.system.entry.js} +2 -2
  235. package/dist/pine-core/{p-58bd1590.system.entry.js → p-102d0dd6.system.entry.js} +2 -2
  236. package/dist/pine-core/p-10ebecc5.entry.js +2 -0
  237. package/dist/pine-core/{p-44318b5c.entry.js.map → p-10ebecc5.entry.js.map} +1 -1
  238. package/dist/pine-core/{p-67a81e55.entry.js → p-1598f3af.entry.js} +2 -2
  239. package/dist/pine-core/{p-9a2dc18d.system.entry.js → p-1c32102e.system.entry.js} +2 -2
  240. package/dist/pine-core/p-2258b31b.system.entry.js +2 -0
  241. package/dist/pine-core/{p-2728bb30.system.entry.js.map → p-2258b31b.system.entry.js.map} +1 -1
  242. package/dist/pine-core/{p-d5ba377c.system.entry.js → p-275fa74c.system.entry.js} +2 -2
  243. package/dist/pine-core/p-27fc0737.system.entry.js +2 -0
  244. package/dist/pine-core/{p-65224129.system.entry.js.map → p-27fc0737.system.entry.js.map} +1 -1
  245. package/dist/pine-core/{p-b4c51353.system.entry.js → p-32ad2807.system.entry.js} +2 -2
  246. package/dist/pine-core/p-33544ed1.system.entry.js +2 -0
  247. package/dist/pine-core/{p-3eae6f9f.system.entry.js.map → p-33544ed1.system.entry.js.map} +1 -1
  248. package/dist/pine-core/{p-98332835.system.entry.js → p-34763aae.system.entry.js} +2 -2
  249. package/dist/pine-core/{p-0bc89023.system.entry.js → p-36070380.system.entry.js} +2 -2
  250. package/dist/pine-core/{p-360130c2.entry.js → p-3625bc45.entry.js} +2 -2
  251. package/dist/pine-core/{p-21a858a0.entry.js → p-3b087f24.entry.js} +2 -2
  252. package/dist/pine-core/{p-0ca1dada.entry.js → p-3f66c070.entry.js} +2 -2
  253. package/dist/pine-core/p-407aad2b.system.entry.js +2 -0
  254. package/dist/pine-core/{p-97e0b205.system.entry.js.map → p-407aad2b.system.entry.js.map} +1 -1
  255. package/dist/pine-core/{p-859aa3b0.entry.js → p-44ca9b92.entry.js} +2 -2
  256. package/dist/pine-core/{p-0d3a6abc.entry.js → p-476db791.entry.js} +2 -2
  257. package/dist/pine-core/{p-30302dbb.system.entry.js → p-4780403d.system.entry.js} +2 -2
  258. package/dist/pine-core/{p-56aedf71.entry.js → p-48ac6873.entry.js} +2 -2
  259. package/dist/pine-core/{p-BEk_6bpE.system.js.map → p-4FBDaIH3.system.js.map} +1 -1
  260. package/dist/pine-core/{p-9e62532d.entry.js → p-4ede20e6.entry.js} +2 -2
  261. package/dist/pine-core/{p-e4f66d23.system.entry.js → p-4f2a48cb.system.entry.js} +2 -2
  262. package/dist/pine-core/{p-e4f66d23.system.entry.js.map → p-4f2a48cb.system.entry.js.map} +1 -1
  263. package/dist/pine-core/{p-9e98793e.entry.js → p-4f440dd4.entry.js} +2 -2
  264. package/dist/pine-core/{p-Cm5r7dPz.system.js.map → p-4jrX5aRd.system.js.map} +1 -1
  265. package/dist/pine-core/p-51e47e6e.system.entry.js +2 -0
  266. package/dist/pine-core/{p-ef155f8e.system.entry.js.map → p-51e47e6e.system.entry.js.map} +1 -1
  267. package/dist/pine-core/{p-528d50eb.system.entry.js → p-52411757.system.entry.js} +2 -2
  268. package/dist/pine-core/{p-ad2bb5e4.entry.js → p-557005a0.entry.js} +2 -2
  269. package/dist/pine-core/{p-5f9a6f53.entry.js → p-5e117b98.entry.js} +2 -2
  270. package/dist/pine-core/{p-cd6b266c.system.entry.js → p-639012b9.system.entry.js} +2 -2
  271. package/dist/pine-core/{p-2335222d.entry.js → p-643b01ad.entry.js} +2 -2
  272. package/dist/pine-core/p-6623b257.system.entry.js +2 -0
  273. package/dist/pine-core/{p-2549e386.system.entry.js.map → p-6623b257.system.entry.js.map} +1 -1
  274. package/dist/pine-core/{p-33fd214a.system.entry.js → p-74ff4d96.system.entry.js} +2 -2
  275. package/dist/pine-core/{p-1d7cbf49.system.entry.js → p-77327e1b.system.entry.js} +2 -2
  276. package/dist/pine-core/{p-500ef8ee.entry.js → p-774ecbd4.entry.js} +2 -2
  277. package/dist/pine-core/{p-07a19657.entry.js → p-7926dc93.entry.js} +2 -2
  278. package/dist/pine-core/{p-c53bfe6e.entry.js → p-7a3eccef.entry.js} +2 -2
  279. package/dist/pine-core/{p-3d0f3dcb.system.entry.js → p-7acb131c.system.entry.js} +2 -2
  280. package/dist/pine-core/p-81a3e32b.entry.js +2 -0
  281. package/dist/pine-core/{p-a80f68ce.entry.js.map → p-81a3e32b.entry.js.map} +1 -1
  282. package/dist/pine-core/{p-fc2789df.system.entry.js → p-848763b6.system.entry.js} +2 -2
  283. package/dist/pine-core/{p-c7259d80.system.entry.js → p-85e889c3.system.entry.js} +3 -3
  284. package/dist/pine-core/{p-ce4de7f0.system.entry.js → p-8669e0e3.system.entry.js} +2 -2
  285. package/dist/pine-core/{p-b7342b09.entry.js → p-8735cb58.entry.js} +2 -2
  286. package/dist/pine-core/p-8b3aeaf9.system.entry.js +2 -0
  287. package/dist/pine-core/{p-4e79023c.system.entry.js.map → p-8b3aeaf9.system.entry.js.map} +1 -1
  288. package/dist/pine-core/p-8b7aa53d.entry.js +2 -0
  289. package/dist/pine-core/{p-b37b3ad2.entry.js.map → p-8b7aa53d.entry.js.map} +1 -1
  290. package/dist/pine-core/p-8c97fcb1.entry.js +2 -0
  291. package/dist/pine-core/{p-043395a8.entry.js.map → p-8c97fcb1.entry.js.map} +1 -1
  292. package/dist/pine-core/{p-78184199.entry.js → p-8c9f8ca6.entry.js} +2 -2
  293. package/dist/pine-core/{p-f9a46770.system.entry.js → p-904e8d9d.system.entry.js} +2 -2
  294. package/dist/pine-core/{p-ec7f210f.entry.js → p-91bea052.entry.js} +2 -2
  295. package/dist/pine-core/{p-ae80a5cc.system.entry.js → p-9230df2a.system.entry.js} +2 -2
  296. package/dist/pine-core/p-94a09b06.entry.js +2 -0
  297. package/dist/pine-core/p-94a09b06.entry.js.map +1 -0
  298. package/dist/pine-core/p-94d4d1de.entry.js +3 -0
  299. package/dist/pine-core/{p-2a4be282.entry.js.map → p-94d4d1de.entry.js.map} +1 -1
  300. package/dist/pine-core/{p-43565cf5.entry.js → p-984db3fc.entry.js} +2 -2
  301. package/dist/pine-core/{p-3f4435b8.system.entry.js → p-988d1723.system.entry.js} +2 -2
  302. package/dist/pine-core/p-98dabbbf.entry.js +2 -0
  303. package/dist/pine-core/{p-6c9bb2a5.entry.js.map → p-98dabbbf.entry.js.map} +1 -1
  304. package/dist/pine-core/{p-3824d80d.system.entry.js → p-9a3c9d15.system.entry.js} +2 -2
  305. package/dist/pine-core/{p-a896db32.system.entry.js → p-9b3aedeb.system.entry.js} +2 -2
  306. package/dist/pine-core/{p-3c89502e.system.entry.js → p-9ce56712.system.entry.js} +2 -2
  307. package/dist/pine-core/{p-08267d86.system.entry.js → p-9e48d1ea.system.entry.js} +2 -2
  308. package/dist/pine-core/{p-7ba75e19.entry.js → p-9e5c58c6.entry.js} +3 -3
  309. package/dist/pine-core/{p-D_X9pwRF.system.js.map → p-B-I9BXj1.system.js.map} +1 -1
  310. package/dist/pine-core/{p-lXz5a0gw.system.js.map → p-B-nnQT8K.system.js.map} +1 -1
  311. package/dist/pine-core/{p-QYCDCKN2.js → p-B2f84Zog.js} +2 -2
  312. package/dist/pine-core/p-B2f84Zog.js.map +1 -0
  313. package/dist/pine-core/{p-DtKEcQXo.system.js.map → p-BC7kndqW.system.js.map} +1 -1
  314. package/dist/pine-core/{p-B8wXrRCn.system.js.map → p-BFAhunk3.system.js.map} +1 -1
  315. package/dist/pine-core/{p-CIRsbQAW.system.js.map → p-BJQiqlL7.system.js.map} +1 -1
  316. package/dist/pine-core/{p-B_ue56xA.system.js.map → p-BLg534X3.system.js.map} +1 -1
  317. package/dist/pine-core/{p-CKshb3YH.system.js.map → p-BT-iITx_.system.js.map} +1 -1
  318. package/dist/pine-core/{p-C2Pw0xAP.system.js.map → p-BTsajr3h.system.js.map} +1 -1
  319. package/dist/pine-core/{p-KgPSFwRc.system.js.map → p-BcCpTdwz.system.js.map} +1 -1
  320. package/dist/pine-core/{p-0jF8lVUy.system.js.map → p-Bkk7A0W9.system.js.map} +1 -1
  321. package/dist/pine-core/{p-CG-Uj3mN.system.js.map → p-BmOvsRx7.system.js.map} +1 -1
  322. package/dist/pine-core/{p-DUaDwLU_.system.js.map → p-BtfqzsXS.system.js.map} +1 -1
  323. package/dist/pine-core/p-BvJkwltO.system.js.map +1 -0
  324. package/dist/pine-core/{p-CtZbV7sl.system.js.map → p-BvV4-w8H.system.js.map} +1 -1
  325. package/dist/pine-core/{p-DSfc0hSW.system.js.map → p-C3TuSlI7.system.js.map} +1 -1
  326. package/dist/pine-core/p-C5jXV4WJ.system.js.map +1 -0
  327. package/dist/pine-core/p-C5qxTQb1.system.js.map +1 -0
  328. package/dist/pine-core/p-C6yvFUy3.system.js.map +1 -0
  329. package/dist/pine-core/{p-8nqjUIna.system.js.map → p-CCRLZO4N.system.js.map} +1 -1
  330. package/dist/pine-core/{p-Ck9i0WVa.system.js.map → p-CD-PjU09.system.js.map} +1 -1
  331. package/dist/pine-core/{p-BhXECqd_.system.js.map → p-CI-oL5TR.system.js.map} +1 -1
  332. package/dist/pine-core/{p-1hZDd74J.system.js.map → p-CIbXcB4O.system.js.map} +1 -1
  333. package/dist/pine-core/{p-BzszOvm1.system.js.map → p-CIe6-SsT.system.js.map} +1 -1
  334. package/dist/pine-core/{p-CMbqUapr.system.js.map → p-CSVND2Gt.system.js.map} +1 -1
  335. package/dist/pine-core/{p-CQS3Y0nn.system.js.map → p-CUEE9EMe.system.js.map} +1 -1
  336. package/dist/pine-core/{p-CjuuQ5fk.system.js.map → p-CXImmjF5.system.js.map} +1 -1
  337. package/dist/pine-core/p-C_g3FnvJ.system.js.map +1 -0
  338. package/dist/pine-core/p-CmNZDo8q.system.js.map +1 -0
  339. package/dist/pine-core/p-Cn98QWqb.system.js.map +1 -0
  340. package/dist/pine-core/{p-9X_erY0S.system.js → p-Cqgvmo2o.system.js} +2 -2
  341. package/dist/pine-core/{p-9X_erY0S.system.js.map → p-Cqgvmo2o.system.js.map} +1 -1
  342. package/dist/pine-core/{p-Dt4eN_hu.system.js.map → p-Cu24FhMY.system.js.map} +1 -1
  343. package/dist/pine-core/{p-BfwVCQ2C.system.js.map → p-CwEjYXkp.system.js.map} +1 -1
  344. package/dist/pine-core/p-DA3fC_kX.system.js.map +1 -0
  345. package/dist/pine-core/{p-C0r-Omcz.system.js.map → p-DG_z5J3G.system.js.map} +1 -1
  346. package/dist/pine-core/{p-CgPvrU-c.system.js.map → p-DL3JCnpO.system.js.map} +1 -1
  347. package/dist/pine-core/{p-B5hxTy5U.system.js.map → p-DSlRwx2e.system.js.map} +1 -1
  348. package/dist/pine-core/{p-CyJVqIlm.system.js → p-DYlgS5d7.system.js} +3 -3
  349. package/dist/pine-core/p-DYlgS5d7.system.js.map +1 -0
  350. package/dist/pine-core/{p-BtZYIh3H.system.js.map → p-DeVgpUr5.system.js.map} +1 -1
  351. package/dist/pine-core/{p-CfyFDUw5.system.js.map → p-Dxrjs-vy.system.js.map} +1 -1
  352. package/dist/pine-core/{p-DuIwxDGo.system.js.map → p-H7VDsgsr.system.js.map} +1 -1
  353. package/dist/pine-core/{p-DUOWHRqL.system.js.map → p-JwuGXyPc.system.js.map} +1 -1
  354. package/dist/pine-core/{p-BILA6IDX.system.js.map → p-U1PewsWZ.system.js.map} +1 -1
  355. package/dist/pine-core/{p-C8wBjwhX.system.js.map → p-UILRZV99.system.js.map} +1 -1
  356. package/dist/pine-core/p-V-ORMWaS.system.js.map +1 -0
  357. package/dist/pine-core/p-W7E5TRNL.system.js.map +1 -0
  358. package/dist/pine-core/{p-C6LTEDPh.system.js.map → p-Yfy85hdp.system.js.map} +1 -1
  359. package/dist/pine-core/{p-CbRVp4gv.system.js.map → p-ZrPaY2bh.system.js.map} +1 -1
  360. package/dist/pine-core/{p-4fc48330.entry.js → p-a30b386f.entry.js} +2 -2
  361. package/dist/pine-core/{p-a81aa273.system.entry.js → p-a5014407.system.entry.js} +2 -2
  362. package/dist/pine-core/{p-e2c42a2e.system.entry.js → p-a695ff4c.system.entry.js} +2 -2
  363. package/dist/pine-core/{p-61bcaaee.entry.js → p-a8c49f8e.entry.js} +2 -2
  364. package/dist/pine-core/{p-7456ae7a.system.entry.js → p-ae74a4b6.system.entry.js} +2 -2
  365. package/dist/pine-core/{p-621405fc.entry.js → p-b1cde22a.entry.js} +2 -2
  366. package/dist/pine-core/{p-ac2900e1.system.entry.js → p-b9340fb1.system.entry.js} +2 -2
  367. package/dist/pine-core/{p-97d5a937.system.entry.js → p-b9fcc3f8.system.entry.js} +2 -2
  368. package/dist/pine-core/{p-Bdrd1hDP.system.js.map → p-bIvjoz7p.system.js.map} +1 -1
  369. package/dist/pine-core/{p-99739465.entry.js → p-bc8f61d1.entry.js} +2 -2
  370. package/dist/pine-core/{p-1256b83e.entry.js → p-bea013d1.entry.js} +2 -2
  371. package/dist/pine-core/{p-fcea314c.system.entry.js → p-c026479a.system.entry.js} +2 -2
  372. package/dist/pine-core/p-c9784d20.system.entry.js +4 -0
  373. package/dist/pine-core/{p-5c259f42.system.entry.js.map → p-c9784d20.system.entry.js.map} +1 -1
  374. package/dist/pine-core/p-c9b06db1.system.entry.js +2 -0
  375. package/dist/pine-core/p-c9b06db1.system.entry.js.map +1 -0
  376. package/dist/pine-core/{p-6c836757.entry.js → p-cab14421.entry.js} +2 -2
  377. package/dist/pine-core/{p-fa68509f.entry.js → p-d5fcdcdd.entry.js} +2 -2
  378. package/dist/pine-core/{p-cb9b6ccc.system.entry.js → p-d86e20b5.system.entry.js} +2 -2
  379. package/dist/pine-core/{p-acf6592f.system.entry.js → p-d9354ad3.system.entry.js} +2 -2
  380. package/dist/pine-core/{p-77807b63.entry.js → p-dab76f15.entry.js} +2 -2
  381. package/dist/pine-core/{p-24656fd4.entry.js → p-db16d1fe.entry.js} +2 -2
  382. package/dist/pine-core/{p-e9e4e7f9.system.entry.js → p-db63f83b.system.entry.js} +2 -2
  383. package/dist/pine-core/{p-9120a7fa.system.entry.js → p-dd3ea74e.system.entry.js} +2 -2
  384. package/dist/pine-core/p-ddb48534.entry.js +2 -0
  385. package/dist/pine-core/{p-6af000e5.entry.js.map → p-ddb48534.entry.js.map} +1 -1
  386. package/dist/pine-core/{p-d96c3850.entry.js → p-de9f43b6.entry.js} +2 -2
  387. package/dist/pine-core/{p-d96c3850.entry.js.map → p-de9f43b6.entry.js.map} +1 -1
  388. package/dist/pine-core/{p-5b521b20.entry.js → p-e25da259.entry.js} +2 -2
  389. package/dist/pine-core/{p-b611b9ab.system.entry.js → p-e288dc89.system.entry.js} +2 -2
  390. package/dist/pine-core/{p-8dea1946.system.entry.js → p-ea5c42b8.system.entry.js} +2 -2
  391. package/dist/pine-core/{p-6ca31ddd.entry.js → p-ed5d5be6.entry.js} +2 -2
  392. package/dist/pine-core/{p-d83e411d.entry.js → p-ef081f0f.entry.js} +2 -2
  393. package/dist/pine-core/{p-b42320fe.entry.js → p-f09c5021.entry.js} +2 -2
  394. package/dist/pine-core/{p-4728c80a.entry.js → p-f201cf57.entry.js} +2 -2
  395. package/dist/pine-core/{p-2dcd369d.entry.js → p-f20ab351.entry.js} +2 -2
  396. package/dist/pine-core/{p-8c8048df.entry.js → p-f2798581.entry.js} +2 -2
  397. package/dist/pine-core/{p-b294a16b.entry.js → p-f2ca0cf8.entry.js} +2 -2
  398. package/dist/pine-core/{p-74486022.system.entry.js → p-f77fad86.system.entry.js} +2 -2
  399. package/dist/pine-core/{p-6f4f62ff.system.entry.js → p-ff472f7c.system.entry.js} +2 -2
  400. package/dist/pine-core/{p-2c88b85e.entry.js → p-ff5b2c90.entry.js} +2 -2
  401. package/dist/pine-core/{p-Dn6xWpZX.system.js.map → p-g4mFEadi.system.js.map} +1 -1
  402. package/dist/pine-core/{p-BWYstZfx.system.js.map → p-vLxlRu4_.system.js.map} +1 -1
  403. package/dist/pine-core/{p-yb-SBJqk.system.js.map → p-ziMh7dwl.system.js.map} +1 -1
  404. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  405. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  406. package/dist/pine-core/pds-filter.entry.esm.js.map +1 -1
  407. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  408. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  409. package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
  410. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  411. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  412. package/dist/pine-core/pds-toast.entry.esm.js.map +1 -1
  413. package/dist/pine-core/pine-core.css +1 -1
  414. package/dist/pine-core/pine-core.esm.js +1 -1
  415. package/dist/pine-core/pine-core.js +1 -1
  416. package/dist/types/components/pds-toast/pds-toast.d.ts +4 -0
  417. package/hydrate/index.js +52 -16
  418. package/hydrate/index.mjs +52 -16
  419. package/package.json +2 -2
  420. package/dist/cjs/index-BYnQkA7p.js.map +0 -1
  421. package/dist/esm/index-QYCDCKN2.js.map +0 -1
  422. package/dist/esm-es5/index-QYCDCKN2.js +0 -3
  423. package/dist/esm-es5/index-QYCDCKN2.js.map +0 -1
  424. package/dist/pine-core/p-043395a8.entry.js +0 -2
  425. package/dist/pine-core/p-1700705c.entry.js +0 -2
  426. package/dist/pine-core/p-1eJB2hvd.system.js.map +0 -1
  427. package/dist/pine-core/p-2549e386.system.entry.js +0 -2
  428. package/dist/pine-core/p-2728bb30.system.entry.js +0 -2
  429. package/dist/pine-core/p-2a4be282.entry.js +0 -3
  430. package/dist/pine-core/p-3eae6f9f.system.entry.js +0 -2
  431. package/dist/pine-core/p-44318b5c.entry.js +0 -2
  432. package/dist/pine-core/p-4a4048f3.entry.js +0 -2
  433. package/dist/pine-core/p-4a4048f3.entry.js.map +0 -1
  434. package/dist/pine-core/p-4e79023c.system.entry.js +0 -2
  435. package/dist/pine-core/p-5c259f42.system.entry.js +0 -4
  436. package/dist/pine-core/p-65224129.system.entry.js +0 -2
  437. package/dist/pine-core/p-6af000e5.entry.js +0 -2
  438. package/dist/pine-core/p-6c9bb2a5.entry.js +0 -2
  439. package/dist/pine-core/p-7u7MeeeZ.system.js.map +0 -1
  440. package/dist/pine-core/p-97e0b205.system.entry.js +0 -2
  441. package/dist/pine-core/p-BHr70Hts.system.js.map +0 -1
  442. package/dist/pine-core/p-BR3EzrR2.system.js.map +0 -1
  443. package/dist/pine-core/p-Bq2VWG-F.system.js.map +0 -1
  444. package/dist/pine-core/p-C0XRql_j.system.js.map +0 -1
  445. package/dist/pine-core/p-CX0Csdth.system.js.map +0 -1
  446. package/dist/pine-core/p-CZSA3A1S.system.js.map +0 -1
  447. package/dist/pine-core/p-CwlStDlm.system.js.map +0 -1
  448. package/dist/pine-core/p-CyJVqIlm.system.js.map +0 -1
  449. package/dist/pine-core/p-D2ZsBdFi.system.js.map +0 -1
  450. package/dist/pine-core/p-QYCDCKN2.js.map +0 -1
  451. package/dist/pine-core/p-a6ab979f.system.entry.js +0 -2
  452. package/dist/pine-core/p-a80f68ce.entry.js +0 -2
  453. package/dist/pine-core/p-b37b3ad2.entry.js +0 -2
  454. package/dist/pine-core/p-cfebee75.system.entry.js +0 -2
  455. package/dist/pine-core/p-cfebee75.system.entry.js.map +0 -1
  456. package/dist/pine-core/p-ef155f8e.system.entry.js +0 -2
  457. /package/dist/pine-core/{p-a6ab979f.system.entry.js.map → p-037dbdcd.system.entry.js.map} +0 -0
  458. /package/dist/pine-core/{p-847ca369.entry.js.map → p-06713f25.entry.js.map} +0 -0
  459. /package/dist/pine-core/{p-cc7e0da3.entry.js.map → p-0977b2dd.entry.js.map} +0 -0
  460. /package/dist/pine-core/{p-6a20ba14.system.entry.js.map → p-099e9f9b.system.entry.js.map} +0 -0
  461. /package/dist/pine-core/{p-e65b1e5f.system.entry.js.map → p-0c1ab384.system.entry.js.map} +0 -0
  462. /package/dist/pine-core/{p-e626cbd5.system.entry.js.map → p-0dee7449.system.entry.js.map} +0 -0
  463. /package/dist/pine-core/{p-58bd1590.system.entry.js.map → p-102d0dd6.system.entry.js.map} +0 -0
  464. /package/dist/pine-core/{p-67a81e55.entry.js.map → p-1598f3af.entry.js.map} +0 -0
  465. /package/dist/pine-core/{p-9a2dc18d.system.entry.js.map → p-1c32102e.system.entry.js.map} +0 -0
  466. /package/dist/pine-core/{p-d5ba377c.system.entry.js.map → p-275fa74c.system.entry.js.map} +0 -0
  467. /package/dist/pine-core/{p-b4c51353.system.entry.js.map → p-32ad2807.system.entry.js.map} +0 -0
  468. /package/dist/pine-core/{p-98332835.system.entry.js.map → p-34763aae.system.entry.js.map} +0 -0
  469. /package/dist/pine-core/{p-0bc89023.system.entry.js.map → p-36070380.system.entry.js.map} +0 -0
  470. /package/dist/pine-core/{p-360130c2.entry.js.map → p-3625bc45.entry.js.map} +0 -0
  471. /package/dist/pine-core/{p-21a858a0.entry.js.map → p-3b087f24.entry.js.map} +0 -0
  472. /package/dist/pine-core/{p-0ca1dada.entry.js.map → p-3f66c070.entry.js.map} +0 -0
  473. /package/dist/pine-core/{p-859aa3b0.entry.js.map → p-44ca9b92.entry.js.map} +0 -0
  474. /package/dist/pine-core/{p-0d3a6abc.entry.js.map → p-476db791.entry.js.map} +0 -0
  475. /package/dist/pine-core/{p-30302dbb.system.entry.js.map → p-4780403d.system.entry.js.map} +0 -0
  476. /package/dist/pine-core/{p-56aedf71.entry.js.map → p-48ac6873.entry.js.map} +0 -0
  477. /package/dist/pine-core/{p-9e62532d.entry.js.map → p-4ede20e6.entry.js.map} +0 -0
  478. /package/dist/pine-core/{p-9e98793e.entry.js.map → p-4f440dd4.entry.js.map} +0 -0
  479. /package/dist/pine-core/{p-528d50eb.system.entry.js.map → p-52411757.system.entry.js.map} +0 -0
  480. /package/dist/pine-core/{p-ad2bb5e4.entry.js.map → p-557005a0.entry.js.map} +0 -0
  481. /package/dist/pine-core/{p-5f9a6f53.entry.js.map → p-5e117b98.entry.js.map} +0 -0
  482. /package/dist/pine-core/{p-cd6b266c.system.entry.js.map → p-639012b9.system.entry.js.map} +0 -0
  483. /package/dist/pine-core/{p-2335222d.entry.js.map → p-643b01ad.entry.js.map} +0 -0
  484. /package/dist/pine-core/{p-33fd214a.system.entry.js.map → p-74ff4d96.system.entry.js.map} +0 -0
  485. /package/dist/pine-core/{p-1d7cbf49.system.entry.js.map → p-77327e1b.system.entry.js.map} +0 -0
  486. /package/dist/pine-core/{p-500ef8ee.entry.js.map → p-774ecbd4.entry.js.map} +0 -0
  487. /package/dist/pine-core/{p-07a19657.entry.js.map → p-7926dc93.entry.js.map} +0 -0
  488. /package/dist/pine-core/{p-c53bfe6e.entry.js.map → p-7a3eccef.entry.js.map} +0 -0
  489. /package/dist/pine-core/{p-3d0f3dcb.system.entry.js.map → p-7acb131c.system.entry.js.map} +0 -0
  490. /package/dist/pine-core/{p-fc2789df.system.entry.js.map → p-848763b6.system.entry.js.map} +0 -0
  491. /package/dist/pine-core/{p-c7259d80.system.entry.js.map → p-85e889c3.system.entry.js.map} +0 -0
  492. /package/dist/pine-core/{p-ce4de7f0.system.entry.js.map → p-8669e0e3.system.entry.js.map} +0 -0
  493. /package/dist/pine-core/{p-b7342b09.entry.js.map → p-8735cb58.entry.js.map} +0 -0
  494. /package/dist/pine-core/{p-78184199.entry.js.map → p-8c9f8ca6.entry.js.map} +0 -0
  495. /package/dist/pine-core/{p-f9a46770.system.entry.js.map → p-904e8d9d.system.entry.js.map} +0 -0
  496. /package/dist/pine-core/{p-ec7f210f.entry.js.map → p-91bea052.entry.js.map} +0 -0
  497. /package/dist/pine-core/{p-ae80a5cc.system.entry.js.map → p-9230df2a.system.entry.js.map} +0 -0
  498. /package/dist/pine-core/{p-43565cf5.entry.js.map → p-984db3fc.entry.js.map} +0 -0
  499. /package/dist/pine-core/{p-3f4435b8.system.entry.js.map → p-988d1723.system.entry.js.map} +0 -0
  500. /package/dist/pine-core/{p-3824d80d.system.entry.js.map → p-9a3c9d15.system.entry.js.map} +0 -0
  501. /package/dist/pine-core/{p-a896db32.system.entry.js.map → p-9b3aedeb.system.entry.js.map} +0 -0
  502. /package/dist/pine-core/{p-3c89502e.system.entry.js.map → p-9ce56712.system.entry.js.map} +0 -0
  503. /package/dist/pine-core/{p-08267d86.system.entry.js.map → p-9e48d1ea.system.entry.js.map} +0 -0
  504. /package/dist/pine-core/{p-7ba75e19.entry.js.map → p-9e5c58c6.entry.js.map} +0 -0
  505. /package/dist/pine-core/{p-4fc48330.entry.js.map → p-a30b386f.entry.js.map} +0 -0
  506. /package/dist/pine-core/{p-a81aa273.system.entry.js.map → p-a5014407.system.entry.js.map} +0 -0
  507. /package/dist/pine-core/{p-e2c42a2e.system.entry.js.map → p-a695ff4c.system.entry.js.map} +0 -0
  508. /package/dist/pine-core/{p-61bcaaee.entry.js.map → p-a8c49f8e.entry.js.map} +0 -0
  509. /package/dist/pine-core/{p-7456ae7a.system.entry.js.map → p-ae74a4b6.system.entry.js.map} +0 -0
  510. /package/dist/pine-core/{p-621405fc.entry.js.map → p-b1cde22a.entry.js.map} +0 -0
  511. /package/dist/pine-core/{p-ac2900e1.system.entry.js.map → p-b9340fb1.system.entry.js.map} +0 -0
  512. /package/dist/pine-core/{p-97d5a937.system.entry.js.map → p-b9fcc3f8.system.entry.js.map} +0 -0
  513. /package/dist/pine-core/{p-99739465.entry.js.map → p-bc8f61d1.entry.js.map} +0 -0
  514. /package/dist/pine-core/{p-1256b83e.entry.js.map → p-bea013d1.entry.js.map} +0 -0
  515. /package/dist/pine-core/{p-fcea314c.system.entry.js.map → p-c026479a.system.entry.js.map} +0 -0
  516. /package/dist/pine-core/{p-6c836757.entry.js.map → p-cab14421.entry.js.map} +0 -0
  517. /package/dist/pine-core/{p-fa68509f.entry.js.map → p-d5fcdcdd.entry.js.map} +0 -0
  518. /package/dist/pine-core/{p-cb9b6ccc.system.entry.js.map → p-d86e20b5.system.entry.js.map} +0 -0
  519. /package/dist/pine-core/{p-acf6592f.system.entry.js.map → p-d9354ad3.system.entry.js.map} +0 -0
  520. /package/dist/pine-core/{p-77807b63.entry.js.map → p-dab76f15.entry.js.map} +0 -0
  521. /package/dist/pine-core/{p-24656fd4.entry.js.map → p-db16d1fe.entry.js.map} +0 -0
  522. /package/dist/pine-core/{p-e9e4e7f9.system.entry.js.map → p-db63f83b.system.entry.js.map} +0 -0
  523. /package/dist/pine-core/{p-9120a7fa.system.entry.js.map → p-dd3ea74e.system.entry.js.map} +0 -0
  524. /package/dist/pine-core/{p-5b521b20.entry.js.map → p-e25da259.entry.js.map} +0 -0
  525. /package/dist/pine-core/{p-b611b9ab.system.entry.js.map → p-e288dc89.system.entry.js.map} +0 -0
  526. /package/dist/pine-core/{p-8dea1946.system.entry.js.map → p-ea5c42b8.system.entry.js.map} +0 -0
  527. /package/dist/pine-core/{p-6ca31ddd.entry.js.map → p-ed5d5be6.entry.js.map} +0 -0
  528. /package/dist/pine-core/{p-d83e411d.entry.js.map → p-ef081f0f.entry.js.map} +0 -0
  529. /package/dist/pine-core/{p-b42320fe.entry.js.map → p-f09c5021.entry.js.map} +0 -0
  530. /package/dist/pine-core/{p-4728c80a.entry.js.map → p-f201cf57.entry.js.map} +0 -0
  531. /package/dist/pine-core/{p-2dcd369d.entry.js.map → p-f20ab351.entry.js.map} +0 -0
  532. /package/dist/pine-core/{p-8c8048df.entry.js.map → p-f2798581.entry.js.map} +0 -0
  533. /package/dist/pine-core/{p-b294a16b.entry.js.map → p-f2ca0cf8.entry.js.map} +0 -0
  534. /package/dist/pine-core/{p-74486022.system.entry.js.map → p-f77fad86.system.entry.js.map} +0 -0
  535. /package/dist/pine-core/{p-6f4f62ff.system.entry.js.map → p-ff472f7c.system.entry.js.map} +0 -0
  536. /package/dist/pine-core/{p-2c88b85e.entry.js.map → p-ff5b2c90.entry.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  const pdsContainerCss = ":host{display:block;margin-inline:auto;max-width:var(--pine-container-max-width, none);width:100%}:host(.pds-container--sm){--pine-container-max-width:340px}:host(.pds-container--md){--pine-container-max-width:520px}:host(.pds-container--lg){--pine-container-max-width:700px}:host(.pds-container--xl){--pine-container-max-width:1064px}:host(.pds-container--full){--pine-container-max-width:1440px}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
  var index$1 = require('./index-DGBoDsAL.js');
5
5
  var truncationTooltip = require('./truncation-tooltip-CVzAha5B.js');
6
6
  require('./floating-ui.dom-BZk7Blsu.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  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}}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  const pdsDropdownMenuItemCss = ":host{cursor:pointer;display:-ms-flexbox;display:flex;width:100%;}:host(.is-disabled){cursor:not-allowed !important;opacity:0.5 !important}:host(.is-disabled) .pds-dropdown-menu-item__content{cursor:not-allowed !important;pointer-events:none !important}.pds-dropdown-menu-item__content{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text);display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;width:100%;}.pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-background-muted);color:var(--pine-color-text-hover)}.pds-dropdown-menu-item__content{}.pds-dropdown-menu-item__content:focus,.pds-dropdown-menu-item__content:focus-visible,.pds-dropdown-menu-item__content.has-focus{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host(.destructive) .pds-dropdown-menu-item__content{--pds-context-link-color:var(--pine-color-danger);--pds-context-link-color-hover:var(--pine-color-danger-hover);-ms-flex-align:center;align-items:center;color:var(--pine-color-danger)}:host(.destructive) .pds-dropdown-menu-item__content:hover{background-color:var(--pine-color-danger-disabled);color:var(--pine-color-danger-hover)}:host(.destructive) .pds-dropdown-menu-item__content:focus,:host(.destructive) .pds-dropdown-menu-item__content:focus-visible,:host(.destructive) .pds-dropdown-menu-item__content.has-focus{background-color:var(--pine-color-danger-disabled);outline:var(--pine-outline-focus-danger);outline-offset:var(--pine-border-width)}pds-link::part(link):focus,pds-link::part(link):focus-visible{-webkit-box-shadow:none;box-shadow:none;outline:none}pds-link::part(link){-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);margin:calc(var(--pine-dimension-xs) * -1);padding:var(--pine-dimension-xs);text-decoration:none;width:calc(100% + var(--pine-dimension-xs) * 2)}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  const pdsDropdownMenuSeparatorCss = ":host hr{border:0;border-top:var(--pine-border-width-thin) solid var(--pine-color-border);height:0;margin-block:var(--pine-dimension-xs);margin-inline:calc(var(--pine-dimension-xs) * -1)}";
6
6
 
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
  var floatingUi_dom = require('./floating-ui.dom-BZk7Blsu.js');
5
5
 
6
- const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs) !important;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium) !important;gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px) !important;padding:var(--pine-dimension-xs) !important;text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]:not([disabled=false])){cursor:not-allowed;opacity:0.5;pointer-events:none}";
6
+ const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs) !important;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium) !important;gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px) !important;padding:var(--pine-dimension-xs) !important;text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]:not([disabled=false])){cursor:not-allowed;opacity:0.5;pointer-events:none}";
7
7
 
8
8
  const PdsDropdownMenu = class {
9
9
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"pds-dropdown-menu.entry.cjs.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu.scss?tag=pds-dropdown-menu&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.is-hidden {\n display: none;\n}\n\n.pds-dropdown-menu--panel {\n background-color: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-xs);\n left: var(--pine-dimension-none);\n min-width: 170px;\n padding: var(--pine-dimension-xs);\n position: fixed;\n z-index: var(--pine-z-index-overlay);\n\n :host-context([data-theme=\"dark\"]) & {\n border: var(--pine-border);\n }\n}\n\n// Styles for raw <a> and <button> elements slotted into the menu\n// These are allowed for edge cases requiring native browser/framework behavior\n// (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.\n//\n// Note: ::slotted() cannot be combined with pseudo-classes like :hover or :focus.\n// Raw elements will receive base styling here; hover/focus states must be handled\n// by the consuming application's CSS if needed.\n::slotted(a),\n::slotted(button) {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs) !important;\n box-sizing: border-box;\n color: var(--pine-color-text) !important;\n cursor: pointer;\n display: flex;\n flex-grow: 1;\n font: var(--pine-typography-body-medium) !important;\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px) !important;\n padding: var(--pine-dimension-xs) !important;\n text-align: start;\n text-decoration: none !important;\n width: calc(100% - calc(var(--pine-border-width) + 2px) * 2);\n}\n\n// Destructive variant for raw elements\n::slotted(.destructive) {\n color: var(--pine-color-danger) !important;\n}\n\n// Disabled state for raw elements (using attribute selectors, not pseudo-classes)\n// ::slotted([disabled]) is an attribute-presence selector — it matches even when\n// disabled=\"false\" is set as a string (e.g. by React on custom elements). The\n// :not([disabled=\"false\"]) guard ensures only a truly-disabled attribute applies.\n::slotted([aria-disabled=\"true\"]),\n::slotted([disabled]:not([disabled=\"false\"])) {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n","import { Component, Element, Host, h, Prop, Listen, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { PlacementType } from '@utils/types';\nimport { computePosition,\n flip,\n offset,\n shift,\n autoUpdate,\n} from '@floating-ui/dom';\n\n/**\n * Union type for focusable menu items (component or raw elements)\n */\ntype MenuItemElement = HTMLPdsDropdownMenuItemElement | HTMLAnchorElement | HTMLButtonElement;\n\n/**\n * @part menu-panel - Exposes the dropdown menu container for styling.\n */\n@Component({\n tag: 'pds-dropdown-menu',\n styleUrl: 'pds-dropdown-menu.scss',\n shadow: true,\n})\nexport class PdsDropdownMenu implements BasePdsProps {\n private slotEl: HTMLSlotElement;\n private triggerEl: HTMLElement;\n private panelEl: HTMLPdsBoxElement;\n private isOpen: boolean = false;\n private menuItems: MenuItemElement[] = [];\n private cleanupAutoUpdate: (() => void) | null = null;\n\n @Element() host: HTMLPdsDropdownMenuElement;\n\n @State() currentFocusIndex: number = -1;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * The placement of the dropdown panel relative to the trigger.\n */\n @Prop() placement: PlacementType = 'bottom-start';\n\n componentDidRender() {\n this.panelEl = this.host.shadowRoot?.querySelector('pds-box') as HTMLPdsBoxElement;\n }\n\n disconnectedCallback() {\n // Clean up auto-update when component is removed from DOM\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n }\n\n private handleTriggerSlotChange = (event: Event) => {\n this.slotEl = event.target as HTMLSlotElement;\n\n // Get all elements assigned to this slot\n const assignedElements = this.slotEl.assignedElements();\n\n this.triggerEl = assignedElements[0] as HTMLElement;\n this.triggerEl.onclick = this.handleClick;\n\n // Add accessibility attributes to trigger\n this.triggerEl.setAttribute('aria-haspopup', 'menu');\n this.triggerEl.setAttribute('aria-expanded', 'false');\n }\n\n private handleSlotChange = (event: Event) => {\n this.slotEl = event.target as HTMLSlotElement;\n\n // Get all elements assigned to this slot\n const assignedElements = this.slotEl.assignedElements();\n\n // Allowed elements: pds-dropdown-menu-item, pds-dropdown-menu-separator, <a>, <button>\n // Raw <a> and <button> elements are allowed for edge cases requiring native browser/framework\n // behavior (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.\n const allowedTags = ['pds-dropdown-menu-item', 'pds-dropdown-menu-separator', 'a', 'button'];\n const invalidElements = assignedElements.filter(\n el => !allowedTags.includes(el.tagName.toLowerCase())\n );\n\n if (invalidElements.length > 0) {\n const invalidTags = invalidElements.map(el => el.tagName.toLowerCase()).join(', ');\n console.warn(\n `pds-dropdown-menu: Unexpected element(s) found: ${invalidTags}. ` +\n `Expected: ${allowedTags.join(', ')}`\n );\n }\n\n // Store all focusable items for keyboard navigation\n // This includes pds-dropdown-menu-item components and raw <a>/<button> elements\n this.menuItems = assignedElements.filter(el => {\n const tag = el.tagName.toLowerCase();\n return tag === 'pds-dropdown-menu-item' || tag === 'a' || tag === 'button';\n }) as MenuItemElement[];\n }\n\n // Toggle dropdown open/closed\n private toggleDropdown = () => {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n // Open the dropdown and position it\n private openDropdown = () => {\n const updatePosition = () => {\n computePosition(this.triggerEl, this.panelEl as HTMLElement, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(6), flip(), shift({padding: 5})],\n }).then(({ x, y }) => {\n Object.assign(this.panelEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n });\n };\n\n // Initial position\n updatePosition();\n\n // Set up auto-update for window resize and scroll\n this.cleanupAutoUpdate = autoUpdate(\n this.triggerEl,\n this.panelEl as HTMLElement,\n updatePosition\n );\n\n this.host.shadowRoot?.querySelector('pds-box').classList.remove('is-hidden');\n this.isOpen = true;\n\n // Update ARIA attributes\n this.triggerEl.setAttribute('aria-expanded', 'true');\n }\n\n // Close the dropdown\n private closeDropdown = () => {\n this.host.shadowRoot?.querySelector('pds-box').classList.add('is-hidden');\n this.isOpen = false;\n\n // Clean up auto-update\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n\n // Update ARIA attributes\n this.triggerEl.setAttribute('aria-expanded', 'false');\n\n // Reset focus index\n this.currentFocusIndex = -1;\n\n // Return focus to trigger\n this.triggerEl.focus();\n }\n\n // Handle click on the trigger element\n private handleClick = () => {\n this.toggleDropdown();\n }\n\n // Check if a menu item is disabled (handles both component and raw elements)\n private isItemDisabled(item: MenuItemElement): boolean {\n const tagName = item.tagName.toLowerCase();\n\n if (tagName === 'pds-dropdown-menu-item') {\n return (item as HTMLPdsDropdownMenuItemElement).disabled;\n } else if (tagName === 'button') {\n return (item as HTMLButtonElement).disabled;\n } else if (tagName === 'a') {\n return item.getAttribute('aria-disabled') === 'true';\n }\n return false;\n }\n\n // Get the index of the currently focused menu item\n private getFocusedItemIndex(): number {\n const activeElement = document.activeElement as MenuItemElement | null;\n if (!activeElement) return -1;\n\n // For raw elements, check direct match\n // For pds-dropdown-menu-item, also check if the active element is inside the shadow root\n return this.menuItems.findIndex(item => {\n if (item === activeElement) return true;\n\n // Check if activeElement is inside the item's shadow root (for pds-dropdown-menu-item)\n if (item.tagName.toLowerCase() === 'pds-dropdown-menu-item') {\n const shadowRoot = (item as HTMLPdsDropdownMenuItemElement).shadowRoot;\n if (shadowRoot?.contains(activeElement)) return true;\n }\n\n return false;\n });\n }\n\n // Focus a specific menu item by index\n private focusItemByIndex(index: number): void {\n if (index >= 0 && index < this.menuItems.length) {\n this.currentFocusIndex = index;\n const item = this.menuItems[index];\n const tagName = item.tagName.toLowerCase();\n\n if (tagName === 'pds-dropdown-menu-item') {\n // For pds-dropdown-menu-item, focus the inner element\n const menuItem = item as HTMLPdsDropdownMenuItemElement;\n const innerButton = menuItem.shadowRoot?.querySelector('button');\n const innerLink = menuItem.shadowRoot?.querySelector('pds-link')?.shadowRoot?.querySelector('a')\n || menuItem.shadowRoot?.querySelector('a');\n\n if (innerButton) {\n innerButton.focus();\n } else if (innerLink) {\n innerLink.focus();\n } else {\n // Fallback to focusing the host\n menuItem.focus();\n }\n } else {\n // For raw <a> or <button> elements, focus directly\n (item as HTMLElement).focus();\n }\n }\n }\n\n // Focus the next menu item\n private focusNextItem(): void {\n let nextIndex = (this.currentFocusIndex + 1) % this.menuItems.length;\n\n // Skip disabled items\n let attempts = 0;\n const maxAttempts = this.menuItems.length;\n\n while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[nextIndex])) {\n nextIndex = (nextIndex + 1) % this.menuItems.length;\n attempts++;\n }\n\n // Only focus if we found a non-disabled item\n if (attempts < maxAttempts) {\n this.focusItemByIndex(nextIndex);\n }\n }\n\n // Focus the previous menu item\n private focusPreviousItem(): void {\n let prevIndex = this.currentFocusIndex <= 0\n ? this.menuItems.length - 1\n : this.currentFocusIndex - 1;\n\n // Skip disabled items\n let attempts = 0;\n const maxAttempts = this.menuItems.length;\n\n while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[prevIndex])) {\n prevIndex = prevIndex <= 0 ? this.menuItems.length - 1 : prevIndex - 1;\n attempts++;\n }\n\n // Only focus if we found a non-disabled item\n if (attempts < maxAttempts) {\n this.focusItemByIndex(prevIndex);\n }\n }\n\n // Handle keyboard events for the dropdown\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isOpen) return;\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.focusNextItem();\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n this.focusPreviousItem();\n break;\n\n case 'Home':\n event.preventDefault();\n if (this.menuItems.length > 0) {\n // Find first non-disabled item\n let firstIndex = 0;\n while (firstIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstIndex])) {\n firstIndex++;\n }\n if (firstIndex < this.menuItems.length) {\n this.focusItemByIndex(firstIndex);\n }\n }\n break;\n\n case 'End':\n event.preventDefault();\n if (this.menuItems.length > 0) {\n // Find last non-disabled item\n let lastIndex = this.menuItems.length - 1;\n while (lastIndex >= 0 && this.isItemDisabled(this.menuItems[lastIndex])) {\n lastIndex--;\n }\n if (lastIndex >= 0) {\n this.focusItemByIndex(lastIndex);\n }\n }\n break;\n\n case 'Tab':\n if (event.shiftKey) {\n // Let Shift+Tab navigate naturally from first item to trigger\n // For all other items, move to previous item\n const currentIndex = this.getFocusedItemIndex();\n\n if (currentIndex > 0) {\n // If not on first item, prevent default and go to previous item\n event.preventDefault();\n this.focusPreviousItem(); // Use our method that skips disabled items\n }\n // If on first item or no item, let natural tab order move back to trigger\n } else {\n // Forward Tab navigation\n const activeElement = document.activeElement;\n const isTriggerFocused = activeElement === this.triggerEl;\n const currentIndex = this.getFocusedItemIndex();\n\n if (isTriggerFocused && this.menuItems.length > 0) {\n // If trigger is focused, move to first non-disabled menu item\n event.preventDefault();\n\n // Find the first non-disabled item\n let firstFocusableIndex = 0;\n while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {\n firstFocusableIndex++;\n }\n\n if (firstFocusableIndex < this.menuItems.length) {\n this.focusItemByIndex(firstFocusableIndex);\n }\n } else if (currentIndex === -1 && this.menuItems.length > 0) {\n // If no menu item is focused, focus the first non-disabled one\n event.preventDefault();\n\n // Find the first non-disabled item\n let firstFocusableIndex = 0;\n while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {\n firstFocusableIndex++;\n }\n\n if (firstFocusableIndex < this.menuItems.length) {\n this.focusItemByIndex(firstFocusableIndex);\n }\n } else if (currentIndex !== -1) {\n // Use our method that skips disabled items\n event.preventDefault();\n this.focusNextItem();\n }\n }\n break;\n }\n }\n\n // Handle clicks outside the dropdown to close it\n @Listen('click', { target: 'window' })\n handleWindowClick(event: MouseEvent) {\n if (this.isOpen && !this.host.contains(event.target as Node) && event.target !== this.triggerEl) {\n this.closeDropdown();\n }\n }\n\n\n render() {\n return (\n <Host id={this.componentId}>\n <slot\n name=\"trigger\"\n onSlotchange={this.handleTriggerSlotChange}\n ></slot>\n <pds-box\n border-radius=\"sm\"\n display=\"flex\"\n direction=\"column\"\n class=\"pds-dropdown-menu--panel is-hidden\"\n shadow=\"100\"\n role=\"menu\"\n aria-orientation=\"vertical\"\n part=\"menu-panel\"\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </pds-box>\n </Host>\n );\n }\n}\n"],"names":["computePosition","offset","flip","shift","autoUpdate","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"pds-dropdown-menu.entry.cjs.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu.scss?tag=pds-dropdown-menu&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.is-hidden {\n display: none;\n}\n\n.pds-dropdown-menu--panel {\n background-color: var(--pine-color-background-overlay);\n border-radius: var(--pine-dimension-xs);\n left: var(--pine-dimension-none);\n min-width: 170px;\n padding: var(--pine-dimension-xs);\n position: fixed;\n z-index: var(--pine-z-index-overlay);\n\n :host-context([data-theme=\"dark\"]) & {\n border: var(--pine-border);\n }\n}\n\n// Styles for raw <a> and <button> elements slotted into the menu\n// These are allowed for edge cases requiring native browser/framework behavior\n// (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.\n//\n// Note: ::slotted() cannot be combined with pseudo-classes like :hover or :focus.\n// Raw elements will receive base styling here; hover/focus states must be handled\n// by the consuming application's CSS if needed.\n::slotted(a),\n::slotted(button) {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs) !important;\n box-sizing: border-box;\n color: var(--pine-color-text) !important;\n cursor: pointer;\n display: flex;\n flex-grow: 1;\n font: var(--pine-typography-body-medium) !important;\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px) !important;\n padding: var(--pine-dimension-xs) !important;\n text-align: start;\n text-decoration: none !important;\n width: calc(100% - calc(var(--pine-border-width) + 2px) * 2);\n}\n\n// Destructive variant for raw elements\n::slotted(.destructive) {\n color: var(--pine-color-danger) !important;\n}\n\n// Disabled state for raw elements (using attribute selectors, not pseudo-classes)\n// ::slotted([disabled]) is an attribute-presence selector — it matches even when\n// disabled=\"false\" is set as a string (e.g. by React on custom elements). The\n// :not([disabled=\"false\"]) guard ensures only a truly-disabled attribute applies.\n::slotted([aria-disabled=\"true\"]),\n::slotted([disabled]:not([disabled=\"false\"])) {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n","import { Component, Element, Host, h, Prop, Listen, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { PlacementType } from '@utils/types';\nimport { computePosition,\n flip,\n offset,\n shift,\n autoUpdate,\n} from '@floating-ui/dom';\n\n/**\n * Union type for focusable menu items (component or raw elements)\n */\ntype MenuItemElement = HTMLPdsDropdownMenuItemElement | HTMLAnchorElement | HTMLButtonElement;\n\n/**\n * @part menu-panel - Exposes the dropdown menu container for styling.\n */\n@Component({\n tag: 'pds-dropdown-menu',\n styleUrl: 'pds-dropdown-menu.scss',\n shadow: true,\n})\nexport class PdsDropdownMenu implements BasePdsProps {\n private slotEl: HTMLSlotElement;\n private triggerEl: HTMLElement;\n private panelEl: HTMLPdsBoxElement;\n private isOpen: boolean = false;\n private menuItems: MenuItemElement[] = [];\n private cleanupAutoUpdate: (() => void) | null = null;\n\n @Element() host: HTMLPdsDropdownMenuElement;\n\n @State() currentFocusIndex: number = -1;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * The placement of the dropdown panel relative to the trigger.\n */\n @Prop() placement: PlacementType = 'bottom-start';\n\n componentDidRender() {\n this.panelEl = this.host.shadowRoot?.querySelector('pds-box') as HTMLPdsBoxElement;\n }\n\n disconnectedCallback() {\n // Clean up auto-update when component is removed from DOM\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n }\n\n private handleTriggerSlotChange = (event: Event) => {\n this.slotEl = event.target as HTMLSlotElement;\n\n // Get all elements assigned to this slot\n const assignedElements = this.slotEl.assignedElements();\n\n this.triggerEl = assignedElements[0] as HTMLElement;\n this.triggerEl.onclick = this.handleClick;\n\n // Add accessibility attributes to trigger\n this.triggerEl.setAttribute('aria-haspopup', 'menu');\n this.triggerEl.setAttribute('aria-expanded', 'false');\n }\n\n private handleSlotChange = (event: Event) => {\n this.slotEl = event.target as HTMLSlotElement;\n\n // Get all elements assigned to this slot\n const assignedElements = this.slotEl.assignedElements();\n\n // Allowed elements: pds-dropdown-menu-item, pds-dropdown-menu-separator, <a>, <button>\n // Raw <a> and <button> elements are allowed for edge cases requiring native browser/framework\n // behavior (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.\n const allowedTags = ['pds-dropdown-menu-item', 'pds-dropdown-menu-separator', 'a', 'button'];\n const invalidElements = assignedElements.filter(\n el => !allowedTags.includes(el.tagName.toLowerCase())\n );\n\n if (invalidElements.length > 0) {\n const invalidTags = invalidElements.map(el => el.tagName.toLowerCase()).join(', ');\n console.warn(\n `pds-dropdown-menu: Unexpected element(s) found: ${invalidTags}. ` +\n `Expected: ${allowedTags.join(', ')}`\n );\n }\n\n // Store all focusable items for keyboard navigation\n // This includes pds-dropdown-menu-item components and raw <a>/<button> elements\n this.menuItems = assignedElements.filter(el => {\n const tag = el.tagName.toLowerCase();\n return tag === 'pds-dropdown-menu-item' || tag === 'a' || tag === 'button';\n }) as MenuItemElement[];\n }\n\n // Toggle dropdown open/closed\n private toggleDropdown = () => {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n // Open the dropdown and position it\n private openDropdown = () => {\n const updatePosition = () => {\n computePosition(this.triggerEl, this.panelEl as HTMLElement, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(6), flip(), shift({padding: 5})],\n }).then(({ x, y }) => {\n Object.assign(this.panelEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n });\n };\n\n // Initial position\n updatePosition();\n\n // Set up auto-update for window resize and scroll\n this.cleanupAutoUpdate = autoUpdate(\n this.triggerEl,\n this.panelEl as HTMLElement,\n updatePosition\n );\n\n this.host.shadowRoot?.querySelector('pds-box').classList.remove('is-hidden');\n this.isOpen = true;\n\n // Update ARIA attributes\n this.triggerEl.setAttribute('aria-expanded', 'true');\n }\n\n // Close the dropdown\n private closeDropdown = () => {\n this.host.shadowRoot?.querySelector('pds-box').classList.add('is-hidden');\n this.isOpen = false;\n\n // Clean up auto-update\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n\n // Update ARIA attributes\n this.triggerEl.setAttribute('aria-expanded', 'false');\n\n // Reset focus index\n this.currentFocusIndex = -1;\n\n // Return focus to trigger\n this.triggerEl.focus();\n }\n\n // Handle click on the trigger element\n private handleClick = () => {\n this.toggleDropdown();\n }\n\n // Check if a menu item is disabled (handles both component and raw elements)\n private isItemDisabled(item: MenuItemElement): boolean {\n const tagName = item.tagName.toLowerCase();\n\n if (tagName === 'pds-dropdown-menu-item') {\n return (item as HTMLPdsDropdownMenuItemElement).disabled;\n } else if (tagName === 'button') {\n return (item as HTMLButtonElement).disabled;\n } else if (tagName === 'a') {\n return item.getAttribute('aria-disabled') === 'true';\n }\n return false;\n }\n\n // Get the index of the currently focused menu item\n private getFocusedItemIndex(): number {\n const activeElement = document.activeElement as MenuItemElement | null;\n if (!activeElement) return -1;\n\n // For raw elements, check direct match\n // For pds-dropdown-menu-item, also check if the active element is inside the shadow root\n return this.menuItems.findIndex(item => {\n if (item === activeElement) return true;\n\n // Check if activeElement is inside the item's shadow root (for pds-dropdown-menu-item)\n if (item.tagName.toLowerCase() === 'pds-dropdown-menu-item') {\n const shadowRoot = (item as HTMLPdsDropdownMenuItemElement).shadowRoot;\n if (shadowRoot?.contains(activeElement)) return true;\n }\n\n return false;\n });\n }\n\n // Focus a specific menu item by index\n private focusItemByIndex(index: number): void {\n if (index >= 0 && index < this.menuItems.length) {\n this.currentFocusIndex = index;\n const item = this.menuItems[index];\n const tagName = item.tagName.toLowerCase();\n\n if (tagName === 'pds-dropdown-menu-item') {\n // For pds-dropdown-menu-item, focus the inner element\n const menuItem = item as HTMLPdsDropdownMenuItemElement;\n const innerButton = menuItem.shadowRoot?.querySelector('button');\n const innerLink = menuItem.shadowRoot?.querySelector('pds-link')?.shadowRoot?.querySelector('a')\n || menuItem.shadowRoot?.querySelector('a');\n\n if (innerButton) {\n innerButton.focus();\n } else if (innerLink) {\n innerLink.focus();\n } else {\n // Fallback to focusing the host\n menuItem.focus();\n }\n } else {\n // For raw <a> or <button> elements, focus directly\n (item as HTMLElement).focus();\n }\n }\n }\n\n // Focus the next menu item\n private focusNextItem(): void {\n let nextIndex = (this.currentFocusIndex + 1) % this.menuItems.length;\n\n // Skip disabled items\n let attempts = 0;\n const maxAttempts = this.menuItems.length;\n\n while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[nextIndex])) {\n nextIndex = (nextIndex + 1) % this.menuItems.length;\n attempts++;\n }\n\n // Only focus if we found a non-disabled item\n if (attempts < maxAttempts) {\n this.focusItemByIndex(nextIndex);\n }\n }\n\n // Focus the previous menu item\n private focusPreviousItem(): void {\n let prevIndex = this.currentFocusIndex <= 0\n ? this.menuItems.length - 1\n : this.currentFocusIndex - 1;\n\n // Skip disabled items\n let attempts = 0;\n const maxAttempts = this.menuItems.length;\n\n while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[prevIndex])) {\n prevIndex = prevIndex <= 0 ? this.menuItems.length - 1 : prevIndex - 1;\n attempts++;\n }\n\n // Only focus if we found a non-disabled item\n if (attempts < maxAttempts) {\n this.focusItemByIndex(prevIndex);\n }\n }\n\n // Handle keyboard events for the dropdown\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isOpen) return;\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.focusNextItem();\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n this.focusPreviousItem();\n break;\n\n case 'Home':\n event.preventDefault();\n if (this.menuItems.length > 0) {\n // Find first non-disabled item\n let firstIndex = 0;\n while (firstIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstIndex])) {\n firstIndex++;\n }\n if (firstIndex < this.menuItems.length) {\n this.focusItemByIndex(firstIndex);\n }\n }\n break;\n\n case 'End':\n event.preventDefault();\n if (this.menuItems.length > 0) {\n // Find last non-disabled item\n let lastIndex = this.menuItems.length - 1;\n while (lastIndex >= 0 && this.isItemDisabled(this.menuItems[lastIndex])) {\n lastIndex--;\n }\n if (lastIndex >= 0) {\n this.focusItemByIndex(lastIndex);\n }\n }\n break;\n\n case 'Tab':\n if (event.shiftKey) {\n // Let Shift+Tab navigate naturally from first item to trigger\n // For all other items, move to previous item\n const currentIndex = this.getFocusedItemIndex();\n\n if (currentIndex > 0) {\n // If not on first item, prevent default and go to previous item\n event.preventDefault();\n this.focusPreviousItem(); // Use our method that skips disabled items\n }\n // If on first item or no item, let natural tab order move back to trigger\n } else {\n // Forward Tab navigation\n const activeElement = document.activeElement;\n const isTriggerFocused = activeElement === this.triggerEl;\n const currentIndex = this.getFocusedItemIndex();\n\n if (isTriggerFocused && this.menuItems.length > 0) {\n // If trigger is focused, move to first non-disabled menu item\n event.preventDefault();\n\n // Find the first non-disabled item\n let firstFocusableIndex = 0;\n while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {\n firstFocusableIndex++;\n }\n\n if (firstFocusableIndex < this.menuItems.length) {\n this.focusItemByIndex(firstFocusableIndex);\n }\n } else if (currentIndex === -1 && this.menuItems.length > 0) {\n // If no menu item is focused, focus the first non-disabled one\n event.preventDefault();\n\n // Find the first non-disabled item\n let firstFocusableIndex = 0;\n while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {\n firstFocusableIndex++;\n }\n\n if (firstFocusableIndex < this.menuItems.length) {\n this.focusItemByIndex(firstFocusableIndex);\n }\n } else if (currentIndex !== -1) {\n // Use our method that skips disabled items\n event.preventDefault();\n this.focusNextItem();\n }\n }\n break;\n }\n }\n\n // Handle clicks outside the dropdown to close it\n @Listen('click', { target: 'window' })\n handleWindowClick(event: MouseEvent) {\n if (this.isOpen && !this.host.contains(event.target as Node) && event.target !== this.triggerEl) {\n this.closeDropdown();\n }\n }\n\n\n render() {\n return (\n <Host id={this.componentId}>\n <slot\n name=\"trigger\"\n onSlotchange={this.handleTriggerSlotChange}\n ></slot>\n <pds-box\n border-radius=\"sm\"\n display=\"flex\"\n direction=\"column\"\n class=\"pds-dropdown-menu--panel is-hidden\"\n shadow=\"100\"\n role=\"menu\"\n aria-orientation=\"vertical\"\n part=\"menu-panel\"\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </pds-box>\n </Host>\n );\n }\n}\n"],"names":["computePosition","offset","flip","shift","autoUpdate","h","Host"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
  var scroll = require('./scroll-2XcoE_6Q.js');
5
5
  var index$1 = require('./index-DGBoDsAL.js');
6
6
 
7
- const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-container);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}.pds-filter__popover{}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger start);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto;-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover{}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto;-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}}";
7
+ const pdsFilterCss = ":host{--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);display:inline-block;position:relative}.pds-filter__trigger{-ms-flex-align:center;align-items:center;anchor-name:--filter-trigger;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-050);box-shadow:var(--pine-box-shadow-050);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-tertiary);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-inter);font-size:var(--pine-font-size-100);font-weight:var(--pine-font-weight-400);gap:var(--pine-dimension-050);letter-spacing:var(--pine-letter-spacing-114);line-height:var(--pine-line-height-150);padding:var(--pine-dimension-025) var(--pine-dimension-125);position:relative;-webkit-transition:all var(--pine-motion-duration-base) ease;transition:all var(--pine-motion-duration-base) ease}.pds-filter__trigger pds-icon{block-size:var(--pine-font-size-100);color:var(--pine-color-text-secondary);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-font-size-100)}.pds-filter__trigger:hover,.pds-filter__trigger.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger:hover pds-icon,.pds-filter__trigger.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger:disabled{cursor:not-allowed;opacity:0.5}.pds-filter__trigger--selected{background-color:var(--pine-color-purple-050);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover,.pds-filter__trigger--selected.pds-filter__trigger--open{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-500);color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:hover pds-icon,.pds-filter__trigger--selected.pds-filter__trigger--open pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--selected:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--more{background-color:var(--pine-color-background-container-hover);border:var(--pine-border-width-thin) dashed var(--pine-color-border);color:var(--pine-color-text-tertiary)}.pds-filter__trigger--more pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:hover,.pds-filter__trigger--more.pds-filter__trigger--open{background-color:var(--pine-color-background-subtle);border-color:var(--pine-color-border-hover);color:var(--pine-color-text-hover)}.pds-filter__trigger--more:hover pds-icon,.pds-filter__trigger--more.pds-filter__trigger--open pds-icon{color:var(--pine-color-text-secondary)}.pds-filter__trigger--more:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__trigger--clear{background:transparent;border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-100);-webkit-box-shadow:none;box-shadow:none;color:var(--pine-color-purple-600)}.pds-filter__trigger--clear pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover{background-color:var(--pine-color-purple-100);border-color:var(--pine-color-purple-100);color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:hover pds-icon{color:var(--pine-color-purple-600)}.pds-filter__trigger--clear:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-filter__button-content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-050);max-inline-size:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__button-text{line-height:var(--pine-line-height-150);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-filter__dropdown-icon{block-size:var(--pine-dimension-200);-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-200)}.pds-filter__popover{background-color:var(--pine-color-background-overlay);border:0;border-radius:var(--pine-dimension-100);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);display:none;inline-size:228px;inset:unset;padding:var(--pine-dimension-100);z-index:var(--pine-z-index-overlay);}.pds-filter__popover:popover-open,.pds-filter__popover.is-open{display:block}.pds-filter__popover{}@supports (anchor-name: --test){.pds-filter__popover{inset-block-start:calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));inset-inline-start:anchor(--filter-trigger start);position:fixed;position-anchor:--filter-trigger;}.pds-filter__popover.popover-flip-horizontal{inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto}.pds-filter__popover.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto;-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover{}.pds-filter__popover.is-open.popover-flip-horizontal{inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto}.pds-filter__popover.is-open.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}.pds-filter__popover.is-open.popover-flip-horizontal.popover-flip-vertical{inset-block-start:anchor(--filter-trigger top);inset-inline-end:anchor(--filter-trigger end);inset-inline-start:auto;-webkit-transform:translateY(calc(-100% - var(--pine-dimension-100)));transform:translateY(calc(-100% - var(--pine-dimension-100)))}}";
8
8
 
9
9
  const PdsFilter = class {
10
10
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"pds-filter.entry.cjs.js","sources":["src/components/pds-filters/pds-filter/pds-filter.scss?tag=pds-filter&encapsulation=shadow","src/components/pds-filters/pds-filter/pds-filter.tsx"],"sourcesContent":[":host {\n --box-shadow-focus: 0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);\n\n display: inline-block;\n position: relative;\n}\n\n.pds-filter__trigger {\n align-items: center;\n /* stylelint-disable-next-line property-no-unknown */\n anchor-name: --filter-trigger;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-050);\n box-sizing: border-box;\n color: var(--pine-color-text-tertiary);\n cursor: pointer;\n display: inline-flex;\n font-family: var(--pine-font-family-inter);\n font-size: var(--pine-font-size-100);\n font-weight: var(--pine-font-weight-400);\n gap: var(--pine-dimension-050);\n letter-spacing: var(--pine-letter-spacing-114);\n line-height: var(--pine-line-height-150);\n padding: var(--pine-dimension-025) var(--pine-dimension-125);\n position: relative;\n transition: all 0.2s ease;\n\n pds-icon {\n block-size: var(--pine-font-size-100);\n color: var(--pine-color-text-secondary);\n flex-shrink: 0;\n inline-size: var(--pine-font-size-100);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n.pds-filter__trigger--selected {\n background-color: var(--pine-color-purple-050);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--more {\n background-color: var(--pine-color-background-container-hover);\n border: var(--pine-border-width-thin) dashed var(--pine-color-border);\n color: var(--pine-color-text-tertiary);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--clear {\n background: transparent;\n border: var(--pine-border-width-thin) solid transparent;\n border-radius: var(--pine-dimension-100);\n box-shadow: none;\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-100);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__button-content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-050);\n max-inline-size: 148px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__button-text {\n line-height: var(--pine-line-height-150);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__dropdown-icon {\n block-size: var(--pine-dimension-200);\n flex-shrink: 0;\n inline-size: var(--pine-dimension-200);\n}\n\n\n.pds-filter__popover {\n background-color: var(--pine-color-background-container);\n border: 0;\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-100);\n display: none;\n inline-size: 228px;\n inset: unset;\n padding: var(--pine-dimension-100);\n z-index: var(--pine-z-index-overlay);\n\n /* stylelint-disable-next-line selector-pseudo-class-no-unknown */\n &:popover-open,\n &.is-open {\n display: block;\n }\n\n /* Modern browsers: CSS anchor positioning with JavaScript-controlled flipping */\n @supports (anchor-name: --test) {\n inset-block-start: calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));\n inset-inline-start: anchor(--filter-trigger start);\n position: fixed; /* Anchor positioning requires fixed positioning */\n /* stylelint-disable-next-line property-no-unknown */\n position-anchor: --filter-trigger;\n\n /* CSS position-try disabled for precise JavaScript-controlled flipping */\n\n /* Flipping classes applied by JavaScript for precise control */\n &.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n /* Ensure fallback class works with flipping in modern browsers */\n &.is-open.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.is-open.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.is-open.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { isRtlDirection } from '@utils/scroll';\nimport type { PdsFilterOpenEventDetail, PdsFilterCloseEventDetail, PdsFilterClearEventDetail, PdsFilterVariant } from './filter-interface';\n\nimport { enlarge, trash } from '@pine-ds/icons/icons';\n\n/**\n * Individual filter component with cross-browser popover positioning.\n *\n * Uses a hybrid approach for optimal cross-browser compatibility:\n * - Modern browsers: CSS anchor positioning + JavaScript flip classes\n * - Fallback browsers: JavaScript positioning with viewport boundary detection\n *\n * @part button - Exposes the trigger button element for styling.\n * @part button-content - Exposes the button content container for styling.\n * @part button-text - Exposes the button text for styling.\n * @part icon - Exposes the icon component for styling.\n * @part popover - Exposes the popover container for styling.\n * @slot (default) - Popover content that will be displayed when the filter is open.\n */\n\n@Component({\n tag: 'pds-filter',\n styleUrl: 'pds-filter.scss',\n shadow: true,\n})\nexport class PdsFilter implements BasePdsProps {\n @Element() el!: HTMLPdsFilterElement;\n\n private popoverEl: HTMLElement;\n private scrollRAF: number | null = null;\n private lastScrollTime = 0;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * The variant style of the filter trigger.\n * @defaultValue 'default'\n */\n @Prop() variant: PdsFilterVariant = 'default';\n\n /**\n * The name of the icon to display in the trigger button.\n * For 'clear' variant, this is ignored as it always shows trash icon.\n */\n @Prop() icon?: string;\n\n /**\n * The text content displayed in the trigger button.\n */\n @Prop() text?: string;\n\n\n /**\n * State to track if the popover is open.\n */\n @State() isOpen = false;\n\n /**\n * Event emitted when the filter popover is opened.\n */\n @Event() pdsFilterOpen: EventEmitter<PdsFilterOpenEventDetail>;\n\n /**\n * Event emitted when the filter popover is closed.\n */\n @Event() pdsFilterClose: EventEmitter<PdsFilterCloseEventDetail>;\n\n /**\n * Event emitted when the clear variant is clicked.\n */\n @Event() pdsFilterClear: EventEmitter<PdsFilterClearEventDetail>;\n\n\n /**\n * Component lifecycle: Clean up when disconnected from DOM.\n * Prevents memory leaks by canceling pending operations and closing popovers.\n */\n disconnectedCallback() {\n // Cancel pending animation frames\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n this.scrollRAF = null;\n }\n\n this.lastScrollTime = 0;\n\n // Clean up native popover event listeners\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n if (supportsPopoverAPI) {\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n\n // Ensure popover is closed\n if (this.isOpen && this.popoverEl) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n\n componentDidRender() {\n // Note: popoverEl is set via ref callback in render method\n // For browsers with native popover API, we need direct element listeners\n // since the document listener may not capture native popover toggle events\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (supportsPopoverAPI) {\n // Remove any existing listeners to avoid duplicates\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n // Add direct listener for native popover events\n this.popoverEl.addEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n }\n\n /**\n * Handle native popover toggle events directly on the element\n * This is needed for browsers with native Popover API support\n */\n private handleNativePopoverToggle = (event: Event) => {\n const target = event.target as HTMLElement;\n\n if (target && target.id === `${this.componentId}-popover`) {\n // Check current popover state\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n };\n\n /**\n * Reposition popovers on window resize.\n */\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 16);\n }\n }\n\n /**\n * Reposition popovers on scroll with performance throttling.\n */\n @Listen('scroll', { target: 'window', passive: true })\n handleWindowScroll() {\n if (this.isOpen) {\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n const now = performance.now();\n\n const throttleMs = supportsAnchorPositioning ? 66 : 33;\n if (now - this.lastScrollTime < throttleMs) {\n return;\n }\n\n this.lastScrollTime = now;\n\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n }\n\n this.scrollRAF = requestAnimationFrame(() => {\n if (this.isOpen && this.popoverEl && this.el.isConnected) {\n this.adjustPopoverPosition();\n }\n this.scrollRAF = null;\n });\n }\n }\n\n /**\n * Closes other open filter popovers to ensure only one is open at a time.\n */\n private closeOtherPopovers() {\n const allFilters = document.querySelectorAll('pds-filter');\n\n allFilters.forEach((filter) => {\n if (filter === this.el) return;\n\n const popover = filter.shadowRoot?.querySelector('.pds-filter__popover') as HTMLElement;\n\n if (popover) {\n // Check for popover API support to avoid crashes\n let isPopoverOpen = false;\n try {\n isPopoverOpen = popover.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isPopoverOpen = popover.style.display === 'block';\n }\n\n if (isPopoverOpen) {\n try {\n popover.hidePopover();\n } catch (error) {\n popover.style.display = 'none';\n popover.classList.remove('is-open');\n }\n }\n }\n });\n }\n\n /**\n * Adjusts popover position to keep it within viewport bounds.\n * Uses CSS anchor positioning for modern browsers, JavaScript for fallback browsers.\n */\n private adjustPopoverPosition() {\n if (!this.popoverEl || this.variant === 'clear') return;\n\n const triggerEl = this.el.shadowRoot?.querySelector('.pds-filter__trigger') as HTMLElement;\n if (!triggerEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n\n // Get dimensions for boundary detection\n const popoverWidth = 228;\n const popoverHeight = this.popoverEl.getBoundingClientRect().height || 200;\n\n // Boundary detection for flipping (inline-end overflow respects document direction)\n const bufferSpace = 20;\n const isRtl = isRtlDirection(this.el);\n const wouldOverflowInlineEnd = isRtl\n ? (triggerRect.right - popoverWidth - bufferSpace) < 0\n : (triggerRect.left + popoverWidth + bufferSpace) > viewportWidth;\n const wouldOverflowBottom = (triggerRect.bottom + 8 + popoverHeight + bufferSpace) > viewportHeight;\n\n if (supportsAnchorPositioning) {\n // Modern browsers: CSS anchor positioning + JavaScript-controlled flipping\n this.popoverEl.classList.remove('popover-flip-horizontal', 'popover-flip-vertical');\n\n if (wouldOverflowInlineEnd) {\n this.popoverEl.classList.add('popover-flip-horizontal');\n }\n\n if (wouldOverflowBottom) {\n this.popoverEl.classList.add('popover-flip-vertical');\n }\n\n } else {\n // Fallback browsers: JavaScript positioning with boundary detection\n let left = isRtl ? triggerRect.right - popoverWidth : triggerRect.left;\n let top = triggerRect.bottom + 8;\n let transformOrigin = isRtl ? 'top right' : 'top left';\n\n // Apply horizontal flipping if needed\n if (wouldOverflowInlineEnd) {\n const actualPopoverWidth = this.popoverEl.getBoundingClientRect().width || popoverWidth;\n left = isRtl ? triggerRect.left : triggerRect.right - actualPopoverWidth;\n transformOrigin = isRtl ? 'top left' : 'top right';\n }\n\n // Apply vertical flipping if needed\n if (wouldOverflowBottom) {\n top = triggerRect.top - popoverHeight - 8;\n transformOrigin = transformOrigin.replace('top', 'bottom');\n }\n\n // Apply positioning in single DOM write for performance\n this.popoverEl.style.cssText = `\n position: fixed;\n left: ${left}px;\n top: ${top}px;\n z-index: var(--pine-z-index-overlay);\n transform-origin: ${transformOrigin};\n `;\n }\n }\n\n /**\n * Opens the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async showFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support showFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.showPopover();\n } catch (error) {\n // Fallback for testing environment where showPopover is not available\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n }\n }\n }\n\n /**\n * Closes the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async hideFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support hideFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n // Fallback for testing environment where hidePopover is not available\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n /**\n * Listen for popover toggle events for browsers without native Popover API (fallback).\n * Native API browsers use direct element listeners to avoid conflicts.\n */\n @Listen('toggle', { target: 'document' })\n handlePopoverToggle(event: Event) {\n const target = event.target as HTMLElement;\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n // Only handle events for fallback browsers (Firefox) to avoid duplicate handling\n if (!supportsPopoverAPI && target && target.id === `${this.componentId}-popover`) {\n // Check for popover API support to avoid crashes\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }\n\n /**\n * Listen for clicks to detect outside dismissal.\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n // Check if click is outside and popover gets closed\n if (!this.el.contains(event.target as Node) && this.isOpen && this.variant !== 'clear') {\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by outside click\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Listen for Escape key to ensure close event fires.\n */\n @Listen('keydown', { target: 'document' })\n handleEscapeKey(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isOpen && this.variant !== 'clear') {\n // Check if popover was closed by Escape\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by Escape\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Handle keyboard interactions for clear variant only.\n */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Only handle clear variant manually, let native API handle everything else\n if (this.variant === 'clear' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n /**\n * Handle trigger button click. Clear variant emits event, others toggle popover.\n */\n private handleClick = (event?: Event) => {\n if (this.variant === 'clear') {\n this.pdsFilterClear.emit({\n componentId: this.componentId,\n text: this.text,\n });\n return;\n }\n\n this.closeOtherPopovers();\n\n // Check for popover API support\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (!supportsPopoverAPI) {\n // Manual fallback for browsers without popover API support\n // Prevent default to avoid conflicts with any native behavior\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n if (this.popoverEl != null) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n this.adjustPopoverPosition();\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n // For browsers with native popover API, let the native behavior handle the toggle\n // The toggle event listener will capture the state change and emit events\n };\n\n /**\n * Get the appropriate icon for the variant.\n */\n private getIcon() {\n if (this.variant === 'clear') {\n return trash;\n }\n return this.icon;\n }\n\n /**\n * Get CSS classes for the trigger button.\n */\n private getTriggerClasses() {\n const classes = ['pds-filter__trigger'];\n classes.push(`pds-filter__trigger--${this.variant}`);\n\n if (this.isOpen && this.variant !== 'clear') {\n classes.push('pds-filter__trigger--open');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Render the trigger icon.\n */\n private renderIcon() {\n const iconToRender = this.getIcon();\n if (iconToRender == null || iconToRender === '') return null;\n\n return (\n <pds-icon\n icon={iconToRender}\n size=\"var(--pine-font-size-100)\"\n aria-hidden=\"true\"\n part=\"icon\"\n />\n );\n }\n\n /**\n * Render the dropdown icon for selected variant.\n */\n private renderDropdownIcon() {\n if (this.variant === 'selected') {\n return (\n <pds-icon\n icon={enlarge}\n size=\"var(--pine-dimension-200)\"\n aria-hidden=\"true\"\n class=\"pds-filter__dropdown-icon\"\n part=\"icon\"\n />\n );\n }\n return null;\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <button\n class={this.getTriggerClasses()}\n type=\"button\"\n popoverTarget={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n popoverTargetAction={this.variant !== 'clear' ? 'toggle' : undefined}\n onKeyDown={this.variant === 'clear' ? this.handleKeyDown : undefined}\n onClick={(event) => this.handleClick(event)}\n part=\"button\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-haspopup={this.variant !== 'clear' ? 'true' : undefined}\n aria-controls={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n >\n <span class=\"pds-filter__button-content\" part=\"button-content\">\n {this.renderIcon()}\n {this.text && (\n <span class=\"pds-filter__button-text\" part=\"button-text\">\n {this.text}\n </span>\n )}\n {this.renderDropdownIcon()}\n </span>\n </button>\n\n {this.variant !== 'clear' && (\n <div\n ref={el => this.popoverEl = el}\n id={`${this.componentId}-popover`}\n class=\"pds-filter__popover\"\n popover=\"auto\"\n part=\"popover\"\n >\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["isRtlDirection","trash","h","enlarge","Host"],"mappings":"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"}
1
+ {"version":3,"file":"pds-filter.entry.cjs.js","sources":["src/components/pds-filters/pds-filter/pds-filter.scss?tag=pds-filter&encapsulation=shadow","src/components/pds-filters/pds-filter/pds-filter.tsx"],"sourcesContent":[":host {\n --box-shadow-focus: 0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);\n\n display: inline-block;\n position: relative;\n}\n\n.pds-filter__trigger {\n align-items: center;\n /* stylelint-disable-next-line property-no-unknown */\n anchor-name: --filter-trigger;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-050);\n box-sizing: border-box;\n color: var(--pine-color-text-tertiary);\n cursor: pointer;\n display: inline-flex;\n font-family: var(--pine-font-family-inter);\n font-size: var(--pine-font-size-100);\n font-weight: var(--pine-font-weight-400);\n gap: var(--pine-dimension-050);\n letter-spacing: var(--pine-letter-spacing-114);\n line-height: var(--pine-line-height-150);\n padding: var(--pine-dimension-025) var(--pine-dimension-125);\n position: relative;\n transition: all var(--pine-motion-duration-base) ease;\n\n pds-icon {\n block-size: var(--pine-font-size-100);\n color: var(--pine-color-text-secondary);\n flex-shrink: 0;\n inline-size: var(--pine-font-size-100);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n.pds-filter__trigger--selected {\n background-color: var(--pine-color-purple-050);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--more {\n background-color: var(--pine-color-background-container-hover);\n border: var(--pine-border-width-thin) dashed var(--pine-color-border);\n color: var(--pine-color-text-tertiary);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-background-subtle);\n border-color: var(--pine-color-border-hover);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-text-secondary);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--clear {\n background: transparent;\n border: var(--pine-border-width-thin) solid transparent;\n border-radius: var(--pine-dimension-100);\n box-shadow: none;\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-100);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__button-content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-050);\n max-inline-size: 148px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__button-text {\n line-height: var(--pine-line-height-150);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__dropdown-icon {\n block-size: var(--pine-dimension-200);\n flex-shrink: 0;\n inline-size: var(--pine-dimension-200);\n}\n\n\n.pds-filter__popover {\n background-color: var(--pine-color-background-overlay);\n border: 0;\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-100);\n display: none;\n inline-size: 228px;\n inset: unset;\n padding: var(--pine-dimension-100);\n z-index: var(--pine-z-index-overlay);\n\n /* stylelint-disable-next-line selector-pseudo-class-no-unknown */\n &:popover-open,\n &.is-open {\n display: block;\n }\n\n /* Modern browsers: CSS anchor positioning with JavaScript-controlled flipping */\n @supports (anchor-name: --test) {\n inset-block-start: calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));\n inset-inline-start: anchor(--filter-trigger start);\n position: fixed; /* Anchor positioning requires fixed positioning */\n /* stylelint-disable-next-line property-no-unknown */\n position-anchor: --filter-trigger;\n\n /* CSS position-try disabled for precise JavaScript-controlled flipping */\n\n /* Flipping classes applied by JavaScript for precise control */\n &.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n /* Ensure fallback class works with flipping in modern browsers */\n &.is-open.popover-flip-horizontal {\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n }\n\n &.is-open.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.is-open.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-end: anchor(--filter-trigger end);\n inset-inline-start: auto;\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport { isRtlDirection } from '@utils/scroll';\nimport type { PdsFilterOpenEventDetail, PdsFilterCloseEventDetail, PdsFilterClearEventDetail, PdsFilterVariant } from './filter-interface';\n\nimport { enlarge, trash } from '@pine-ds/icons/icons';\n\n/**\n * Individual filter component with cross-browser popover positioning.\n *\n * Uses a hybrid approach for optimal cross-browser compatibility:\n * - Modern browsers: CSS anchor positioning + JavaScript flip classes\n * - Fallback browsers: JavaScript positioning with viewport boundary detection\n *\n * @part button - Exposes the trigger button element for styling.\n * @part button-content - Exposes the button content container for styling.\n * @part button-text - Exposes the button text for styling.\n * @part icon - Exposes the icon component for styling.\n * @part popover - Exposes the popover container for styling.\n * @slot (default) - Popover content that will be displayed when the filter is open.\n */\n\n@Component({\n tag: 'pds-filter',\n styleUrl: 'pds-filter.scss',\n shadow: true,\n})\nexport class PdsFilter implements BasePdsProps {\n @Element() el!: HTMLPdsFilterElement;\n\n private popoverEl: HTMLElement;\n private scrollRAF: number | null = null;\n private lastScrollTime = 0;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * The variant style of the filter trigger.\n * @defaultValue 'default'\n */\n @Prop() variant: PdsFilterVariant = 'default';\n\n /**\n * The name of the icon to display in the trigger button.\n * For 'clear' variant, this is ignored as it always shows trash icon.\n */\n @Prop() icon?: string;\n\n /**\n * The text content displayed in the trigger button.\n */\n @Prop() text?: string;\n\n\n /**\n * State to track if the popover is open.\n */\n @State() isOpen = false;\n\n /**\n * Event emitted when the filter popover is opened.\n */\n @Event() pdsFilterOpen: EventEmitter<PdsFilterOpenEventDetail>;\n\n /**\n * Event emitted when the filter popover is closed.\n */\n @Event() pdsFilterClose: EventEmitter<PdsFilterCloseEventDetail>;\n\n /**\n * Event emitted when the clear variant is clicked.\n */\n @Event() pdsFilterClear: EventEmitter<PdsFilterClearEventDetail>;\n\n\n /**\n * Component lifecycle: Clean up when disconnected from DOM.\n * Prevents memory leaks by canceling pending operations and closing popovers.\n */\n disconnectedCallback() {\n // Cancel pending animation frames\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n this.scrollRAF = null;\n }\n\n this.lastScrollTime = 0;\n\n // Clean up native popover event listeners\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n if (supportsPopoverAPI) {\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n\n // Ensure popover is closed\n if (this.isOpen && this.popoverEl) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n\n componentDidRender() {\n // Note: popoverEl is set via ref callback in render method\n // For browsers with native popover API, we need direct element listeners\n // since the document listener may not capture native popover toggle events\n if (this.popoverEl) {\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (supportsPopoverAPI) {\n // Remove any existing listeners to avoid duplicates\n this.popoverEl.removeEventListener('toggle', this.handleNativePopoverToggle);\n // Add direct listener for native popover events\n this.popoverEl.addEventListener('toggle', this.handleNativePopoverToggle);\n }\n }\n }\n\n /**\n * Handle native popover toggle events directly on the element\n * This is needed for browsers with native Popover API support\n */\n private handleNativePopoverToggle = (event: Event) => {\n const target = event.target as HTMLElement;\n\n if (target && target.id === `${this.componentId}-popover`) {\n // Check current popover state\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n };\n\n /**\n * Reposition popovers on window resize.\n */\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 16);\n }\n }\n\n /**\n * Reposition popovers on scroll with performance throttling.\n */\n @Listen('scroll', { target: 'window', passive: true })\n handleWindowScroll() {\n if (this.isOpen) {\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n const now = performance.now();\n\n const throttleMs = supportsAnchorPositioning ? 66 : 33;\n if (now - this.lastScrollTime < throttleMs) {\n return;\n }\n\n this.lastScrollTime = now;\n\n if (this.scrollRAF) {\n cancelAnimationFrame(this.scrollRAF);\n }\n\n this.scrollRAF = requestAnimationFrame(() => {\n if (this.isOpen && this.popoverEl && this.el.isConnected) {\n this.adjustPopoverPosition();\n }\n this.scrollRAF = null;\n });\n }\n }\n\n /**\n * Closes other open filter popovers to ensure only one is open at a time.\n */\n private closeOtherPopovers() {\n const allFilters = document.querySelectorAll('pds-filter');\n\n allFilters.forEach((filter) => {\n if (filter === this.el) return;\n\n const popover = filter.shadowRoot?.querySelector('.pds-filter__popover') as HTMLElement;\n\n if (popover) {\n // Check for popover API support to avoid crashes\n let isPopoverOpen = false;\n try {\n isPopoverOpen = popover.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isPopoverOpen = popover.style.display === 'block';\n }\n\n if (isPopoverOpen) {\n try {\n popover.hidePopover();\n } catch (error) {\n popover.style.display = 'none';\n popover.classList.remove('is-open');\n }\n }\n }\n });\n }\n\n /**\n * Adjusts popover position to keep it within viewport bounds.\n * Uses CSS anchor positioning for modern browsers, JavaScript for fallback browsers.\n */\n private adjustPopoverPosition() {\n if (!this.popoverEl || this.variant === 'clear') return;\n\n const triggerEl = this.el.shadowRoot?.querySelector('.pds-filter__trigger') as HTMLElement;\n if (!triggerEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n const supportsAnchorPositioning = \"anchorName\" in document.documentElement.style;\n\n // Get dimensions for boundary detection\n const popoverWidth = 228;\n const popoverHeight = this.popoverEl.getBoundingClientRect().height || 200;\n\n // Boundary detection for flipping (inline-end overflow respects document direction)\n const bufferSpace = 20;\n const isRtl = isRtlDirection(this.el);\n const wouldOverflowInlineEnd = isRtl\n ? (triggerRect.right - popoverWidth - bufferSpace) < 0\n : (triggerRect.left + popoverWidth + bufferSpace) > viewportWidth;\n const wouldOverflowBottom = (triggerRect.bottom + 8 + popoverHeight + bufferSpace) > viewportHeight;\n\n if (supportsAnchorPositioning) {\n // Modern browsers: CSS anchor positioning + JavaScript-controlled flipping\n this.popoverEl.classList.remove('popover-flip-horizontal', 'popover-flip-vertical');\n\n if (wouldOverflowInlineEnd) {\n this.popoverEl.classList.add('popover-flip-horizontal');\n }\n\n if (wouldOverflowBottom) {\n this.popoverEl.classList.add('popover-flip-vertical');\n }\n\n } else {\n // Fallback browsers: JavaScript positioning with boundary detection\n let left = isRtl ? triggerRect.right - popoverWidth : triggerRect.left;\n let top = triggerRect.bottom + 8;\n let transformOrigin = isRtl ? 'top right' : 'top left';\n\n // Apply horizontal flipping if needed\n if (wouldOverflowInlineEnd) {\n const actualPopoverWidth = this.popoverEl.getBoundingClientRect().width || popoverWidth;\n left = isRtl ? triggerRect.left : triggerRect.right - actualPopoverWidth;\n transformOrigin = isRtl ? 'top left' : 'top right';\n }\n\n // Apply vertical flipping if needed\n if (wouldOverflowBottom) {\n top = triggerRect.top - popoverHeight - 8;\n transformOrigin = transformOrigin.replace('top', 'bottom');\n }\n\n // Apply positioning in single DOM write for performance\n this.popoverEl.style.cssText = `\n position: fixed;\n left: ${left}px;\n top: ${top}px;\n z-index: var(--pine-z-index-overlay);\n transform-origin: ${transformOrigin};\n `;\n }\n }\n\n /**\n * Opens the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async showFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support showFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.showPopover();\n } catch (error) {\n // Fallback for testing environment where showPopover is not available\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n }\n }\n }\n\n /**\n * Closes the filter popover programmatically.\n * Note: Clear variant does not support popover functionality.\n */\n @Method()\n async hideFilter() {\n if (this.variant === 'clear') {\n console.warn('Clear variant does not support hideFilter method');\n return;\n }\n\n if (this.popoverEl != null) {\n try {\n this.popoverEl.hidePopover();\n } catch (error) {\n // Fallback for testing environment where hidePopover is not available\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n }\n }\n\n /**\n * Listen for popover toggle events for browsers without native Popover API (fallback).\n * Native API browsers use direct element listeners to avoid conflicts.\n */\n @Listen('toggle', { target: 'document' })\n handlePopoverToggle(event: Event) {\n const target = event.target as HTMLElement;\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n // Only handle events for fallback browsers (Firefox) to avoid duplicate handling\n if (!supportsPopoverAPI && target && target.id === `${this.componentId}-popover`) {\n // Check for popover API support to avoid crashes\n let isCurrentlyOpen = false;\n try {\n isCurrentlyOpen = target.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n isCurrentlyOpen = target.style.display === 'block';\n }\n\n // Update state\n this.isOpen = isCurrentlyOpen;\n\n if (this.isOpen) {\n setTimeout(() => this.adjustPopoverPosition(), 0);\n\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }\n\n /**\n * Listen for clicks to detect outside dismissal.\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n // Check if click is outside and popover gets closed\n if (!this.el.contains(event.target as Node) && this.isOpen && this.variant !== 'clear') {\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by outside click\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Listen for Escape key to ensure close event fires.\n */\n @Listen('keydown', { target: 'document' })\n handleEscapeKey(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isOpen && this.variant !== 'clear') {\n // Check if popover was closed by Escape\n setTimeout(() => {\n if (this.popoverEl && this.isOpen) {\n // Check for popover API support to avoid crashes\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n let popoverIsClosed = false;\n if (supportsPopoverAPI) {\n try {\n popoverIsClosed = !this.popoverEl.matches(':popover-open');\n } catch (error) {\n // Fallback if :popover-open selector isn't supported\n popoverIsClosed = this.popoverEl.style.display !== 'block';\n }\n } else {\n // Manual fallback - assume popover was closed by Escape\n popoverIsClosed = true;\n }\n\n if (popoverIsClosed) {\n this.isOpen = false;\n if (!supportsPopoverAPI) {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n }\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n }\n\n /**\n * Handle keyboard interactions for clear variant only.\n */\n private handleKeyDown = (event: KeyboardEvent) => {\n // Only handle clear variant manually, let native API handle everything else\n if (this.variant === 'clear' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n /**\n * Handle trigger button click. Clear variant emits event, others toggle popover.\n */\n private handleClick = (event?: Event) => {\n if (this.variant === 'clear') {\n this.pdsFilterClear.emit({\n componentId: this.componentId,\n text: this.text,\n });\n return;\n }\n\n this.closeOtherPopovers();\n\n // Check for popover API support\n const supportsPopoverAPI = HTMLElement.prototype.showPopover && !navigator.userAgent.includes('Firefox');\n\n if (!supportsPopoverAPI) {\n // Manual fallback for browsers without popover API support\n // Prevent default to avoid conflicts with any native behavior\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n if (this.popoverEl != null) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) {\n this.popoverEl.style.display = 'block';\n this.popoverEl.classList.add('is-open');\n this.adjustPopoverPosition();\n this.pdsFilterOpen.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n } else {\n this.popoverEl.style.display = 'none';\n this.popoverEl.classList.remove('is-open');\n this.pdsFilterClose.emit({\n componentId: this.componentId,\n variant: this.variant,\n text: this.text,\n });\n }\n }\n }, 0);\n }\n // For browsers with native popover API, let the native behavior handle the toggle\n // The toggle event listener will capture the state change and emit events\n };\n\n /**\n * Get the appropriate icon for the variant.\n */\n private getIcon() {\n if (this.variant === 'clear') {\n return trash;\n }\n return this.icon;\n }\n\n /**\n * Get CSS classes for the trigger button.\n */\n private getTriggerClasses() {\n const classes = ['pds-filter__trigger'];\n classes.push(`pds-filter__trigger--${this.variant}`);\n\n if (this.isOpen && this.variant !== 'clear') {\n classes.push('pds-filter__trigger--open');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Render the trigger icon.\n */\n private renderIcon() {\n const iconToRender = this.getIcon();\n if (iconToRender == null || iconToRender === '') return null;\n\n return (\n <pds-icon\n icon={iconToRender}\n size=\"var(--pine-font-size-100)\"\n aria-hidden=\"true\"\n part=\"icon\"\n />\n );\n }\n\n /**\n * Render the dropdown icon for selected variant.\n */\n private renderDropdownIcon() {\n if (this.variant === 'selected') {\n return (\n <pds-icon\n icon={enlarge}\n size=\"var(--pine-dimension-200)\"\n aria-hidden=\"true\"\n class=\"pds-filter__dropdown-icon\"\n part=\"icon\"\n />\n );\n }\n return null;\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <button\n class={this.getTriggerClasses()}\n type=\"button\"\n popoverTarget={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n popoverTargetAction={this.variant !== 'clear' ? 'toggle' : undefined}\n onKeyDown={this.variant === 'clear' ? this.handleKeyDown : undefined}\n onClick={(event) => this.handleClick(event)}\n part=\"button\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-haspopup={this.variant !== 'clear' ? 'true' : undefined}\n aria-controls={this.variant !== 'clear' ? `${this.componentId}-popover` : undefined}\n >\n <span class=\"pds-filter__button-content\" part=\"button-content\">\n {this.renderIcon()}\n {this.text && (\n <span class=\"pds-filter__button-text\" part=\"button-text\">\n {this.text}\n </span>\n )}\n {this.renderDropdownIcon()}\n </span>\n </button>\n\n {this.variant !== 'clear' && (\n <div\n ref={el => this.popoverEl = el}\n id={`${this.componentId}-popover`}\n class=\"pds-filter__popover\"\n popover=\"auto\"\n part=\"popover\"\n >\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["isRtlDirection","trash","h","enlarge","Host"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  const pdsFiltersCss = ":host{display:block}.pds-filters{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-100)}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  let missingAssetPathWarning = false;
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
 
5
5
  const pdsImageCss = ":host{--dimension-aspect-ratio:auto;display:inline-block}img{aspect-ratio:var(--dimension-aspect-ratio);display:block;height:auto;max-width:100%}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BYnQkA7p.js');
3
+ var index = require('./index-BUvWX8u2.js');
4
4
  var form = require('./form-CpM5Z8q7.js');
5
5
  var attributes = require('./attributes-oNMnBEnP.js');
6
6
  var utils = require('./utils-7jx8T2mW.js');
@@ -10,7 +10,7 @@ const pdsInputTokensCss = ":host{--pine-input-color-background-danger:var(--pine
10
10
 
11
11
  const labelCss = ":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)}";
12
12
 
13
- 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:calc(var(--pine-dimension-xs) - var(--pine-border-width));--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-strong);--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:var(--pine-dimension-450);--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 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:var(--pine-z-index-raised)}: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);inset-inline-start: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);inset-inline-end: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;overflow:visible}: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:var(--pine-dimension-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pds-input-border-radius);--pds-button-border-radius-end-start:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}: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:var(--pine-dimension-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pds-input-border-radius);--pds-button-border-radius-end-end:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}: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-end-start:var(--pds-input-border-radius);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pds-input-border-radius);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}: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-end:var(--pds-input-border-radius);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pds-input-border-radius);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([aria-disabled=true])::part(prepend),:host([aria-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([full-width=true]){width:100%}: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)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])){--pds-input-background:var(--pine-color-accent-disabled);--pds-input-border-color:var(--pine-color-accent);--pds-input-border-color-hover:var(--pine-color-accent-hover);--pds-input-text-color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(prefix),:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(suffix){color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])) .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.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-strong);-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)}:host-context([data-theme=dark]) .has-error .pds-input__field:hover:not(:disabled){border-color:var(--pine-color-red-950)}.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);position:relative;z-index:1}: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)}.pds-input__field:-moz-placeholder-shown{text-overflow:ellipsis}.pds-input__field:-ms-input-placeholder{text-overflow:ellipsis}.pds-input__field:placeholder-shown{text-overflow:ellipsis}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host-context([data-theme=dark]) .has-error .pds-input__field{background-color:var(--pine-color-red-950)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger);position:relative;z-index:1}.pds-input__error-message,.pds-input__helper-message{color:var(--pine-color-text-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{color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-input__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.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}.pds-input__field::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;background-color:var(--pds-input-placeholder-color);cursor:pointer;height:var(--pine-dimension-sm);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");-webkit-mask-size:contain;mask-size:contain;width:var(--pine-dimension-sm)}";
13
+ 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:calc(var(--pine-dimension-xs) - var(--pine-border-width));--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-strong);--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:var(--pine-dimension-450);--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 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:var(--pine-z-index-raised)}: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);inset-inline-start: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);inset-inline-end: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;overflow:visible}: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:var(--pine-dimension-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pds-input-border-radius);--pds-button-border-radius-end-start:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}: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:var(--pine-dimension-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pds-input-border-radius);--pds-button-border-radius-end-end:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}: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-end-start:var(--pds-input-border-radius);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pds-input-border-radius);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}: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-end:var(--pds-input-border-radius);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pds-input-border-radius);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([aria-disabled=true])::part(prepend),:host([aria-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([full-width=true]){width:100%}: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)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])){--pds-input-background:var(--pine-color-accent-disabled);--pds-input-border-color:var(--pine-color-accent);--pds-input-border-color-hover:var(--pine-color-accent-hover);--pds-input-text-color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(prefix),:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(suffix){color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])) .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.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-strong);-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 var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) 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)}:host-context([data-theme=dark]) .has-error .pds-input__field:hover:not(:disabled){border-color:var(--pine-color-red-950)}.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);position:relative;z-index:1}: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)}.pds-input__field:-moz-placeholder-shown{text-overflow:ellipsis}.pds-input__field:-ms-input-placeholder{text-overflow:ellipsis}.pds-input__field:placeholder-shown{text-overflow:ellipsis}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host-context([data-theme=dark]) .has-error .pds-input__field{background-color:var(--pine-color-red-950)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger);position:relative;z-index:1}.pds-input__error-message,.pds-input__helper-message{color:var(--pine-color-text-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{color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-input__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.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}.pds-input__field::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;background-color:var(--pds-input-placeholder-color);cursor:pointer;height:var(--pine-dimension-sm);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");-webkit-mask-size:contain;mask-size:contain;width:var(--pine-dimension-sm)}";
14
14
 
15
15
  const PdsInput = class {
16
16
  constructor(hostRef) {