@pine-ds/core 3.7.0 → 3.8.1

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 (604) hide show
  1. package/components/form.js +16 -1
  2. package/components/form.js.map +1 -1
  3. package/components/index2.js +1 -1
  4. package/components/index2.js.map +1 -1
  5. package/components/mock-pds-modal.js +1 -1
  6. package/components/mock-pds-modal.js.map +1 -1
  7. package/components/pds-button2.js +1 -1
  8. package/components/pds-button2.js.map +1 -1
  9. package/components/pds-checkbox2.js +7 -4
  10. package/components/pds-checkbox2.js.map +1 -1
  11. package/components/pds-chip.js +1 -100
  12. package/components/pds-chip.js.map +1 -1
  13. package/components/pds-chip2.js +105 -0
  14. package/components/pds-chip2.js.map +1 -0
  15. package/components/pds-combobox.js +414 -43
  16. package/components/pds-combobox.js.map +1 -1
  17. package/components/pds-copytext.js +3 -3
  18. package/components/pds-copytext.js.map +1 -1
  19. package/components/pds-dropdown-menu.js +1 -1
  20. package/components/pds-dropdown-menu.js.map +1 -1
  21. package/components/pds-filter.js +3 -3
  22. package/components/pds-filter.js.map +1 -1
  23. package/components/pds-input.js +1 -1
  24. package/components/pds-input.js.map +1 -1
  25. package/components/pds-modal.js +1 -1
  26. package/components/pds-modal.js.map +1 -1
  27. package/components/pds-popover.js +123 -15
  28. package/components/pds-popover.js.map +1 -1
  29. package/components/pds-radio.js +10 -4
  30. package/components/pds-radio.js.map +1 -1
  31. package/components/pds-select.js +21 -5
  32. package/components/pds-select.js.map +1 -1
  33. package/components/pds-switch.js +7 -4
  34. package/components/pds-switch.js.map +1 -1
  35. package/components/pds-tab.js +1 -1
  36. package/components/pds-tab.js.map +1 -1
  37. package/components/pds-table-cell2.js +1 -1
  38. package/components/pds-table-cell2.js.map +1 -1
  39. package/components/pds-table-head-cell2.js +1 -1
  40. package/components/pds-table-head-cell2.js.map +1 -1
  41. package/components/pds-table-head.js +1 -1
  42. package/components/pds-table-head.js.map +1 -1
  43. package/components/pds-table-row.js +1 -1
  44. package/components/pds-table-row.js.map +1 -1
  45. package/components/pds-table.js +1 -1
  46. package/components/pds-table.js.map +1 -1
  47. package/components/pds-tabs.js +14 -4
  48. package/components/pds-tabs.js.map +1 -1
  49. package/components/pds-textarea.js +9 -6
  50. package/components/pds-textarea.js.map +1 -1
  51. package/components/pds-tooltip.js +4 -4
  52. package/components/pds-tooltip.js.map +1 -1
  53. package/dist/cjs/{form-Bx4nzJBo.js → form-hmpgbT1I.js} +18 -2
  54. package/dist/cjs/form-hmpgbT1I.js.map +1 -0
  55. package/dist/cjs/{index-CTirFLR-.js → index-DtnvzYhe.js} +3 -3
  56. package/dist/cjs/index-DtnvzYhe.js.map +1 -0
  57. package/dist/cjs/loader.cjs.js +1 -1
  58. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  59. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  60. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  61. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  62. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  64. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  66. package/dist/cjs/pds-checkbox.cjs.entry.js +8 -5
  67. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  68. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  69. package/dist/cjs/pds-chip.cjs.entry.js +3 -3
  70. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  71. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  72. package/dist/cjs/pds-combobox.cjs.entry.js +398 -40
  73. package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -1
  74. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  75. package/dist/cjs/pds-copytext.cjs.entry.js +4 -4
  76. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  77. package/dist/cjs/pds-copytext.entry.cjs.js.map +1 -1
  78. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  81. package/dist/cjs/pds-filter.cjs.entry.js +4 -4
  82. package/dist/cjs/pds-filter.cjs.entry.js.map +1 -1
  83. package/dist/cjs/pds-filter.entry.cjs.js.map +1 -1
  84. package/dist/cjs/pds-input.cjs.entry.js +3 -3
  85. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  86. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  87. package/dist/cjs/pds-link.cjs.entry.js +1 -1
  88. package/dist/cjs/pds-modal.cjs.entry.js +1 -1
  89. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  90. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  91. package/dist/cjs/pds-popover.cjs.entry.js +117 -12
  92. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  93. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  94. package/dist/cjs/pds-radio.cjs.entry.js +11 -5
  95. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  96. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  97. package/dist/cjs/pds-select.cjs.entry.js +20 -5
  98. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  100. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  101. package/dist/cjs/pds-switch.cjs.entry.js +8 -5
  102. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
  104. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  105. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  106. package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
  107. package/dist/cjs/pds-table-cell.cjs.entry.js +1 -1
  108. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  109. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  110. package/dist/cjs/pds-table-head-cell.cjs.entry.js +2 -2
  111. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
  113. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  114. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  115. package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
  116. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  117. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  118. package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
  119. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  120. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  121. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  122. package/dist/cjs/pds-tabs.cjs.entry.js +14 -4
  123. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  124. package/dist/cjs/pds-tabs.entry.cjs.js.map +1 -1
  125. package/dist/cjs/pds-textarea.cjs.entry.js +10 -7
  126. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  127. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  128. package/dist/cjs/pds-tooltip.cjs.entry.js +4 -4
  129. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  130. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  131. package/dist/cjs/pine-core.cjs.js +1 -1
  132. package/dist/collection/components/pds-button/pds-button.css +6 -3
  133. package/dist/collection/components/pds-checkbox/pds-checkbox.js +7 -4
  134. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  135. package/dist/collection/components/pds-chip/pds-chip.css +2 -2
  136. package/dist/collection/components/pds-chip/pds-chip.js +17 -5
  137. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  138. package/dist/collection/components/pds-combobox/pds-combobox.css +175 -4
  139. package/dist/collection/components/pds-combobox/pds-combobox.js +516 -43
  140. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
  141. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +79 -2
  142. package/dist/collection/components/pds-copytext/pds-copytext.css +6 -3
  143. package/dist/collection/components/pds-copytext/pds-copytext.js +2 -2
  144. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  145. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +1 -1
  146. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  147. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +1 -1
  148. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +2 -2
  149. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +1 -1
  150. package/dist/collection/components/pds-input/pds-input.css +18 -3
  151. package/dist/collection/components/pds-input/stories/pds-input.stories.js +42 -0
  152. package/dist/collection/components/pds-modal/pds-modal.css +2 -2
  153. package/dist/collection/components/pds-popover/pds-popover.css +3 -0
  154. package/dist/collection/components/pds-popover/pds-popover.js +226 -17
  155. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  156. package/dist/collection/components/pds-popover/popover-interface.js +2 -0
  157. package/dist/collection/components/pds-popover/popover-interface.js.map +1 -0
  158. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +1 -1
  159. package/dist/collection/components/pds-radio/pds-radio.js +10 -4
  160. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  161. package/dist/collection/components/pds-select/pds-select.css +1 -1
  162. package/dist/collection/components/pds-select/pds-select.js +19 -2
  163. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  164. package/dist/collection/components/pds-switch/pds-switch.js +7 -4
  165. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  166. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -1
  167. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +1 -1
  168. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +1 -1
  169. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -1
  170. package/dist/collection/components/pds-table/pds-table.css +1 -1
  171. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +1 -2
  172. package/dist/collection/components/pds-tabs/pds-tabs.js +14 -4
  173. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  174. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +1 -1
  175. package/dist/collection/components/pds-textarea/pds-textarea.css +1 -1
  176. package/dist/collection/components/pds-textarea/pds-textarea.js +8 -5
  177. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  178. package/dist/collection/components/pds-tooltip/pds-tooltip.css +1 -1
  179. package/dist/collection/components/pds-tooltip/pds-tooltip.js +3 -3
  180. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  181. package/dist/collection/utils/form.js +15 -0
  182. package/dist/collection/utils/form.js.map +1 -1
  183. package/dist/collection/utils/types.js.map +1 -1
  184. package/dist/docs.json +341 -17
  185. package/dist/esm/form-DwjNklzi.js +47 -0
  186. package/dist/esm/form-DwjNklzi.js.map +1 -0
  187. package/dist/esm/{index-D4MkIUXU.js → index-D4zJBIgl.js} +3 -3
  188. package/dist/esm/index-D4zJBIgl.js.map +1 -0
  189. package/dist/esm/loader.js +1 -1
  190. package/dist/esm/mock-pds-modal.entry.js +1 -1
  191. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  192. package/dist/esm/pds-accordion.entry.js +1 -1
  193. package/dist/esm/pds-avatar.entry.js +1 -1
  194. package/dist/esm/pds-button.entry.js +2 -2
  195. package/dist/esm/pds-button.entry.js.map +1 -1
  196. package/dist/esm/pds-checkbox.entry.js +8 -5
  197. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  198. package/dist/esm/pds-chip.entry.js +3 -3
  199. package/dist/esm/pds-chip.entry.js.map +1 -1
  200. package/dist/esm/pds-combobox.entry.js +398 -40
  201. package/dist/esm/pds-combobox.entry.js.map +1 -1
  202. package/dist/esm/pds-copytext.entry.js +4 -4
  203. package/dist/esm/pds-copytext.entry.js.map +1 -1
  204. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  205. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  206. package/dist/esm/pds-filter.entry.js +4 -4
  207. package/dist/esm/pds-filter.entry.js.map +1 -1
  208. package/dist/esm/pds-input.entry.js +3 -3
  209. package/dist/esm/pds-input.entry.js.map +1 -1
  210. package/dist/esm/pds-link.entry.js +1 -1
  211. package/dist/esm/pds-modal.entry.js +1 -1
  212. package/dist/esm/pds-modal.entry.js.map +1 -1
  213. package/dist/esm/pds-popover.entry.js +118 -13
  214. package/dist/esm/pds-popover.entry.js.map +1 -1
  215. package/dist/esm/pds-radio.entry.js +12 -6
  216. package/dist/esm/pds-radio.entry.js.map +1 -1
  217. package/dist/esm/pds-select.entry.js +20 -5
  218. package/dist/esm/pds-select.entry.js.map +1 -1
  219. package/dist/esm/pds-sortable-item.entry.js +1 -1
  220. package/dist/esm/pds-switch.entry.js +8 -5
  221. package/dist/esm/pds-switch.entry.js.map +1 -1
  222. package/dist/esm/pds-tab.entry.js +1 -1
  223. package/dist/esm/pds-tab.entry.js.map +1 -1
  224. package/dist/esm/pds-table-cell.entry.js +1 -1
  225. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  226. package/dist/esm/pds-table-head-cell.entry.js +2 -2
  227. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  228. package/dist/esm/pds-table-head.entry.js +1 -1
  229. package/dist/esm/pds-table-head.entry.js.map +1 -1
  230. package/dist/esm/pds-table-row.entry.js +1 -1
  231. package/dist/esm/pds-table-row.entry.js.map +1 -1
  232. package/dist/esm/pds-table.entry.js +1 -1
  233. package/dist/esm/pds-table.entry.js.map +1 -1
  234. package/dist/esm/pds-tabs.entry.js +14 -4
  235. package/dist/esm/pds-tabs.entry.js.map +1 -1
  236. package/dist/esm/pds-textarea.entry.js +10 -7
  237. package/dist/esm/pds-textarea.entry.js.map +1 -1
  238. package/dist/esm/pds-tooltip.entry.js +4 -4
  239. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  240. package/dist/esm/pine-core.js +1 -1
  241. package/dist/esm-es5/form-DwjNklzi.js +2 -0
  242. package/dist/esm-es5/form-DwjNklzi.js.map +1 -0
  243. package/dist/esm-es5/{index-D4MkIUXU.js → index-D4zJBIgl.js} +1 -1
  244. package/dist/esm-es5/index-D4zJBIgl.js.map +1 -0
  245. package/dist/esm-es5/loader.js +1 -1
  246. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  247. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  248. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  249. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  250. package/dist/esm-es5/pds-button.entry.js +1 -1
  251. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  252. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  253. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  254. package/dist/esm-es5/pds-chip.entry.js +1 -1
  255. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  256. package/dist/esm-es5/pds-combobox.entry.js +1 -1
  257. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  258. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  259. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  260. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  261. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  262. package/dist/esm-es5/pds-filter.entry.js +1 -1
  263. package/dist/esm-es5/pds-filter.entry.js.map +1 -1
  264. package/dist/esm-es5/pds-input.entry.js +1 -1
  265. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  266. package/dist/esm-es5/pds-link.entry.js +1 -1
  267. package/dist/esm-es5/pds-modal.entry.js +1 -1
  268. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  269. package/dist/esm-es5/pds-popover.entry.js +1 -1
  270. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  271. package/dist/esm-es5/pds-radio.entry.js +1 -1
  272. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  273. package/dist/esm-es5/pds-select.entry.js +1 -1
  274. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  275. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  276. package/dist/esm-es5/pds-switch.entry.js +1 -1
  277. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  278. package/dist/esm-es5/pds-tab.entry.js +1 -1
  279. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  280. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  281. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  282. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  283. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  284. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  285. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  286. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  287. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  288. package/dist/esm-es5/pds-table.entry.js +1 -1
  289. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  290. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  291. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  292. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  293. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  294. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  295. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  296. package/dist/esm-es5/pine-core.js +1 -1
  297. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  298. package/dist/pine-core/p-00346c62.system.entry.js +2 -0
  299. package/dist/pine-core/p-00346c62.system.entry.js.map +1 -0
  300. package/dist/pine-core/{p-8ded79aa.system.entry.js → p-0486ecc6.system.entry.js} +2 -2
  301. package/dist/pine-core/{p-8ded79aa.system.entry.js.map → p-0486ecc6.system.entry.js.map} +1 -1
  302. package/dist/pine-core/{p-af56cb57.entry.js → p-100de2b7.entry.js} +2 -2
  303. package/dist/pine-core/p-1b932ee3.entry.js +2 -0
  304. package/dist/pine-core/p-1b932ee3.entry.js.map +1 -0
  305. package/dist/pine-core/p-20466115.entry.js +2 -0
  306. package/dist/pine-core/p-20466115.entry.js.map +1 -0
  307. package/dist/pine-core/{p-72d87dc6.system.entry.js → p-2054b5cb.system.entry.js} +2 -2
  308. package/dist/pine-core/{p-c0601420.system.entry.js → p-2aab28b1.system.entry.js} +2 -2
  309. package/dist/pine-core/p-3dce3bc0.system.entry.js +2 -0
  310. package/dist/pine-core/p-3dce3bc0.system.entry.js.map +1 -0
  311. package/dist/pine-core/p-45d574f1.system.entry.js +2 -0
  312. package/dist/pine-core/p-45d574f1.system.entry.js.map +1 -0
  313. package/dist/pine-core/p-465e3418.system.entry.js +2 -0
  314. package/dist/pine-core/p-465e3418.system.entry.js.map +1 -0
  315. package/dist/pine-core/p-4xv5UVkx.system.js.map +1 -0
  316. package/dist/pine-core/p-538b3902.system.entry.js +2 -0
  317. package/dist/pine-core/p-538b3902.system.entry.js.map +1 -0
  318. package/dist/pine-core/p-61a25ab2.entry.js +2 -0
  319. package/dist/pine-core/p-61a25ab2.entry.js.map +1 -0
  320. package/dist/pine-core/p-6381a811.system.entry.js +4 -0
  321. package/dist/pine-core/p-6381a811.system.entry.js.map +1 -0
  322. package/dist/pine-core/p-6c36cab6.entry.js +2 -0
  323. package/dist/pine-core/p-6c36cab6.entry.js.map +1 -0
  324. package/dist/pine-core/p-6ed297cb.entry.js +2 -0
  325. package/dist/pine-core/p-6ed297cb.entry.js.map +1 -0
  326. package/dist/pine-core/p-708e963c.system.entry.js +2 -0
  327. package/dist/pine-core/p-708e963c.system.entry.js.map +1 -0
  328. package/dist/pine-core/{p-896e2f1b.entry.js → p-725c350c.entry.js} +2 -2
  329. package/dist/pine-core/{p-896e2f1b.entry.js.map → p-725c350c.entry.js.map} +1 -1
  330. package/dist/pine-core/p-75187352.system.entry.js +2 -0
  331. package/dist/pine-core/p-75187352.system.entry.js.map +1 -0
  332. package/dist/pine-core/p-79422986.entry.js +2 -0
  333. package/dist/pine-core/p-79422986.entry.js.map +1 -0
  334. package/dist/pine-core/p-81bc089e.entry.js +2 -0
  335. package/dist/pine-core/p-81bc089e.entry.js.map +1 -0
  336. package/dist/pine-core/p-85c41629.entry.js +2 -0
  337. package/dist/pine-core/p-85c41629.entry.js.map +1 -0
  338. package/dist/pine-core/p-86263a62.entry.js +2 -0
  339. package/dist/pine-core/p-86263a62.entry.js.map +1 -0
  340. package/dist/pine-core/p-87ed43d5.entry.js +2 -0
  341. package/dist/pine-core/p-87ed43d5.entry.js.map +1 -0
  342. package/dist/pine-core/{p-a54d6a53.entry.js → p-88773b86.entry.js} +2 -2
  343. package/dist/pine-core/p-8b5fc4b4.system.entry.js +2 -0
  344. package/dist/pine-core/p-8b5fc4b4.system.entry.js.map +1 -0
  345. package/dist/pine-core/p-94183716.entry.js +2 -0
  346. package/dist/pine-core/p-94183716.entry.js.map +1 -0
  347. package/dist/pine-core/p-9766923f.entry.js +2 -0
  348. package/dist/pine-core/p-9766923f.entry.js.map +1 -0
  349. package/dist/pine-core/p-9b335a9f.entry.js +2 -0
  350. package/dist/pine-core/p-9b335a9f.entry.js.map +1 -0
  351. package/dist/pine-core/p-9c579956.system.entry.js +2 -0
  352. package/dist/pine-core/p-9c579956.system.entry.js.map +1 -0
  353. package/dist/pine-core/p-9cf2b7a6.entry.js +2 -0
  354. package/dist/pine-core/p-9cf2b7a6.entry.js.map +1 -0
  355. package/dist/pine-core/{p-COwpA8ab.system.js.map → p-B-Doh1Wu.system.js.map} +1 -1
  356. package/dist/pine-core/{p-BSkbMuB5.system.js → p-BG99uNIQ.system.js} +1 -1
  357. package/dist/pine-core/p-BG99uNIQ.system.js.map +1 -0
  358. package/dist/pine-core/p-BHavepTY.system.js +2 -0
  359. package/dist/pine-core/p-BHavepTY.system.js.map +1 -0
  360. package/dist/pine-core/p-BLC5kuro.system.js.map +1 -0
  361. package/dist/pine-core/p-BPjnTOEL.system.js +1 -1
  362. package/dist/pine-core/{p-X5M4eshC.system.js.map → p-BRIdBthP.system.js.map} +1 -1
  363. package/dist/pine-core/p-BVDuy7iI.system.js.map +1 -0
  364. package/dist/pine-core/{p-B57Bybw-.system.js.map → p-BkPtASB1.system.js.map} +1 -1
  365. package/dist/pine-core/p-Bkfqi7zE.system.js.map +1 -0
  366. package/dist/pine-core/p-C1KChp5Q.system.js.map +1 -0
  367. package/dist/pine-core/p-C2W-sHx5.system.js.map +1 -0
  368. package/dist/pine-core/p-CIBXMJd-.system.js.map +1 -0
  369. package/dist/pine-core/p-CJNB_wrl.system.js.map +1 -0
  370. package/dist/pine-core/p-CSa_b_JX.system.js.map +1 -0
  371. package/dist/pine-core/p-Cid662up.system.js.map +1 -0
  372. package/dist/pine-core/p-Cqzmj3D8.system.js.map +1 -0
  373. package/dist/pine-core/p-Cxlv_2hD.system.js.map +1 -0
  374. package/dist/pine-core/p-D0foS5EP.system.js.map +1 -0
  375. package/dist/pine-core/{p-D4MkIUXU.js → p-D4zJBIgl.js} +1 -1
  376. package/dist/pine-core/p-D4zJBIgl.js.map +1 -0
  377. package/dist/pine-core/p-DCjZr2HA.system.js.map +1 -0
  378. package/dist/pine-core/p-DN3VK2yy.system.js.map +1 -0
  379. package/dist/pine-core/{p-DgE9ds9o.system.js.map → p-DOqVoXeA.system.js.map} +1 -1
  380. package/dist/pine-core/p-DW3lkDNz.system.js.map +1 -0
  381. package/dist/pine-core/p-DfrSuf6X.system.js.map +1 -0
  382. package/dist/pine-core/p-DpemOPFJ.system.js.map +1 -0
  383. package/dist/pine-core/p-DpzRSULT.system.js.map +1 -0
  384. package/dist/pine-core/p-DtdXdmNp.system.js.map +1 -0
  385. package/dist/pine-core/p-DwjNklzi.js +2 -0
  386. package/dist/pine-core/p-DwjNklzi.js.map +1 -0
  387. package/dist/pine-core/p-GrmqKqN8.system.js.map +1 -0
  388. package/dist/pine-core/p-HHZU8rBT.system.js.map +1 -0
  389. package/dist/pine-core/p-a2708028.entry.js +2 -0
  390. package/dist/pine-core/p-a2708028.entry.js.map +1 -0
  391. package/dist/pine-core/{p-46820152.entry.js → p-a3785977.entry.js} +2 -2
  392. package/dist/pine-core/p-a707a7da.system.entry.js +2 -0
  393. package/dist/pine-core/p-a707a7da.system.entry.js.map +1 -0
  394. package/dist/pine-core/p-acd87a10.entry.js +2 -0
  395. package/dist/pine-core/p-acd87a10.entry.js.map +1 -0
  396. package/dist/pine-core/p-ae4ec5cf.system.entry.js +2 -0
  397. package/dist/pine-core/p-ae4ec5cf.system.entry.js.map +1 -0
  398. package/dist/pine-core/p-b23dd01c.entry.js +2 -0
  399. package/dist/pine-core/p-b23dd01c.entry.js.map +1 -0
  400. package/dist/pine-core/p-b9aafec7.system.entry.js +2 -0
  401. package/dist/pine-core/p-b9aafec7.system.entry.js.map +1 -0
  402. package/dist/pine-core/p-bac9fcfa.entry.js +2 -0
  403. package/dist/pine-core/p-bac9fcfa.entry.js.map +1 -0
  404. package/dist/pine-core/p-c3579585.system.entry.js +2 -0
  405. package/dist/pine-core/p-c3579585.system.entry.js.map +1 -0
  406. package/dist/pine-core/p-cffc98ae.entry.js +3 -0
  407. package/dist/pine-core/p-cffc98ae.entry.js.map +1 -0
  408. package/dist/pine-core/{p-559b4ebc.entry.js → p-d1b27fa4.entry.js} +2 -2
  409. package/dist/pine-core/p-d2b15290.system.entry.js +2 -0
  410. package/dist/pine-core/p-d2b15290.system.entry.js.map +1 -0
  411. package/dist/pine-core/p-d4d22aee.entry.js +2 -0
  412. package/dist/pine-core/p-d4d22aee.entry.js.map +1 -0
  413. package/dist/pine-core/p-d69f0f51.system.entry.js +2 -0
  414. package/dist/pine-core/p-d69f0f51.system.entry.js.map +1 -0
  415. package/dist/pine-core/{p-c63e7909.system.entry.js → p-dace69e7.system.entry.js} +2 -2
  416. package/dist/pine-core/p-e34c1224.system.entry.js +2 -0
  417. package/dist/pine-core/p-e34c1224.system.entry.js.map +1 -0
  418. package/dist/pine-core/p-e5adbf74.system.entry.js +2 -0
  419. package/dist/pine-core/p-e5adbf74.system.entry.js.map +1 -0
  420. package/dist/pine-core/p-e6085566.system.entry.js +2 -0
  421. package/dist/pine-core/p-e6085566.system.entry.js.map +1 -0
  422. package/dist/pine-core/p-e683e197.system.entry.js +2 -0
  423. package/dist/pine-core/p-e683e197.system.entry.js.map +1 -0
  424. package/dist/pine-core/p-e6b051e8.system.entry.js +2 -0
  425. package/dist/pine-core/p-e6b051e8.system.entry.js.map +1 -0
  426. package/dist/pine-core/{p-ab4307c7.system.entry.js → p-e702a8dc.system.entry.js} +2 -2
  427. package/dist/pine-core/p-f15cd180.entry.js +2 -0
  428. package/dist/pine-core/p-f15cd180.entry.js.map +1 -0
  429. package/dist/pine-core/p-f6d0bd39.entry.js +2 -0
  430. package/dist/pine-core/p-f6d0bd39.entry.js.map +1 -0
  431. package/dist/pine-core/p-f92d7570.system.entry.js +2 -0
  432. package/dist/pine-core/p-f92d7570.system.entry.js.map +1 -0
  433. package/dist/pine-core/{p-d325287b.entry.js.map → p-ozqEY4Zc.system.js.map} +1 -1
  434. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  435. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  436. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  437. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  438. package/dist/pine-core/pds-copytext.entry.esm.js.map +1 -1
  439. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  440. package/dist/pine-core/pds-filter.entry.esm.js.map +1 -1
  441. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  442. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  443. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  444. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  445. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  446. package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
  447. package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
  448. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  449. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
  450. package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
  451. package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
  452. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  453. package/dist/pine-core/pds-tabs.entry.esm.js.map +1 -1
  454. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  455. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  456. package/dist/pine-core/pine-core.css +1 -1
  457. package/dist/pine-core/pine-core.esm.js +1 -1
  458. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +1 -0
  459. package/dist/types/components/pds-chip/pds-chip.d.ts +3 -2
  460. package/dist/types/components/pds-combobox/pds-combobox.d.ts +56 -2
  461. package/dist/types/components/pds-popover/pds-popover.d.ts +33 -2
  462. package/dist/types/components/pds-popover/popover-interface.d.ts +8 -0
  463. package/dist/types/components/pds-radio/pds-radio.d.ts +3 -0
  464. package/dist/types/components/pds-select/pds-select.d.ts +6 -0
  465. package/dist/types/components/pds-switch/pds-switch.d.ts +1 -0
  466. package/dist/types/components/pds-textarea/pds-textarea.d.ts +1 -0
  467. package/dist/types/components.d.ts +94 -10
  468. package/dist/types/utils/form.d.ts +9 -0
  469. package/dist/types/utils/types.d.ts +2 -0
  470. package/hydrate/index.js +629 -101
  471. package/hydrate/index.mjs +629 -101
  472. package/package.json +2 -2
  473. package/dist/cjs/form-Bx4nzJBo.js.map +0 -1
  474. package/dist/cjs/index-CTirFLR-.js.map +0 -1
  475. package/dist/esm/form-DTL_39D_.js +0 -32
  476. package/dist/esm/form-DTL_39D_.js.map +0 -1
  477. package/dist/esm/index-D4MkIUXU.js.map +0 -1
  478. package/dist/esm-es5/form-DTL_39D_.js +0 -2
  479. package/dist/esm-es5/form-DTL_39D_.js.map +0 -1
  480. package/dist/esm-es5/index-D4MkIUXU.js.map +0 -1
  481. package/dist/pine-core/p-0075bbbe.system.entry.js +0 -2
  482. package/dist/pine-core/p-0075bbbe.system.entry.js.map +0 -1
  483. package/dist/pine-core/p-0975b749.system.entry.js +0 -2
  484. package/dist/pine-core/p-0975b749.system.entry.js.map +0 -1
  485. package/dist/pine-core/p-0befa8f0.entry.js +0 -2
  486. package/dist/pine-core/p-0befa8f0.entry.js.map +0 -1
  487. package/dist/pine-core/p-0d18171c.system.entry.js +0 -2
  488. package/dist/pine-core/p-0d18171c.system.entry.js.map +0 -1
  489. package/dist/pine-core/p-1773aeac.system.entry.js +0 -2
  490. package/dist/pine-core/p-1773aeac.system.entry.js.map +0 -1
  491. package/dist/pine-core/p-265372d3.entry.js +0 -2
  492. package/dist/pine-core/p-265372d3.entry.js.map +0 -1
  493. package/dist/pine-core/p-29b2af94.entry.js +0 -2
  494. package/dist/pine-core/p-29b2af94.entry.js.map +0 -1
  495. package/dist/pine-core/p-2b452883.system.entry.js +0 -2
  496. package/dist/pine-core/p-2b452883.system.entry.js.map +0 -1
  497. package/dist/pine-core/p-30e8c3ea.entry.js +0 -2
  498. package/dist/pine-core/p-30e8c3ea.entry.js.map +0 -1
  499. package/dist/pine-core/p-31f6fcc1.entry.js +0 -2
  500. package/dist/pine-core/p-31f6fcc1.entry.js.map +0 -1
  501. package/dist/pine-core/p-3b20aa93.system.entry.js +0 -2
  502. package/dist/pine-core/p-3b20aa93.system.entry.js.map +0 -1
  503. package/dist/pine-core/p-3e7933bf.entry.js +0 -2
  504. package/dist/pine-core/p-3e7933bf.entry.js.map +0 -1
  505. package/dist/pine-core/p-4534e8cc.system.entry.js +0 -2
  506. package/dist/pine-core/p-4534e8cc.system.entry.js.map +0 -1
  507. package/dist/pine-core/p-4b3a8cab.entry.js +0 -2
  508. package/dist/pine-core/p-4b3a8cab.entry.js.map +0 -1
  509. package/dist/pine-core/p-4c8bebd8.system.entry.js +0 -2
  510. package/dist/pine-core/p-4c8bebd8.system.entry.js.map +0 -1
  511. package/dist/pine-core/p-4dda1edf.entry.js +0 -2
  512. package/dist/pine-core/p-4dda1edf.entry.js.map +0 -1
  513. package/dist/pine-core/p-4e55730d.entry.js +0 -2
  514. package/dist/pine-core/p-4e55730d.entry.js.map +0 -1
  515. package/dist/pine-core/p-56f6f106.entry.js +0 -2
  516. package/dist/pine-core/p-56f6f106.entry.js.map +0 -1
  517. package/dist/pine-core/p-5cc0244d.system.entry.js +0 -2
  518. package/dist/pine-core/p-5cc0244d.system.entry.js.map +0 -1
  519. package/dist/pine-core/p-74f03e75.entry.js +0 -2
  520. package/dist/pine-core/p-74f03e75.entry.js.map +0 -1
  521. package/dist/pine-core/p-7b0517e5.system.entry.js +0 -2
  522. package/dist/pine-core/p-7b0517e5.system.entry.js.map +0 -1
  523. package/dist/pine-core/p-7b66bc50.entry.js +0 -3
  524. package/dist/pine-core/p-7b66bc50.entry.js.map +0 -1
  525. package/dist/pine-core/p-7eb22880.entry.js +0 -2
  526. package/dist/pine-core/p-7eb22880.entry.js.map +0 -1
  527. package/dist/pine-core/p-8501429f.entry.js +0 -2
  528. package/dist/pine-core/p-8501429f.entry.js.map +0 -1
  529. package/dist/pine-core/p-94fe15b0.system.entry.js +0 -2
  530. package/dist/pine-core/p-94fe15b0.system.entry.js.map +0 -1
  531. package/dist/pine-core/p-95aee0b1.entry.js +0 -2
  532. package/dist/pine-core/p-95aee0b1.entry.js.map +0 -1
  533. package/dist/pine-core/p-B02VgXkx.system.js.map +0 -1
  534. package/dist/pine-core/p-BFiM1S8V.system.js.map +0 -1
  535. package/dist/pine-core/p-BG7_qxVr.system.js +0 -2
  536. package/dist/pine-core/p-BG7_qxVr.system.js.map +0 -1
  537. package/dist/pine-core/p-BJhtHwq5.system.js.map +0 -1
  538. package/dist/pine-core/p-BQFgzIQT.system.js.map +0 -1
  539. package/dist/pine-core/p-BSkbMuB5.system.js.map +0 -1
  540. package/dist/pine-core/p-BigOVPun.system.js.map +0 -1
  541. package/dist/pine-core/p-BmFGXXkm.system.js.map +0 -1
  542. package/dist/pine-core/p-CHVzHNgU.system.js.map +0 -1
  543. package/dist/pine-core/p-CV0Lw9gs.system.js.map +0 -1
  544. package/dist/pine-core/p-CZqgW7e3.system.js.map +0 -1
  545. package/dist/pine-core/p-Cc1q-FuD.system.js.map +0 -1
  546. package/dist/pine-core/p-D3SrjYeb.system.js.map +0 -1
  547. package/dist/pine-core/p-D4MkIUXU.js.map +0 -1
  548. package/dist/pine-core/p-D9veIL-g.system.js.map +0 -1
  549. package/dist/pine-core/p-DGFR-x7P.system.js.map +0 -1
  550. package/dist/pine-core/p-DTL_39D_.js +0 -2
  551. package/dist/pine-core/p-DTL_39D_.js.map +0 -1
  552. package/dist/pine-core/p-DeR0sSWy.system.js.map +0 -1
  553. package/dist/pine-core/p-Df597YUK.system.js.map +0 -1
  554. package/dist/pine-core/p-Ek6vvXfI.system.js.map +0 -1
  555. package/dist/pine-core/p-WO5h6NYA.system.js.map +0 -1
  556. package/dist/pine-core/p-Z5rOSkoA.system.js.map +0 -1
  557. package/dist/pine-core/p-a5cf0088.system.entry.js +0 -2
  558. package/dist/pine-core/p-a5cf0088.system.entry.js.map +0 -1
  559. package/dist/pine-core/p-aa2782b9.system.entry.js +0 -2
  560. package/dist/pine-core/p-aa2782b9.system.entry.js.map +0 -1
  561. package/dist/pine-core/p-b32d34d0.entry.js +0 -2
  562. package/dist/pine-core/p-b32d34d0.entry.js.map +0 -1
  563. package/dist/pine-core/p-b378ca03.entry.js +0 -2
  564. package/dist/pine-core/p-b378ca03.entry.js.map +0 -1
  565. package/dist/pine-core/p-b699a14f.system.entry.js +0 -2
  566. package/dist/pine-core/p-b699a14f.system.entry.js.map +0 -1
  567. package/dist/pine-core/p-c2d2fe64.system.entry.js +0 -2
  568. package/dist/pine-core/p-c2d2fe64.system.entry.js.map +0 -1
  569. package/dist/pine-core/p-d325287b.entry.js +0 -2
  570. package/dist/pine-core/p-d52d96b5.system.entry.js +0 -4
  571. package/dist/pine-core/p-d52d96b5.system.entry.js.map +0 -1
  572. package/dist/pine-core/p-d5c63517.system.entry.js +0 -2
  573. package/dist/pine-core/p-d5c63517.system.entry.js.map +0 -1
  574. package/dist/pine-core/p-d65d252d.entry.js +0 -2
  575. package/dist/pine-core/p-d65d252d.entry.js.map +0 -1
  576. package/dist/pine-core/p-dbe41087.system.entry.js +0 -2
  577. package/dist/pine-core/p-dbe41087.system.entry.js.map +0 -1
  578. package/dist/pine-core/p-e03b7f4a.system.entry.js +0 -2
  579. package/dist/pine-core/p-e03b7f4a.system.entry.js.map +0 -1
  580. package/dist/pine-core/p-f6b269ac.entry.js +0 -2
  581. package/dist/pine-core/p-f6b269ac.entry.js.map +0 -1
  582. package/dist/pine-core/p-f70aef6e.system.entry.js +0 -2
  583. package/dist/pine-core/p-f70aef6e.system.entry.js.map +0 -1
  584. package/dist/pine-core/p-fd3d548f.entry.js +0 -2
  585. package/dist/pine-core/p-fd3d548f.entry.js.map +0 -1
  586. package/dist/pine-core/p-fddf82f8.entry.js +0 -2
  587. package/dist/pine-core/p-fddf82f8.entry.js.map +0 -1
  588. package/dist/pine-core/p-fdf22be1.system.entry.js +0 -2
  589. package/dist/pine-core/p-fdf22be1.system.entry.js.map +0 -1
  590. package/dist/pine-core/p-fe7ece91.system.entry.js +0 -2
  591. package/dist/pine-core/p-fe7ece91.system.entry.js.map +0 -1
  592. package/dist/pine-core/p-iM8w34Dq.system.js.map +0 -1
  593. package/dist/pine-core/p-kbAzjMDU.system.js.map +0 -1
  594. package/dist/pine-core/p-nawkAoxk.system.js.map +0 -1
  595. package/dist/pine-core/p-oDk-2Jyq.system.js.map +0 -1
  596. package/dist/pine-core/p-wlxYjeBe.system.js.map +0 -1
  597. /package/dist/pine-core/{p-af56cb57.entry.js.map → p-100de2b7.entry.js.map} +0 -0
  598. /package/dist/pine-core/{p-72d87dc6.system.entry.js.map → p-2054b5cb.system.entry.js.map} +0 -0
  599. /package/dist/pine-core/{p-c0601420.system.entry.js.map → p-2aab28b1.system.entry.js.map} +0 -0
  600. /package/dist/pine-core/{p-a54d6a53.entry.js.map → p-88773b86.entry.js.map} +0 -0
  601. /package/dist/pine-core/{p-46820152.entry.js.map → p-a3785977.entry.js.map} +0 -0
  602. /package/dist/pine-core/{p-559b4ebc.entry.js.map → p-d1b27fa4.entry.js.map} +0 -0
  603. /package/dist/pine-core/{p-c63e7909.system.entry.js.map → p-dace69e7.system.entry.js.map} +0 -0
  604. /package/dist/pine-core/{p-ab4307c7.system.entry.js.map → p-e702a8dc.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pds-filter.js","sourceRoot":"","sources":["../../../../src/components/pds-filters/pds-filter/pds-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI9G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAOH,MAAM,OAAO,SAAS;IALtB;QASU,cAAS,GAAkB,IAAI,CAAC;QAChC,mBAAc,GAAG,CAAC,CAAC;QAO3B;;;WAGG;QACK,YAAO,GAAqB,SAAS,CAAC;QAc9C;;WAEG;QACM,WAAM,GAAG,KAAK,CAAC;QAmExB;;;WAGG;QACK,8BAAyB,GAAG,CAAC,KAAY,EAAE,EAAE;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAE3C,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC;gBAC1D,8BAA8B;gBAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qDAAqD;oBACrD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;gBACrD,CAAC;gBAED,eAAe;gBACf,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;gBAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;oBAElD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAsTF;;WAEG;QACK,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,4EAA4E;YAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC7E,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF;;WAEG;QACK,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,2DAA2D;gBAC3D,8DAA8D;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;gBAED,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;4BACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;4BAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gCACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gCACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC;YACD,kFAAkF;YAClF,0EAA0E;QAC5E,CAAC,CAAC;KAqGH;IA7iBC;;;OAGG;IACH,oBAAoB;QAClB,kCAAkC;QAClC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,0CAA0C;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAGD,kBAAkB;QAChB,2DAA2D;QAC3D,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,oDAAoD;gBACpD,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC7E,gDAAgD;gBAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAwCD;;OAEG;IAEH,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,yBAAyB,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;YACjF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAE9B,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAE1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE;gBAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;oBACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE3D,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC5B,IAAI,MAAM,KAAK,IAAI,CAAC,EAAE;gBAAE,OAAO;YAE/B,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,aAAa,CAAC,sBAAsB,CAAgB,CAAC;YAExF,IAAI,OAAO,EAAE,CAAC;gBACZ,iDAAiD;gBACjD,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qDAAqD;oBACrD,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;gBACpD,CAAC;gBAED,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;wBAC/B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,qBAAqB;;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QAExD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,sBAAsB,CAAgB,CAAC;QAC3F,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAE1C,MAAM,yBAAyB,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;QAEjF,wCAAwC;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;QAE3E,kCAAkC;QAClC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,aAAa,CAAC;QAC3F,MAAM,mBAAmB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,WAAW,CAAC,GAAG,cAAc,CAAC;QAEpG,IAAI,yBAAyB,EAAE,CAAC;YAC9B,2EAA2E;YAC3E,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;YAEpF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACxD,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC5B,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,eAAe,GAAG,UAAU,CAAC;YAEjC,sCAAsC;YACtC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC;gBACxF,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,kBAAkB,CAAC;gBAC9C,eAAe,GAAG,WAAW,CAAC;YAChC,CAAC;YAED,oCAAoC;YACpC,IAAI,mBAAmB,EAAE,CAAC;gBACxB,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,aAAa,GAAG,CAAC,CAAC;gBAC1C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAED,wDAAwD;YACxD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;;gBAErB,IAAI;eACL,GAAG;;4BAEU,eAAe;OACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,mBAAmB,CAAC,KAAY;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzG,iFAAiF;QACjF,IAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC;YACjF,iDAAiD;YACjD,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;YACrD,CAAC;YAED,eAAe;YACf,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;gBAElD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;oBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,mBAAmB,CAAC,KAAY;QAC9B,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACvF,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClC,iDAAiD;oBACjD,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEzG,IAAI,eAAe,GAAG,KAAK,CAAC;oBAC5B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,qDAAqD;4BACrD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;wBAC7D,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,+DAA+D;wBAC/D,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACvB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,eAAe,CAAC,KAAoB;QAClC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACtE,wCAAwC;YACxC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClC,iDAAiD;oBACjD,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEzG,IAAI,eAAe,GAAG,KAAK,CAAC;oBAC5B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,qDAAqD;4BACrD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;wBAC7D,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,wDAAwD;wBACxD,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACvB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAiED;;OAEG;IACK,OAAO;QACb,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAE7D,OAAO,CACL,gBACE,IAAI,EAAE,YAAY,EAClB,IAAI,EAAC,2BAA2B,iBACpB,MAAM,EAClB,IAAI,EAAC,MAAM,GACX,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CACL,gBACE,IAAI,EAAE,OAAO,EACb,IAAI,EAAC,2BAA2B,iBACpB,MAAM,EAClB,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,MAAM,GACX,CACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,EAAE,EAAE,IAAI,CAAC,WAAW;YACxB,+DACE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAC/B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS,EACnF,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACpE,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACpE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC7C,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS;gBAEnF,6DAAM,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,gBAAgB;oBAC3D,IAAI,CAAC,UAAU,EAAE;oBACjB,IAAI,CAAC,IAAI,IAAI,CACZ,6DAAM,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,aAAa,IACrD,IAAI,CAAC,IAAI,CACL,CACR;oBACA,IAAI,CAAC,kBAAkB,EAAE,CACrB,CACA;YAER,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAC3B,4DACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,EAC9B,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,UAAU,EACjC,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,SAAS;gBAEd,8DAAQ,CACJ,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\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\n const bufferSpace = 20;\n const wouldOverflowRight = (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 (wouldOverflowRight) {\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 = triggerRect.left;\n let top = triggerRect.bottom + 8;\n let transformOrigin = 'top left';\n\n // Apply horizontal flipping if needed\n if (wouldOverflowRight) {\n const actualPopoverWidth = this.popoverEl.getBoundingClientRect().width || popoverWidth;\n left = triggerRect.right - actualPopoverWidth;\n transformOrigin = '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: 1000;\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"]}
1
+ {"version":3,"file":"pds-filter.js","sourceRoot":"","sources":["../../../../src/components/pds-filters/pds-filter/pds-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI9G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAOH,MAAM,OAAO,SAAS;IALtB;QASU,cAAS,GAAkB,IAAI,CAAC;QAChC,mBAAc,GAAG,CAAC,CAAC;QAO3B;;;WAGG;QACK,YAAO,GAAqB,SAAS,CAAC;QAc9C;;WAEG;QACM,WAAM,GAAG,KAAK,CAAC;QAmExB;;;WAGG;QACK,8BAAyB,GAAG,CAAC,KAAY,EAAE,EAAE;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAE3C,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC;gBAC1D,8BAA8B;gBAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qDAAqD;oBACrD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;gBACrD,CAAC;gBAED,eAAe;gBACf,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;gBAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;oBAElD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAsTF;;WAEG;QACK,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,4EAA4E;YAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC7E,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF;;WAEG;QACK,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,2DAA2D;gBAC3D,8DAA8D;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;gBAED,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;4BACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;4BAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gCACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gCACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC;YACD,kFAAkF;YAClF,0EAA0E;QAC5E,CAAC,CAAC;KAqGH;IA7iBC;;;OAGG;IACH,oBAAoB;QAClB,kCAAkC;QAClC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAExB,0CAA0C;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAGD,kBAAkB;QAChB,2DAA2D;QAC3D,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,oDAAoD;gBACpD,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC7E,gDAAgD;gBAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAwCD;;OAEG;IAEH,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,yBAAyB,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;YACjF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAE9B,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAE1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE;gBAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;oBACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE3D,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC5B,IAAI,MAAM,KAAK,IAAI,CAAC,EAAE;gBAAE,OAAO;YAE/B,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,aAAa,CAAC,sBAAsB,CAAgB,CAAC;YAExF,IAAI,OAAO,EAAE,CAAC;gBACZ,iDAAiD;gBACjD,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,qDAAqD;oBACrD,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;gBACpD,CAAC;gBAED,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;wBAC/B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,qBAAqB;;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QAExD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,sBAAsB,CAAgB,CAAC;QAC3F,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAE1C,MAAM,yBAAyB,GAAG,YAAY,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;QAEjF,wCAAwC;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;QAE3E,kCAAkC;QAClC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,aAAa,CAAC;QAC3F,MAAM,mBAAmB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,WAAW,CAAC,GAAG,cAAc,CAAC;QAEpG,IAAI,yBAAyB,EAAE,CAAC;YAC9B,2EAA2E;YAC3E,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;YAEpF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACxD,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC5B,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,eAAe,GAAG,UAAU,CAAC;YAEjC,sCAAsC;YACtC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC;gBACxF,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,kBAAkB,CAAC;gBAC9C,eAAe,GAAG,WAAW,CAAC;YAChC,CAAC;YAED,oCAAoC;YACpC,IAAI,mBAAmB,EAAE,CAAC;gBACxB,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,aAAa,GAAG,CAAC,CAAC;gBAC1C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAED,wDAAwD;YACxD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;;gBAErB,IAAI;eACL,GAAG;;4BAEU,eAAe;OACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,mBAAmB,CAAC,KAAY;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzG,iFAAiF;QACjF,IAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC;YACjF,iDAAiD;YACjD,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;YACrD,CAAC;YAED,eAAe;YACf,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;gBAElD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;oBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,mBAAmB,CAAC,KAAY;QAC9B,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACvF,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClC,iDAAiD;oBACjD,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEzG,IAAI,eAAe,GAAG,KAAK,CAAC;oBAC5B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,qDAAqD;4BACrD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;wBAC7D,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,+DAA+D;wBAC/D,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACvB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,eAAe,CAAC,KAAoB;QAClC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACtE,wCAAwC;YACxC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClC,iDAAiD;oBACjD,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAEzG,IAAI,eAAe,GAAG,KAAK,CAAC;oBAC5B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,qDAAqD;4BACrD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;wBAC7D,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,wDAAwD;wBACxD,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACvB,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAiED;;OAEG;IACK,OAAO;QACb,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAE7D,OAAO,CACL,gBACE,IAAI,EAAE,YAAY,EAClB,IAAI,EAAC,2BAA2B,iBACpB,MAAM,EAClB,IAAI,EAAC,MAAM,GACX,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CACL,gBACE,IAAI,EAAE,OAAO,EACb,IAAI,EAAC,2BAA2B,iBACpB,MAAM,EAClB,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,MAAM,GACX,CACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,EAAE,EAAE,IAAI,CAAC,WAAW;YACxB,+DACE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAC/B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS,EACnF,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACpE,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACpE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC7C,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS;gBAEnF,6DAAM,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,gBAAgB;oBAC3D,IAAI,CAAC,UAAU,EAAE;oBACjB,IAAI,CAAC,IAAI,IAAI,CACZ,6DAAM,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,aAAa,IACrD,IAAI,CAAC,IAAI,CACL,CACR;oBACA,IAAI,CAAC,kBAAkB,EAAE,CACrB,CACA;YAER,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAC3B,4DACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,EAC9B,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,UAAU,EACjC,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,SAAS;gBAEd,8DAAQ,CACJ,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\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\n const bufferSpace = 20;\n const wouldOverflowRight = (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 (wouldOverflowRight) {\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 = triggerRect.left;\n let top = triggerRect.bottom + 8;\n let transformOrigin = 'top left';\n\n // Apply horizontal flipping if needed\n if (wouldOverflowRight) {\n const actualPopoverWidth = this.popoverEl.getBoundingClientRect().width || popoverWidth;\n left = triggerRect.right - actualPopoverWidth;\n transformOrigin = '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"]}
@@ -37,7 +37,7 @@
37
37
  top: 50%;
38
38
  transform: translateY(-50%);
39
39
  white-space: nowrap;
40
- z-index: 1;
40
+ z-index: var(--pine-z-index-raised);
41
41
  }
42
42
  :host::part(prefix) {
43
43
  border-end-start-radius: var(--pds-input-border-radius);
@@ -57,6 +57,7 @@
57
57
  border: var(--pds-input-border-width) solid var(--pds-input-border-color);
58
58
  color: var(--pds-input-addon-color);
59
59
  display: flex;
60
+ overflow: visible;
60
61
  }
61
62
  :host::part(prepend) {
62
63
  border-end-start-radius: var(--pds-input-border-radius);
@@ -73,18 +74,28 @@
73
74
  :host([has-prepend]) ::slotted(pds-button[slot=prepend]) {
74
75
  --pds-button-background: var(--pds-input-addon-background);
75
76
  --pds-button-border: var(--pine-border-width-none);
77
+ --pds-button-border-radius: var(--pine-dimension-none);
76
78
  --pds-button-border-radius-end-end: var(--pine-dimension-none);
77
79
  --pds-button-border-radius-start-end: var(--pine-dimension-none);
78
- --pds-button-min-height: var(--pine-dimension-450);
80
+ --pds-button-border-radius-start-start: var(--pds-input-border-radius);
81
+ --pds-button-border-radius-end-start: var(--pds-input-border-radius);
82
+ --pds-button-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));
83
+ --pds-button-box-shadow-focus: 0 0 0 3px var(--pine-color-focus-ring);
84
+ --pds-button-outline-focus: none;
79
85
  }
80
86
 
81
87
  /* stylelint-disable-next-line */
82
88
  :host([has-append]) ::slotted(pds-button[slot=append]) {
83
89
  --pds-button-background: var(--pds-input-addon-background);
84
90
  --pds-button-border: var(--pine-border-width-none);
91
+ --pds-button-border-radius: var(--pine-dimension-none);
85
92
  --pds-button-border-radius-end-start: var(--pine-dimension-none);
86
93
  --pds-button-border-radius-start-start: var(--pine-dimension-none);
87
- --pds-button-min-height: var(--pine-dimension-450);
94
+ --pds-button-border-radius-start-end: var(--pds-input-border-radius);
95
+ --pds-button-border-radius-end-end: var(--pds-input-border-radius);
96
+ --pds-button-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));
97
+ --pds-button-box-shadow-focus: 0 0 0 3px var(--pine-color-focus-ring);
98
+ --pds-button-outline-focus: none;
88
99
  }
89
100
 
90
101
  /* stylelint-disable-next-line */
@@ -207,6 +218,8 @@
207
218
  border-color: var(--pine-color-border-active);
208
219
  outline: var(--pine-outline-focus);
209
220
  outline-offset: var(--pine-border-width);
221
+ position: relative;
222
+ z-index: 1;
210
223
  }
211
224
  :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) {
212
225
  outline-offset: var(--pine-dimension-none);
@@ -220,6 +233,8 @@
220
233
  }
221
234
  .has-error .pds-input__field:focus-visible {
222
235
  outline-color: var(--pine-color-focus-ring-danger);
236
+ position: relative;
237
+ z-index: 1;
223
238
  }
224
239
 
225
240
  .pds-input__error-message,
@@ -212,6 +212,27 @@ export const withPrependSelect = (args) => html`<pds-input
212
212
  </pds-select>
213
213
  </pds-input>`;
214
214
 
215
+ export const withPrependButton = (args) => html`<pds-input
216
+ autocomplete="${args.autocomplete}"
217
+ component-id="pds-input-prepend-secondary-button"
218
+ debounce="${args.debounce}"
219
+ ?disabled=${args.disabled}
220
+ error-message="${args.errorMessage}"
221
+ helper-message="${args.helperMessage}"
222
+ ?hide-label=${args.hideLabel}
223
+ ?invalid=${args.invalid}
224
+ label="Search Query"
225
+ name="${args.name}"
226
+ placeholder="Enter your search terms..."
227
+ ?readonly=${args.readonly}
228
+ ?required=${args.required}
229
+ type="text"
230
+ value="${args.value}">
231
+ <pds-button slot="prepend" variant="secondary" class="pds-input__prepend">
232
+ Filter
233
+ </pds-button>
234
+ </pds-input>`;
235
+
215
236
  export const withAppendSelect = (args) => html`<pds-input
216
237
  autocomplete="${args.autocomplete}"
217
238
  component-id="pds-input-append-select"
@@ -235,6 +256,27 @@ export const withAppendSelect = (args) => html`<pds-input
235
256
  </pds-select>
236
257
  </pds-input>`;
237
258
 
259
+ export const withAppendButton = (args) => html`<pds-input
260
+ autocomplete="${args.autocomplete}"
261
+ component-id="pds-input-append-secondary-button"
262
+ debounce="${args.debounce}"
263
+ ?disabled=${args.disabled}
264
+ error-message="${args.errorMessage}"
265
+ helper-message="${args.helperMessage}"
266
+ ?hide-label=${args.hideLabel}
267
+ ?invalid=${args.invalid}
268
+ label="Search Query"
269
+ name="${args.name}"
270
+ placeholder="Enter your search terms..."
271
+ ?readonly=${args.readonly}
272
+ ?required=${args.required}
273
+ type="text"
274
+ value="${args.value}">
275
+ <pds-button slot="append" variant="secondary" class="pds-input__append">
276
+ Search
277
+ </pds-button>
278
+ </pds-input>`;
279
+
238
280
  export const withPrefixAndAppend = (args) => html`<pds-input
239
281
  autocomplete="${args.autocomplete}"
240
282
  component-id="pds-input-prefix-append"
@@ -15,7 +15,7 @@
15
15
  transition: opacity 0.2s ease, visibility 0.2s ease;
16
16
  visibility: hidden;
17
17
  width: 100%;
18
- z-index: 1000;
18
+ z-index: var(--pine-z-index-modal);
19
19
  }
20
20
  @supports (backdrop-filter: blur(3px)) {
21
21
  .pds-modal__backdrop {
@@ -23,7 +23,7 @@
23
23
  }
24
24
  }
25
25
  pds-modal .pds-modal__backdrop {
26
- z-index: 1001;
26
+ z-index: var(--pine-z-index-priority);
27
27
  }
28
28
  .pds-modal__backdrop::backdrop {
29
29
  background: transparent;
@@ -12,6 +12,9 @@
12
12
  padding: var(--pine-dimension-md);
13
13
  position: fixed;
14
14
  }
15
+ :host [popover]:popover-open:not(.pds-popover--positioned) {
16
+ visibility: hidden;
17
+ }
15
18
  :host button {
16
19
  align-items: center;
17
20
  background-color: var(--pine-color-secondary);
@@ -6,6 +6,10 @@ export class PdsPopover {
6
6
  * @defaultValue false
7
7
  */
8
8
  this.active = false;
9
+ /**
10
+ * Tracks if the component is still mounted to prevent memory leaks
11
+ */
12
+ this.isComponentMounted = true;
9
13
  /**
10
14
  * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.
11
15
  * @defaultValue "show"
@@ -27,24 +31,123 @@ export class PdsPopover {
27
31
  */
28
32
  this.placement = 'right';
29
33
  }
30
- componentWillRender() {
31
- this.handlePopoverPositioning();
34
+ componentDidLoad() {
35
+ var _a;
36
+ // Attach toggle event listener to the popover element
37
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
38
+ if (popoverEl != null) {
39
+ this.boundToggleHandler = this.handleToggle.bind(this);
40
+ popoverEl.addEventListener('toggle', this.boundToggleHandler);
41
+ }
42
+ }
43
+ disconnectedCallback() {
44
+ var _a;
45
+ this.isComponentMounted = false;
46
+ // Clean up event listener
47
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
48
+ if (popoverEl != null && this.boundToggleHandler != null) {
49
+ popoverEl.removeEventListener('toggle', this.boundToggleHandler);
50
+ }
51
+ }
52
+ /**
53
+ * Opens the popover programmatically
54
+ */
55
+ async show() {
56
+ var _a;
57
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
58
+ if (popoverEl != null && typeof popoverEl.showPopover === 'function') {
59
+ try {
60
+ popoverEl.showPopover();
61
+ }
62
+ catch (e) {
63
+ // Popover might already be open
64
+ console.warn('Failed to show popover:', e);
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * Closes the popover programmatically
70
+ */
71
+ async hide() {
72
+ var _a;
73
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
74
+ if (popoverEl != null && typeof popoverEl.hidePopover === 'function') {
75
+ try {
76
+ popoverEl.hidePopover();
77
+ }
78
+ catch (e) {
79
+ // Popover might already be closed
80
+ console.warn('Failed to hide popover:', e);
81
+ }
82
+ }
83
+ }
84
+ /**
85
+ * Toggles the popover open/closed state programmatically
86
+ */
87
+ async toggle() {
88
+ var _a;
89
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
90
+ if (popoverEl != null && typeof popoverEl.togglePopover === 'function') {
91
+ try {
92
+ popoverEl.togglePopover();
93
+ }
94
+ catch (e) {
95
+ console.warn('Failed to toggle popover:', e);
96
+ }
97
+ }
32
98
  }
33
- handleClick() {
34
- this.active = !this.active;
99
+ handleToggle(event) {
100
+ var _a;
101
+ const toggleEvent = event;
102
+ // Prepare event detail
103
+ const eventDetail = {
104
+ componentId: this.componentId,
105
+ popoverType: this.popoverType,
106
+ text: this.text,
107
+ };
108
+ // Update internal state based on native popover state
109
+ if (toggleEvent.newState === 'open') {
110
+ this.active = true;
111
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
112
+ // Remove positioned class to hide popover via CSS
113
+ if (popoverEl != null) {
114
+ popoverEl.classList.remove('pds-popover--positioned');
115
+ }
116
+ // Position after the browser has rendered the popover, then show it
117
+ requestAnimationFrame(() => {
118
+ // Prevent memory leak if component unmounts during animation frame
119
+ if (!this.isComponentMounted)
120
+ return;
121
+ this.handlePopoverPositioning();
122
+ if (popoverEl != null) {
123
+ popoverEl.classList.add('pds-popover--positioned');
124
+ }
125
+ });
126
+ this.pdsPopoverOpen.emit(eventDetail);
127
+ }
128
+ else if (toggleEvent.newState === 'closed') {
129
+ this.active = false;
130
+ this.pdsPopoverClose.emit(eventDetail);
131
+ }
35
132
  }
36
133
  handleScroll() {
37
- if (this.active) {
134
+ var _a;
135
+ // Only reposition if the popover is actually open
136
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
137
+ if (popoverEl != null && this.active === true) {
38
138
  this.handlePopoverPositioning();
39
139
  }
40
140
  }
41
141
  handlePopoverPositioning() {
42
142
  const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger');
43
143
  const popoverEl = this.el.shadowRoot.querySelector('div[popover]');
44
- if (!triggerEl || !popoverEl)
144
+ if (triggerEl == null || popoverEl == null)
45
145
  return;
46
- const triggerRect = triggerEl.getBoundingClientRect();
47
- const popoverRect = popoverEl.getBoundingClientRect();
146
+ // Cast to HTMLElement after null check for proper typing
147
+ const triggerElement = triggerEl;
148
+ const popoverElement = popoverEl;
149
+ const triggerRect = triggerElement.getBoundingClientRect();
150
+ const popoverRect = popoverElement.getBoundingClientRect();
48
151
  let top = 0;
49
152
  let left = 0;
50
153
  const offset = 8;
@@ -98,11 +201,11 @@ export class PdsPopover {
98
201
  left = triggerRect.left - popoverRect.width - offset;
99
202
  break;
100
203
  }
101
- popoverEl.style.top = `${top}px`;
102
- popoverEl.style.left = `${left}px`;
204
+ popoverElement.style.top = `${top}px`;
205
+ popoverElement.style.left = `${left}px`;
103
206
  }
104
207
  render() {
105
- return (h(Host, { key: 'f31ca22bbebb2df24412cfab4660e6953d35d65c' }, h("button", { key: '74e0c9b393df28138b7f4c11d15e7fc4c6b8de14', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), h("div", { key: '0f4d6e601cb4e9d2c890261a72ce92725fa62846', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, h("slot", { key: '8ab8d2f7de3a175d73f3bfa7d42a84431a82bef1' }))));
208
+ return (h(Host, { key: 'c3da1b2ab23b4678aeb2f7fdfe59383c1c5e6766' }, h("button", { key: 'd426d0c3145820c161858123cb71cdf92a6da3f6', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction }, this.text), h("div", { key: 'aad97aedfc716085d1e7609649cc7aaeb7de7358', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, h("slot", { key: '1b5dde4a0643ee6dbdf4116cc74fff8b188e498b' }))));
106
209
  }
107
210
  static get is() { return "pds-popover"; }
108
211
  static get encapsulation() { return "shadow"; }
@@ -258,15 +361,121 @@ export class PdsPopover {
258
361
  "active": {}
259
362
  };
260
363
  }
364
+ static get events() {
365
+ return [{
366
+ "method": "pdsPopoverOpen",
367
+ "name": "pdsPopoverOpen",
368
+ "bubbles": true,
369
+ "cancelable": true,
370
+ "composed": true,
371
+ "docs": {
372
+ "tags": [],
373
+ "text": "Emitted when the popover is opened"
374
+ },
375
+ "complexType": {
376
+ "original": "PdsPopoverEventDetail",
377
+ "resolved": "PdsPopoverEventDetail",
378
+ "references": {
379
+ "PdsPopoverEventDetail": {
380
+ "location": "import",
381
+ "path": "./popover-interface",
382
+ "id": "src/components/pds-popover/popover-interface.ts::PdsPopoverEventDetail"
383
+ }
384
+ }
385
+ }
386
+ }, {
387
+ "method": "pdsPopoverClose",
388
+ "name": "pdsPopoverClose",
389
+ "bubbles": true,
390
+ "cancelable": true,
391
+ "composed": true,
392
+ "docs": {
393
+ "tags": [],
394
+ "text": "Emitted when the popover is closed"
395
+ },
396
+ "complexType": {
397
+ "original": "PdsPopoverEventDetail",
398
+ "resolved": "PdsPopoverEventDetail",
399
+ "references": {
400
+ "PdsPopoverEventDetail": {
401
+ "location": "import",
402
+ "path": "./popover-interface",
403
+ "id": "src/components/pds-popover/popover-interface.ts::PdsPopoverEventDetail"
404
+ }
405
+ }
406
+ }
407
+ }];
408
+ }
409
+ static get methods() {
410
+ return {
411
+ "show": {
412
+ "complexType": {
413
+ "signature": "() => Promise<void>",
414
+ "parameters": [],
415
+ "references": {
416
+ "Promise": {
417
+ "location": "global",
418
+ "id": "global::Promise"
419
+ },
420
+ "HTMLElement": {
421
+ "location": "global",
422
+ "id": "global::HTMLElement"
423
+ }
424
+ },
425
+ "return": "Promise<void>"
426
+ },
427
+ "docs": {
428
+ "text": "Opens the popover programmatically",
429
+ "tags": []
430
+ }
431
+ },
432
+ "hide": {
433
+ "complexType": {
434
+ "signature": "() => Promise<void>",
435
+ "parameters": [],
436
+ "references": {
437
+ "Promise": {
438
+ "location": "global",
439
+ "id": "global::Promise"
440
+ },
441
+ "HTMLElement": {
442
+ "location": "global",
443
+ "id": "global::HTMLElement"
444
+ }
445
+ },
446
+ "return": "Promise<void>"
447
+ },
448
+ "docs": {
449
+ "text": "Closes the popover programmatically",
450
+ "tags": []
451
+ }
452
+ },
453
+ "toggle": {
454
+ "complexType": {
455
+ "signature": "() => Promise<void>",
456
+ "parameters": [],
457
+ "references": {
458
+ "Promise": {
459
+ "location": "global",
460
+ "id": "global::Promise"
461
+ },
462
+ "HTMLElement": {
463
+ "location": "global",
464
+ "id": "global::HTMLElement"
465
+ }
466
+ },
467
+ "return": "Promise<void>"
468
+ },
469
+ "docs": {
470
+ "text": "Toggles the popover open/closed state programmatically",
471
+ "tags": []
472
+ }
473
+ }
474
+ };
475
+ }
261
476
  static get elementRef() { return "el"; }
262
477
  static get listeners() {
263
478
  return [{
264
- "name": "click",
265
- "method": "handleClick",
266
- "target": undefined,
267
- "capture": true,
268
- "passive": false
269
- }, {
270
479
  "name": "scroll",
271
480
  "method": "handleScroll",
272
481
  "target": "window",