@pine-ds/core 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +2 -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-7090d42d.system.entry.js +2 -0
  329. package/dist/pine-core/p-7090d42d.system.entry.js.map +1 -0
  330. package/dist/pine-core/{p-896e2f1b.entry.js → p-725c350c.entry.js} +2 -2
  331. package/dist/pine-core/{p-896e2f1b.entry.js.map → p-725c350c.entry.js.map} +1 -1
  332. package/dist/pine-core/p-75187352.system.entry.js +2 -0
  333. package/dist/pine-core/p-75187352.system.entry.js.map +1 -0
  334. package/dist/pine-core/p-79422986.entry.js +2 -0
  335. package/dist/pine-core/p-79422986.entry.js.map +1 -0
  336. package/dist/pine-core/p-81bc089e.entry.js +2 -0
  337. package/dist/pine-core/p-81bc089e.entry.js.map +1 -0
  338. package/dist/pine-core/p-85c41629.entry.js +2 -0
  339. package/dist/pine-core/p-85c41629.entry.js.map +1 -0
  340. package/dist/pine-core/p-86263a62.entry.js +2 -0
  341. package/dist/pine-core/p-86263a62.entry.js.map +1 -0
  342. package/dist/pine-core/p-87ed43d5.entry.js +2 -0
  343. package/dist/pine-core/p-87ed43d5.entry.js.map +1 -0
  344. package/dist/pine-core/{p-a54d6a53.entry.js → p-88773b86.entry.js} +2 -2
  345. package/dist/pine-core/p-8b4fb3f0.entry.js +2 -0
  346. package/dist/pine-core/p-8b4fb3f0.entry.js.map +1 -0
  347. package/dist/pine-core/p-8b5fc4b4.system.entry.js +2 -0
  348. package/dist/pine-core/p-8b5fc4b4.system.entry.js.map +1 -0
  349. package/dist/pine-core/p-94183716.entry.js +2 -0
  350. package/dist/pine-core/p-94183716.entry.js.map +1 -0
  351. package/dist/pine-core/p-9766923f.entry.js +2 -0
  352. package/dist/pine-core/p-9766923f.entry.js.map +1 -0
  353. package/dist/pine-core/p-9b335a9f.entry.js +2 -0
  354. package/dist/pine-core/p-9b335a9f.entry.js.map +1 -0
  355. package/dist/pine-core/p-9c579956.system.entry.js +2 -0
  356. package/dist/pine-core/p-9c579956.system.entry.js.map +1 -0
  357. package/dist/pine-core/p-9cf2b7a6.entry.js +2 -0
  358. package/dist/pine-core/p-9cf2b7a6.entry.js.map +1 -0
  359. package/dist/pine-core/{p-COwpA8ab.system.js.map → p-B-Doh1Wu.system.js.map} +1 -1
  360. package/dist/pine-core/{p-BSkbMuB5.system.js → p-BG99uNIQ.system.js} +1 -1
  361. package/dist/pine-core/p-BG99uNIQ.system.js.map +1 -0
  362. package/dist/pine-core/p-BHavepTY.system.js +2 -0
  363. package/dist/pine-core/p-BHavepTY.system.js.map +1 -0
  364. package/dist/pine-core/p-BLC5kuro.system.js.map +1 -0
  365. package/dist/pine-core/p-BPjnTOEL.system.js +1 -1
  366. package/dist/pine-core/{p-X5M4eshC.system.js.map → p-BRIdBthP.system.js.map} +1 -1
  367. package/dist/pine-core/{p-B57Bybw-.system.js.map → p-BkPtASB1.system.js.map} +1 -1
  368. package/dist/pine-core/p-Bkfqi7zE.system.js.map +1 -0
  369. package/dist/pine-core/p-C1KChp5Q.system.js.map +1 -0
  370. package/dist/pine-core/p-C2W-sHx5.system.js.map +1 -0
  371. package/dist/pine-core/p-CIBXMJd-.system.js.map +1 -0
  372. package/dist/pine-core/p-CJNB_wrl.system.js.map +1 -0
  373. package/dist/pine-core/p-CSa_b_JX.system.js.map +1 -0
  374. package/dist/pine-core/p-Cid662up.system.js.map +1 -0
  375. package/dist/pine-core/p-Cqzmj3D8.system.js.map +1 -0
  376. package/dist/pine-core/p-Cxlv_2hD.system.js.map +1 -0
  377. package/dist/pine-core/p-D0foS5EP.system.js.map +1 -0
  378. package/dist/pine-core/{p-D4MkIUXU.js → p-D4zJBIgl.js} +1 -1
  379. package/dist/pine-core/p-D4zJBIgl.js.map +1 -0
  380. package/dist/pine-core/p-DCjZr2HA.system.js.map +1 -0
  381. package/dist/pine-core/p-DN3VK2yy.system.js.map +1 -0
  382. package/dist/pine-core/{p-DgE9ds9o.system.js.map → p-DOqVoXeA.system.js.map} +1 -1
  383. package/dist/pine-core/p-DW3lkDNz.system.js.map +1 -0
  384. package/dist/pine-core/p-DfrSuf6X.system.js.map +1 -0
  385. package/dist/pine-core/p-DpemOPFJ.system.js.map +1 -0
  386. package/dist/pine-core/p-DpzRSULT.system.js.map +1 -0
  387. package/dist/pine-core/p-DtdXdmNp.system.js.map +1 -0
  388. package/dist/pine-core/p-Dw05F6Xg.system.js.map +1 -0
  389. package/dist/pine-core/p-DwjNklzi.js +2 -0
  390. package/dist/pine-core/p-DwjNklzi.js.map +1 -0
  391. package/dist/pine-core/p-GrmqKqN8.system.js.map +1 -0
  392. package/dist/pine-core/p-HHZU8rBT.system.js.map +1 -0
  393. package/dist/pine-core/p-a2708028.entry.js +2 -0
  394. package/dist/pine-core/p-a2708028.entry.js.map +1 -0
  395. package/dist/pine-core/{p-46820152.entry.js → p-a3785977.entry.js} +2 -2
  396. package/dist/pine-core/p-a707a7da.system.entry.js +2 -0
  397. package/dist/pine-core/p-a707a7da.system.entry.js.map +1 -0
  398. package/dist/pine-core/p-acd87a10.entry.js +2 -0
  399. package/dist/pine-core/p-acd87a10.entry.js.map +1 -0
  400. package/dist/pine-core/p-ae4ec5cf.system.entry.js +2 -0
  401. package/dist/pine-core/p-ae4ec5cf.system.entry.js.map +1 -0
  402. package/dist/pine-core/p-b23dd01c.entry.js +2 -0
  403. package/dist/pine-core/p-b23dd01c.entry.js.map +1 -0
  404. package/dist/pine-core/p-b9aafec7.system.entry.js +2 -0
  405. package/dist/pine-core/p-b9aafec7.system.entry.js.map +1 -0
  406. package/dist/pine-core/p-c3579585.system.entry.js +2 -0
  407. package/dist/pine-core/p-c3579585.system.entry.js.map +1 -0
  408. package/dist/pine-core/p-cffc98ae.entry.js +3 -0
  409. package/dist/pine-core/p-cffc98ae.entry.js.map +1 -0
  410. package/dist/pine-core/{p-559b4ebc.entry.js → p-d1b27fa4.entry.js} +2 -2
  411. package/dist/pine-core/p-d2b15290.system.entry.js +2 -0
  412. package/dist/pine-core/p-d2b15290.system.entry.js.map +1 -0
  413. package/dist/pine-core/p-d4d22aee.entry.js +2 -0
  414. package/dist/pine-core/p-d4d22aee.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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsFilterCss","PdsFilter","exports","class_1","hostRef","_this","this","scrollRAF","lastScrollTime","variant","isOpen","handleNativePopoverToggle","event","target","id","concat","componentId","isCurrentlyOpen","matches","error","style","display","setTimeout","adjustPopoverPosition","pdsFilterOpen","emit","text","pdsFilterClose","handleKeyDown","key","preventDefault","handleClick","pdsFilterClear","closeOtherPopovers","supportsPopoverAPI","HTMLElement","prototype","showPopover","navigator","userAgent","includes","popoverEl","classList","add","remove","disconnectedCallback","cancelAnimationFrame","removeEventListener","hidePopover","componentDidRender","addEventListener","handleWindowResize","handleWindowScroll","supportsAnchorPositioning","document","documentElement","now","performance","throttleMs","requestAnimationFrame","el","isConnected","allFilters","querySelectorAll","forEach","filter","popover","_a","shadowRoot","querySelector","isPopoverOpen","triggerEl","triggerRect","getBoundingClientRect","viewportWidth","window","innerWidth","viewportHeight","innerHeight","popoverWidth","popoverHeight","height","bufferSpace","wouldOverflowRight","left","wouldOverflowBottom","bottom","top","transformOrigin","actualPopoverWidth","width","right","replace","cssText","showFilter","console","warn","hideFilter","handlePopoverToggle","handleDocumentClick","contains","popoverIsClosed","handleEscapeKey","getIcon","trash","icon","getTriggerClasses","classes","push","join","renderIcon","iconToRender","h","size","part","renderDropdownIcon","enlarge","class","render","Host","type","popoverTarget","undefined","popoverTargetAction","onKeyDown","onClick","ref"],"sources":["src/components/pds-filters/pds-filter/pds-filter.scss?tag=pds-filter&encapsulation=shadow","src/components/pds-filters/pds-filter/pds-filter.tsx"],"sourcesContent":[":host {\n --box-shadow-focus: 0 0 0 1px var(--pine-color-white), 0 0 0 3px var(--pine-color-focus-ring);\n\n display: inline-block;\n position: relative;\n}\n\n.pds-filter__trigger {\n align-items: center;\n /* stylelint-disable-next-line property-no-unknown */\n anchor-name: --filter-trigger;\n background: var(--pine-color-background-container);\n border: var(--pine-border-width-thin) solid var(--pine-color-border);\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-050);\n box-sizing: border-box;\n color: var(--pine-color-text-placeholder);\n cursor: pointer;\n display: inline-flex;\n font-family: var(--pine-font-family-inter);\n font-size: var(--pine-font-size-100);\n font-weight: var(--pine-font-weight-400);\n gap: var(--pine-dimension-050);\n letter-spacing: var(--pine-letter-spacing-114);\n line-height: var(--pine-line-height-150);\n padding: var(--pine-dimension-025) var(--pine-dimension-125);\n position: relative;\n transition: all 0.2s ease;\n\n pds-icon {\n block-size: var(--pine-font-size-100);\n color: var(--pine-color-grey-800);\n flex-shrink: 0;\n inline-size: var(--pine-font-size-100);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-grey-100);\n border-color: var(--pine-color-grey-400);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-grey-800);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n}\n\n.pds-filter__trigger--selected {\n background-color: var(--pine-color-purple-050);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-500);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--more {\n background-color: var(--pine-color-grey-050);\n border: var(--pine-border-width-thin) dashed var(--pine-color-grey-300);\n color: var(--pine-color-text-placeholder);\n\n pds-icon {\n color: var(--pine-color-grey-800);\n }\n\n &:hover,\n &.pds-filter__trigger--open {\n background-color: var(--pine-color-grey-100);\n border-color: var(--pine-color-grey-400);\n color: var(--pine-color-text-hover);\n\n pds-icon {\n color: var(--pine-color-grey-800);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__trigger--clear {\n background: transparent;\n border: var(--pine-border-width-thin) solid transparent;\n border-radius: var(--pine-dimension-100);\n box-shadow: none;\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n\n &:hover {\n background-color: var(--pine-color-purple-100);\n border-color: var(--pine-color-purple-100);\n color: var(--pine-color-purple-600);\n\n pds-icon {\n color: var(--pine-color-purple-600);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n.pds-filter__button-content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-050);\n max-inline-size: 148px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__button-text {\n line-height: var(--pine-line-height-150);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-filter__dropdown-icon {\n block-size: var(--pine-dimension-200);\n flex-shrink: 0;\n inline-size: var(--pine-dimension-200);\n}\n\n\n.pds-filter__popover {\n background-color: var(--pine-color-background-container);\n border: 0;\n border-radius: var(--pine-dimension-100);\n box-shadow: var(--pine-box-shadow-100);\n display: none;\n inline-size: 228px;\n inset: unset;\n padding: var(--pine-dimension-100);\n z-index: var(--pine-z-index-overlay);\n\n /* stylelint-disable-next-line selector-pseudo-class-no-unknown */\n &:popover-open,\n &.is-open {\n display: block;\n }\n\n /* Modern browsers: CSS anchor positioning with JavaScript-controlled flipping */\n @supports (anchor-name: --test) {\n inset-block-start: calc(anchor(--filter-trigger bottom) + var(--pine-dimension-100));\n inset-inline-start: anchor(--filter-trigger left);\n position: fixed; /* Anchor positioning requires fixed positioning */\n /* stylelint-disable-next-line property-no-unknown */\n position-anchor: --filter-trigger;\n\n /* CSS position-try disabled for precise JavaScript-controlled flipping */\n\n /* Flipping classes applied by JavaScript for precise control */\n &.popover-flip-horizontal {\n inset-inline-start: anchor(--filter-trigger right);\n transform: translateX(-100%);\n }\n\n &.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-start: anchor(--filter-trigger right);\n transform: translate(-100%, calc(-100% - var(--pine-dimension-100)));\n }\n\n /* Ensure fallback class works with flipping in modern browsers */\n &.is-open.popover-flip-horizontal {\n inset-inline-start: anchor(--filter-trigger right);\n transform: translateX(-100%);\n }\n\n &.is-open.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n transform: translateY(calc(-100% - var(--pine-dimension-100)));\n }\n\n &.is-open.popover-flip-horizontal.popover-flip-vertical {\n inset-block-start: anchor(--filter-trigger top);\n inset-inline-start: anchor(--filter-trigger right);\n transform: translate(-100%, calc(-100% - var(--pine-dimension-100)));\n }\n\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Method, Listen } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\nimport 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"],"mappings":"sqDAAA,IAAMA,EAAe,4qM,IC0BRC,EAASC,EAAA,wBALtB,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,K,+IASUA,KAASC,UAAkB,KAC3BD,KAAcE,eAAG,EAWjBF,KAAOG,QAAqB,UAiB3BH,KAAMI,OAAG,MAuEVJ,KAAAK,0BAA4B,SAACC,GACnC,IAAMC,EAASD,EAAMC,OAErB,GAAIA,GAAUA,EAAOC,KAAO,GAAAC,OAAGV,EAAKW,YAAW,YAAY,CAEzD,IAAIC,EAAkB,MACtB,IACEA,EAAkBJ,EAAOK,QAAQ,gB,CACjC,MAAOC,GAEPF,EAAkBJ,EAAOO,MAAMC,UAAY,O,CAI7ChB,EAAKK,OAASO,EAEd,GAAIZ,EAAKK,OAAQ,CACfY,YAAW,WAAM,OAAAjB,EAAKkB,uBAAL,GAA8B,GAE/ClB,EAAKmB,cAAcC,KAAK,CACtBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,KAER,CACLrB,EAAKsB,eAAeF,KAAK,CACvBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,EAInB,EAyTQpB,KAAAsB,cAAgB,SAAChB,GAEvB,GAAIP,EAAKI,UAAY,UAAYG,EAAMiB,MAAQ,SAAWjB,EAAMiB,MAAQ,KAAM,CAC5EjB,EAAMkB,iBACNzB,EAAK0B,a,CAET,EAKQzB,KAAAyB,YAAc,SAACnB,GACrB,GAAIP,EAAKI,UAAY,QAAS,CAC5BJ,EAAK2B,eAAeP,KAAK,CACvBT,YAAaX,EAAKW,YAClBU,KAAMrB,EAAKqB,OAEb,M,CAGFrB,EAAK4B,qBAGL,IAAMC,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAE9F,IAAKN,EAAoB,CAGvB,GAAItB,EAAO,CACTA,EAAMkB,gB,CAGRR,YAAW,WACT,GAAIjB,EAAKoC,WAAa,KAAM,CAC1BpC,EAAKK,QAAUL,EAAKK,OACpB,GAAIL,EAAKK,OAAQ,CACfL,EAAKoC,UAAUrB,MAAMC,QAAU,QAC/BhB,EAAKoC,UAAUC,UAAUC,IAAI,WAC7BtC,EAAKkB,wBACLlB,EAAKmB,cAAcC,KAAK,CACtBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,KAER,CACLrB,EAAKoC,UAAUrB,MAAMC,QAAU,OAC/BhB,EAAKoC,UAAUC,UAAUE,OAAO,WAChCvC,EAAKsB,eAAeF,KAAK,CACvBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,KAIhB,E,CAIP,CAqGD,CAziBCvB,EAAAiC,UAAAS,qBAAA,WAEE,GAAIvC,KAAKC,UAAW,CAClBuC,qBAAqBxC,KAAKC,WAC1BD,KAAKC,UAAY,I,CAGnBD,KAAKE,eAAiB,EAGtB,GAAIF,KAAKmC,UAAW,CAClB,IAAMP,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAC9F,GAAIN,EAAoB,CACtB5B,KAAKmC,UAAUM,oBAAoB,SAAUzC,KAAKK,0B,EAKtD,GAAIL,KAAKI,QAAUJ,KAAKmC,UAAW,CACjC,IACEnC,KAAKmC,UAAUO,a,CACf,MAAO7B,GACPb,KAAKmC,UAAUrB,MAAMC,QAAU,OAC/Bf,KAAKmC,UAAUC,UAAUE,OAAO,U,IAMtCzC,EAAAiC,UAAAa,mBAAA,WAIE,GAAI3C,KAAKmC,UAAW,CAClB,IAAMP,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAE9F,GAAIN,EAAoB,CAEtB5B,KAAKmC,UAAUM,oBAAoB,SAAUzC,KAAKK,2BAElDL,KAAKmC,UAAUS,iBAAiB,SAAU5C,KAAKK,0B,IA+CrDR,EAAAiC,UAAAe,mBAAA,eAAA9C,EAAAC,KACE,GAAIA,KAAKI,OAAQ,CACfY,YAAW,WAAM,OAAAjB,EAAKkB,uBAAL,GAA8B,G,GAQnDpB,EAAAiC,UAAAgB,mBAAA,eAAA/C,EAAAC,KACE,GAAIA,KAAKI,OAAQ,CACf,IAAM2C,EAA4B,eAAgBC,SAASC,gBAAgBnC,MAC3E,IAAMoC,EAAMC,YAAYD,MAExB,IAAME,EAAaL,EAA4B,GAAK,GACpD,GAAIG,EAAMlD,KAAKE,eAAiBkD,EAAY,CAC1C,M,CAGFpD,KAAKE,eAAiBgD,EAEtB,GAAIlD,KAAKC,UAAW,CAClBuC,qBAAqBxC,KAAKC,U,CAG5BD,KAAKC,UAAYoD,uBAAsB,WACrC,GAAItD,EAAKK,QAAUL,EAAKoC,WAAapC,EAAKuD,GAAGC,YAAa,CACxDxD,EAAKkB,uB,CAEPlB,EAAKE,UAAY,IACnB,G,GAOIJ,EAAAiC,UAAAH,mBAAA,eAAA5B,EAAAC,KACN,IAAMwD,EAAaR,SAASS,iBAAiB,cAE7CD,EAAWE,SAAQ,SAACC,G,MAClB,GAAIA,IAAW5D,EAAKuD,GAAI,OAExB,IAAMM,GAAUC,EAAAF,EAAOG,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cAAc,wBAEjD,GAAIH,EAAS,CAEX,IAAII,EAAgB,MACpB,IACEA,EAAgBJ,EAAQhD,QAAQ,gB,CAChC,MAAOC,GAEPmD,EAAgBJ,EAAQ9C,MAAMC,UAAY,O,CAG5C,GAAIiD,EAAe,CACjB,IACEJ,EAAQlB,a,CACR,MAAO7B,GACP+C,EAAQ9C,MAAMC,QAAU,OACxB6C,EAAQxB,UAAUE,OAAO,U,GAIjC,G,EAOMzC,EAAAiC,UAAAb,sBAAA,W,MACN,IAAKjB,KAAKmC,WAAanC,KAAKG,UAAY,QAAS,OAEjD,IAAM8D,GAAYJ,EAAA7D,KAAKsD,GAAGQ,cAAY,MAAAD,SAAA,SAAAA,EAAAE,cAAc,wBACpD,IAAKE,EAAW,OAEhB,IAAMC,EAAcD,EAAUE,wBAC9B,IAAMC,EAAgBC,OAAOC,WAC7B,IAAMC,EAAiBF,OAAOG,YAE9B,IAAMzB,EAA4B,eAAgBC,SAASC,gBAAgBnC,MAG3E,IAAM2D,EAAe,IACrB,IAAMC,EAAgB1E,KAAKmC,UAAUgC,wBAAwBQ,QAAU,IAGvE,IAAMC,EAAc,GACpB,IAAMC,EAAsBX,EAAYY,KAAOL,EAAeG,EAAeR,EAC7E,IAAMW,EAAuBb,EAAYc,OAAS,EAAIN,EAAgBE,EAAeL,EAErF,GAAIxB,EAA2B,CAE7B/C,KAAKmC,UAAUC,UAAUE,OAAO,0BAA2B,yBAE3D,GAAIuC,EAAoB,CACtB7E,KAAKmC,UAAUC,UAAUC,IAAI,0B,CAG/B,GAAI0C,EAAqB,CACvB/E,KAAKmC,UAAUC,UAAUC,IAAI,wB,MAG1B,CAEL,IAAIyC,EAAOZ,EAAYY,KACvB,IAAIG,EAAMf,EAAYc,OAAS,EAC/B,IAAIE,EAAkB,WAGtB,GAAIL,EAAoB,CACtB,IAAMM,EAAqBnF,KAAKmC,UAAUgC,wBAAwBiB,OAASX,EAC3EK,EAAOZ,EAAYmB,MAAQF,EAC3BD,EAAkB,W,CAIpB,GAAIH,EAAqB,CACvBE,EAAMf,EAAYe,IAAMP,EAAgB,EACxCQ,EAAkBA,EAAgBI,QAAQ,MAAO,S,CAInDtF,KAAKmC,UAAUrB,MAAMyE,QAAU,6CAAA9E,OAErBqE,EAAI,sBAAArE,OACLwE,EAAG,kFAAAxE,OAEUyE,EAAe,Y,GAUnCrF,EAAAiC,UAAA0D,WAAN,W,qFACE,GAAIxF,KAAKG,UAAY,QAAS,CAC5BsF,QAAQC,KAAK,oDACb,S,CAGF,GAAI1F,KAAKmC,WAAa,KAAM,CAC1B,IACEnC,KAAKmC,UAAUJ,a,CACf,MAAOlB,GAEPb,KAAKmC,UAAUrB,MAAMC,QAAU,QAC/Bf,KAAKmC,UAAUC,UAAUC,IAAI,U,mBAU7BxC,EAAAiC,UAAA6D,WAAN,W,qFACE,GAAI3F,KAAKG,UAAY,QAAS,CAC5BsF,QAAQC,KAAK,oDACb,S,CAGF,GAAI1F,KAAKmC,WAAa,KAAM,CAC1B,IACEnC,KAAKmC,UAAUO,a,CACf,MAAO7B,GAEPb,KAAKmC,UAAUrB,MAAMC,QAAU,OAC/Bf,KAAKmC,UAAUC,UAAUE,OAAO,U,mBAUtCzC,EAAAiC,UAAA8D,oBAAA,SAAoBtF,GAApB,IAAAP,EAAAC,KACE,IAAMO,EAASD,EAAMC,OACrB,IAAMqB,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAG9F,IAAKN,GAAsBrB,GAAUA,EAAOC,KAAO,GAAAC,OAAGT,KAAKU,YAAW,YAAY,CAEhF,IAAIC,EAAkB,MACtB,IACEA,EAAkBJ,EAAOK,QAAQ,gB,CACjC,MAAOC,GAEPF,EAAkBJ,EAAOO,MAAMC,UAAY,O,CAI7Cf,KAAKI,OAASO,EAEd,GAAIX,KAAKI,OAAQ,CACfY,YAAW,WAAM,OAAAjB,EAAKkB,uBAAL,GAA8B,GAE/CjB,KAAKkB,cAAcC,KAAK,CACtBT,YAAaV,KAAKU,YAClBP,QAASH,KAAKG,QACdiB,KAAMpB,KAAKoB,M,KAER,CACLpB,KAAKqB,eAAeF,KAAK,CACvBT,YAAaV,KAAKU,YAClBP,QAASH,KAAKG,QACdiB,KAAMpB,KAAKoB,M,IAUnBvB,EAAAiC,UAAA+D,oBAAA,SAAoBvF,GAApB,IAAAP,EAAAC,KAEE,IAAKA,KAAKsD,GAAGwC,SAASxF,EAAMC,SAAmBP,KAAKI,QAAUJ,KAAKG,UAAY,QAAS,CACtFa,YAAW,WACT,GAAIjB,EAAKoC,WAAapC,EAAKK,OAAQ,CAEjC,IAAMwB,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAE9F,IAAI6D,EAAkB,MACtB,GAAInE,EAAoB,CACtB,IACEmE,GAAmBhG,EAAKoC,UAAUvB,QAAQ,gB,CAC1C,MAAOC,GAEPkF,EAAkBhG,EAAKoC,UAAUrB,MAAMC,UAAY,O,MAEhD,CAELgF,EAAkB,I,CAGpB,GAAIA,EAAiB,CACnBhG,EAAKK,OAAS,MACd,IAAKwB,EAAoB,CACvB7B,EAAKoC,UAAUrB,MAAMC,QAAU,OAC/BhB,EAAKoC,UAAUC,UAAUE,OAAO,U,CAElCvC,EAAKsB,eAAeF,KAAK,CACvBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,KAIhB,E,GAQPvB,EAAAiC,UAAAkE,gBAAA,SAAgB1F,GAAhB,IAAAP,EAAAC,KACE,GAAIM,EAAMiB,MAAQ,UAAYvB,KAAKI,QAAUJ,KAAKG,UAAY,QAAS,CAErEa,YAAW,WACT,GAAIjB,EAAKoC,WAAapC,EAAKK,OAAQ,CAEjC,IAAMwB,EAAqBC,YAAYC,UAAUC,cAAgBC,UAAUC,UAAUC,SAAS,WAE9F,IAAI6D,EAAkB,MACtB,GAAInE,EAAoB,CACtB,IACEmE,GAAmBhG,EAAKoC,UAAUvB,QAAQ,gB,CAC1C,MAAOC,GAEPkF,EAAkBhG,EAAKoC,UAAUrB,MAAMC,UAAY,O,MAEhD,CAELgF,EAAkB,I,CAGpB,GAAIA,EAAiB,CACnBhG,EAAKK,OAAS,MACd,IAAKwB,EAAoB,CACvB7B,EAAKoC,UAAUrB,MAAMC,QAAU,OAC/BhB,EAAKoC,UAAUC,UAAUE,OAAO,U,CAElCvC,EAAKsB,eAAeF,KAAK,CACvBT,YAAaX,EAAKW,YAClBP,QAASJ,EAAKI,QACdiB,KAAMrB,EAAKqB,M,KAIhB,E,GAsECvB,EAAAiC,UAAAmE,QAAA,WACN,GAAIjG,KAAKG,UAAY,QAAS,CAC5B,OAAO+F,C,CAET,OAAOlG,KAAKmG,I,EAMNtG,EAAAiC,UAAAsE,kBAAA,WACN,IAAMC,EAAU,CAAC,uBACjBA,EAAQC,KAAK,wBAAA7F,OAAwBT,KAAKG,UAE1C,GAAIH,KAAKI,QAAUJ,KAAKG,UAAY,QAAS,CAC3CkG,EAAQC,KAAK,4B,CAGf,OAAOD,EAAQE,KAAK,I,EAMd1G,EAAAiC,UAAA0E,WAAA,WACN,IAAMC,EAAezG,KAAKiG,UAC1B,GAAIQ,GAAgB,MAAQA,IAAiB,GAAI,OAAO,KAExD,OACEC,EACE,YAAAP,KAAMM,EACNE,KAAK,4BAA2B,cACpB,OACZC,KAAK,Q,EAQH/G,EAAAiC,UAAA+E,mBAAA,WACN,GAAI7G,KAAKG,UAAY,WAAY,CAC/B,OACEuG,EAAA,YACEP,KAAMW,EACNH,KAAK,4BAA2B,cACpB,OACZI,MAAM,4BACNH,KAAK,Q,CAIX,OAAO,I,EAGT/G,EAAAiC,UAAAkF,OAAA,eAAAjH,EAAAC,KACE,OACE0G,EAACO,EAAI,CAAA1F,IAAA,2CAACf,GAAIR,KAAKU,aACbgG,EAAA,UAAAnF,IAAA,2CACEwF,MAAO/G,KAAKoG,oBACZc,KAAK,SACLC,cAAenH,KAAKG,UAAY,QAAU,GAAAM,OAAGT,KAAKU,YAAW,YAAa0G,UAC1EC,oBAAqBrH,KAAKG,UAAY,QAAU,SAAWiH,UAC3DE,UAAWtH,KAAKG,UAAY,QAAUH,KAAKsB,cAAgB8F,UAC3DG,QAAS,SAACjH,GAAU,OAAAP,EAAK0B,YAAYnB,EAAjB,EACpBsG,KAAK,SACU,gBAAA5G,KAAKI,OAAS,OAAS,QACvB,gBAAAJ,KAAKG,UAAY,QAAU,OAASiH,UACpC,gBAAApH,KAAKG,UAAY,QAAU,GAAAM,OAAGT,KAAKU,YAAW,YAAa0G,WAE1EV,EAAA,QAAAnF,IAAA,2CAAMwF,MAAM,6BAA6BH,KAAK,kBAC3C5G,KAAKwG,aACLxG,KAAKoB,MACJsF,EAAA,QAAAnF,IAAA,2CAAMwF,MAAM,0BAA0BH,KAAK,eACxC5G,KAAKoB,MAGTpB,KAAK6G,uBAIT7G,KAAKG,UAAY,SAChBuG,EACE,OAAAnF,IAAA,2CAAAiG,IAAK,SAAAlE,GAAM,OAAAvD,EAAKoC,UAAYmB,CAAjB,EACX9C,GAAI,GAAAC,OAAGT,KAAKU,YAAW,YACvBqG,MAAM,sBACNnD,QAAQ,OACRgD,KAAK,WAELF,EAAA,QAAAnF,IAAA,8C,uHA1lBU,I","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,H as e,g as a}from"./p-Bf1dou5H.js";import{g as o,d as l}from"./p-D4zJBIgl.js";const n=":host{--border-head-cell-default:var(--pine-border-width-thin) solid var(--pine-color-grey-100);--box-shadow-default:3px 3px 6px -2px rgba(0, 0, 0, 0.1);-webkit-border-after:var(--border-head-cell-default);border-block-end:var(--border-head-cell-default);color:var(--pine-color-text);display:table-cell;font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-regular);line-height:var(--pine-line-height-body);padding:var(--pine-dimension-150);position:relative;text-align:start;vertical-align:inherit}:host(.is-compact){padding-block:var(--pine-dimension-2xs)}:host(.is-fixed){background:var(--pine-color-background-container);left:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default)}:host(.is-sortable){cursor:pointer}:host(.is-sortable) pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs);-webkit-padding-before:2px;padding-block-start:2px;position:absolute}:host(.is-sortable:hover),:host(.is-active){color:var(--pine-color-text-active)}:host(.pds-table-head-cell--align-start){text-align:start}:host(.pds-table-head-cell--align-center){text-align:center}:host(.pds-table-head-cell--align-end){text-align:end}:host(.pds-table-head-cell--align-justify){text-align:justify}";const r=class{constructor(s){i(this,s);this.pdsTableSort=t(this,"pdsTableSort");this.scrollContainer=null;this.setupRetries=0;this.sortingDirection="asc";this.tableScrolling=false;this.isSelected=false;this.handleScroll=()=>{if(!this.scrollContainer){return}try{this.tableScrolling=this.scrollContainer.scrollLeft>0}catch(i){console.warn("Scroll handler error:",i)}};this.toggleSort=()=>{if(this.sortable){const i=this.hostElement.innerText.trim();this.sortingDirection=this.sortingDirection==="asc"?"desc":"asc";this.tableRef.querySelectorAll("pds-table-head-cell").forEach((i=>{i.classList.remove("is-active")}));this.hostElement.classList.toggle("is-active");this.pdsTableSort.emit({column:i,direction:this.sortingDirection})}}}componentWillRender(){this.tableRef=this.hostElement.closest("pds-table")}componentDidLoad(){if(this.tableRef&&this.tableRef.responsive&&this.tableRef.fixedColumn){this.setupScrollListener()}}disconnectedCallback(){this.cleanupScrollListener()}setupScrollListener(){var i;if(!this.tableRef)return;const t=(i=this.tableRef.shadowRoot)===null||i===void 0?void 0:i.querySelector(".pds-table-responsive-container");if(t){this.scrollContainer=t;this.scrollContainer.addEventListener("scroll",this.handleScroll,{passive:true});this.handleScroll();this.setupRetries=0}else{this.setupTimer=window.setTimeout((()=>{if(this.scrollContainer)return;this.setupRetries=(this.setupRetries||0)+1;if(this.setupRetries<=50){this.setupScrollListener()}else{console.warn("Failed to find responsive container after 50 attempts")}}),100)}}cleanupScrollListener(){if(this.scrollContainer){this.scrollContainer.removeEventListener("scroll",this.handleScroll);this.scrollContainer=null}if(this.setupTimer!==undefined){window.clearTimeout(this.setupTimer);this.setupTimer=undefined}this.setupRetries=0}classNames(){const i=[];if(this.tableRef&&this.tableRef.compact){i.push("is-compact")}if(this.cellAlign){i.push(`pds-table-head-cell--align-${this.cellAlign}`)}if(this.sortable){i.push("is-sortable")}if(this.sortable&&this.sortingDirection!==null){i.push("sort-"+this.sortingDirection)}if(this.tableRef&&this.tableRef.fixedColumn&&this.tableScrolling){i.push("has-scrolled")}return i.join(" ")}render(){return s(e,{key:"3d950a2997ef4c095d08f9c4e67b9a963fea093d",class:this.classNames(),role:"columnheader",onClick:this.toggleSort,part:"head-cell",style:this.tableRef&&this.tableRef.fixedColumn&&this.tableRef.selectable?{"--fixed-cell-position":"40px"}:{}},s("slot",{key:"8ca7d4d169612e5ba237691d9a5ec9ed35610230"}),this.sortable&&s("pds-icon",{key:"e2e214b39a1706d887bb34a0d4fc3f632e752306",icon:this.sortingDirection==="asc"?o:l,part:"sort-icon"}))}get hostElement(){return a(this)}};r.style=n;export{r as pds_table_head_cell};
2
+ //# sourceMappingURL=p-d4d22aee.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsTableHeadCellCss","PdsTableHeadCell","constructor","hostRef","this","scrollContainer","setupRetries","sortingDirection","tableScrolling","isSelected","handleScroll","scrollLeft","error","console","warn","toggleSort","sortable","column","hostElement","innerText","trim","tableRef","querySelectorAll","forEach","headCell","classList","remove","toggle","pdsTableSort","emit","direction","componentWillRender","closest","componentDidLoad","responsive","fixedColumn","setupScrollListener","disconnectedCallback","cleanupScrollListener","container","_a","shadowRoot","querySelector","addEventListener","passive","setupTimer","window","setTimeout","removeEventListener","undefined","clearTimeout","classNames","compact","push","cellAlign","join","render","h","Host","key","class","role","onClick","part","style","selectable","icon","upSmall","downSmall"],"sources":["src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"sourcesContent":[":host {\n --border-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--pine-color-text);\n display: table-cell;\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size);\n font-weight: var(--pine-font-weight-regular);\n line-height: var(--pine-line-height-body);\n padding: var(--pine-dimension-150);\n position: relative;\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--pine-dimension-2xs)\n}\n\n:host(.is-fixed) {\n background: var(--pine-color-background-container);\n left: var(--pine-dimension-none);\n position: sticky;\n z-index: var(--pine-z-index-raised);\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--pine-dimension-2xs);\n padding-block-start: 2px;\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--pine-color-text-active);\n}\n\n// Text Alignment\n:host(.pds-table-head-cell--align-start) {\n text-align: start;\n}\n\n:host(.pds-table-head-cell--align-center) {\n text-align: center;\n}\n\n:host(.pds-table-head-cell--align-end) {\n text-align: end;\n}\n\n:host(.pds-table-head-cell--align-justify) {\n text-align: justify;\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private setupTimer: number | undefined;\n private setupRetries: number = 0;\n\n /**\n * Sets the text alignment within the head cell.\n */\n @Prop() cellAlign?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n /**\n * The direction of sorting.\n */\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @State() isSelected: boolean = false;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n // For responsive tables with fixed columns, set up scroll detection\n // This enables the first column header to show a shadow when the table is scrolled horizontally\n this.setupScrollListener();\n }\n }\n\n disconnectedCallback() {\n this.cleanupScrollListener();\n }\n\n private setupScrollListener() {\n if (!this.tableRef) return;\n\n // Query shadowRoot once and cache the container\n const container = this.tableRef.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n\n if (container) {\n // Container available immediately\n this.scrollContainer = container;\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll(); // Initial check\n this.setupRetries = 0; // Reset counter on success\n } else {\n // Container not ready, set up timer for retry with bounds\n this.setupTimer = window.setTimeout(() => {\n if (this.scrollContainer) return; // Already found\n this.setupRetries = (this.setupRetries || 0) + 1;\n if (this.setupRetries <= 50) {\n this.setupScrollListener();\n } else {\n console.warn('Failed to find responsive container after 50 attempts');\n }\n }, 100);\n }\n }\n\n private cleanupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n this.scrollContainer = null;\n }\n\n if (this.setupTimer !== undefined) {\n window.clearTimeout(this.setupTimer);\n this.setupTimer = undefined;\n }\n\n this.setupRetries = 0; // Reset retry counter\n }\n\n /**\n * Handles scroll events to update fixed column shadow state.\n * Updates the tableScrolling state to control CSS classes for fixed column shadows.\n * @private\n */\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n try {\n this.tableScrolling = this.scrollContainer.scrollLeft > 0;\n } catch (error) {\n console.warn('Scroll handler error:', error);\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.cellAlign) {\n classNames.push(`pds-table-head-cell--align-${this.cellAlign}`);\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n part=\"head-cell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} part=\"sort-icon\" />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- System.register(["./p-Cxvdulqq.system.js","./p-BSkbMuB5.system.js"],(function(r){"use strict";var n,e,i,a,o;return{setters:[function(r){n=r.r;e=r.h;i=r.H},function(r){a=r.c;o=r.u}],execute:function(){var t=":host{display:inline-block}div{--color-background-container:var(--pine-color-mercury-050);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-dimension-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-none)}.pds-avatar__button:focus-visible{outline:var(--pine-outline-focus)}.pds-avatar__badge{background-color:var(--pine-color-background-container);border:var(--pine-border);border-color:var(--pine-color-secondary);border-radius:var(--pine-border-radius-round);inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);position:absolute}img{border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}";var s=r("pds_avatar",function(){function r(r){var i=this;n(this,r);this.alt=null;this.badge=false;this.dropdown=false;this.image=null;this.size="lg";this.variant="customer";this.renderAssetWrapper=function(){var r={height:i.avatarSize(),width:i.avatarSize()};return e("div",{style:r,part:"asset-wrapper"},i.renderIconOrImage(),i.renderBadge())};this.renderAvatar=function(){return i.dropdown?e("button",{class:"pds-avatar__button",type:"button","aria-label":"Avatar dropdown trigger"},i.renderAssetWrapper()):i.renderAssetWrapper()};this.renderBadge=function(){return i.badge&&e("pds-icon",{color:"var(--pine-color-purple-600)",class:"pds-avatar__badge",icon:a,size:"33.53%"})};this.renderIconOrImage=function(){return i.image?e("img",{alt:i.alt,src:i.image}):e("pds-icon",{color:"var(--pine-color-mercury-500)",icon:o,size:"33.53%"})};this.classNames=function(){var r;return r={"pds-avatar":true},r["pds-avatar--has-image"]=i.image!==""&&i.image!==null,r["pds-avatar--".concat(i.variant)]=i.variant==="admin",r}}r.prototype.avatarSize=function(){var r={xs:"24px",sm:"32px",md:"40px",lg:"56px",xl:"64px"};if(r[this.size]){return r[this.size]}else{return this.size}};r.prototype.render=function(){return e(i,{key:"c19584898e4613085f6e6b8e227e7181eb4c8f1b",id:this.componentId,class:Object.assign({},this.classNames())},this.renderAvatar())};return r}());s.style=t}}}));
2
- //# sourceMappingURL=p-c63e7909.system.entry.js.map
1
+ System.register(["./p-Cxvdulqq.system.js","./p-BG99uNIQ.system.js"],(function(r){"use strict";var n,e,i,a,o;return{setters:[function(r){n=r.r;e=r.h;i=r.H},function(r){a=r.c;o=r.u}],execute:function(){var t=":host{display:inline-block}div{--color-background-container:var(--pine-color-mercury-050);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-dimension-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-none)}.pds-avatar__button:focus-visible{outline:var(--pine-outline-focus)}.pds-avatar__badge{background-color:var(--pine-color-background-container);border:var(--pine-border);border-color:var(--pine-color-secondary);border-radius:var(--pine-border-radius-round);inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);position:absolute}img{border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}";var s=r("pds_avatar",function(){function r(r){var i=this;n(this,r);this.alt=null;this.badge=false;this.dropdown=false;this.image=null;this.size="lg";this.variant="customer";this.renderAssetWrapper=function(){var r={height:i.avatarSize(),width:i.avatarSize()};return e("div",{style:r,part:"asset-wrapper"},i.renderIconOrImage(),i.renderBadge())};this.renderAvatar=function(){return i.dropdown?e("button",{class:"pds-avatar__button",type:"button","aria-label":"Avatar dropdown trigger"},i.renderAssetWrapper()):i.renderAssetWrapper()};this.renderBadge=function(){return i.badge&&e("pds-icon",{color:"var(--pine-color-purple-600)",class:"pds-avatar__badge",icon:a,size:"33.53%"})};this.renderIconOrImage=function(){return i.image?e("img",{alt:i.alt,src:i.image}):e("pds-icon",{color:"var(--pine-color-mercury-500)",icon:o,size:"33.53%"})};this.classNames=function(){var r;return r={"pds-avatar":true},r["pds-avatar--has-image"]=i.image!==""&&i.image!==null,r["pds-avatar--".concat(i.variant)]=i.variant==="admin",r}}r.prototype.avatarSize=function(){var r={xs:"24px",sm:"32px",md:"40px",lg:"56px",xl:"64px"};if(r[this.size]){return r[this.size]}else{return this.size}};r.prototype.render=function(){return e(i,{key:"c19584898e4613085f6e6b8e227e7181eb4c8f1b",id:this.componentId,class:Object.assign({},this.classNames())},this.renderAvatar())};return r}());s.style=t}}}));
2
+ //# sourceMappingURL=p-dace69e7.system.entry.js.map
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,i,o,r){function n(t){return t instanceof o?t:new o((function(i){i(t)}))}return new(o||(o=Promise))((function(o,e){function s(t){try{l(r.next(t))}catch(t){e(t)}}function a(t){try{l(r["throw"](t))}catch(t){e(t)}}function l(t){t.done?o(t.value):n(t.value).then(s,a)}l((r=r.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var o={label:0,sent:function(){if(e[0]&1)throw e[1];return e[1]},trys:[],ops:[]},r,n,e,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(i){return l([t,i])}}function l(a){if(r)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(o=0)),o)try{if(r=1,n&&(e=a[0]&2?n["return"]:a[0]?n["throw"]||((e=n["return"])&&e.call(n),0):n.next)&&!(e=e.call(n,a[1])).done)return e;if(n=0,e)a=[a[0]&2,e.value];switch(a[0]){case 0:case 1:e=a;break;case 4:o.label++;return{value:a[1],done:false};case 5:o.label++;n=a[1];a=[0];continue;case 7:a=o.ops.pop();o.trys.pop();continue;default:if(!(e=o.trys,e=e.length>0&&e[e.length-1])&&(a[0]===6||a[0]===2)){o=0;continue}if(a[0]===3&&(!e||a[1]>e[0]&&a[1]<e[3])){o.label=a[1];break}if(a[0]===6&&o.label<e[1]){o.label=e[1];e=a;break}if(e&&o.label<e[2]){o.label=e[2];o.ops.push(a);break}if(e[2])o.ops.pop();o.trys.pop();continue}a=i.call(t,o)}catch(t){a=[6,t];n=0}finally{r=e=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-Cxvdulqq.system.js","./p-BOmQOnQe.system.js"],(function(t){"use strict";var i,o,r,n,e,s,a,l,p;return{setters:[function(t){i=t.r;o=t.h;r=t.H;n=t.g},function(t){e=t.c;s=t.a;a=t.o;l=t.f;p=t.s}],execute:function(){var d='.pds-tooltip{--tooltip-border-width-arrow-down:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-left:var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;--tooltip-border-width-arrow-right:var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-border-width-arrow-up:0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);--tooltip-sizing-arrow:6px;--tooltip-sizing-arrow-offset:14px;--tooltip-dimension-max-width:320px}.pds-tooltip__content{background-color:var(--pine-color-primary);border-radius:calc(var(--pine-dimension-xs) * 1.25);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);color:var(--pine-color-text-primary);max-width:var(--tooltip-dimension-max-width);opacity:0;padding:var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.pds-tooltip--is-open .pds-tooltip__content{opacity:1;visibility:visible;z-index:var(--pine-z-index-raised)}.pds-tooltip.pds-tooltip--has-html-content .pds-tooltip__content{width:auto}.pds-tooltip__content::after{border-color:transparent;border-right-color:transparent;border-style:solid;border-width:var(--tooltip-border-width-arrow-left);content:"";height:0;position:absolute;width:0}.pds-tooltip--right .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--right-end .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);bottom:var(--tooltip-sizing-arrow-offset);left:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--right-start .pds-tooltip__content::after{border-inline-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-left);left:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--top .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:50%;top:initial;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--top-start .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--top-end .pds-tooltip__content::after{border-block-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-down);bottom:calc(var(--tooltip-sizing-arrow) * -1);left:initial;right:var(--tooltip-sizing-arrow-offset);top:initial}.pds-tooltip--left .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.pds-tooltip--left-end .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);bottom:var(--tooltip-sizing-arrow-offset);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:initial}.pds-tooltip--left-start .pds-tooltip__content::after{border-inline-start-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-right);left:initial;right:calc(var(--tooltip-sizing-arrow) * -1);top:var(--tooltip-sizing-arrow-offset)}.pds-tooltip--bottom .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:50%;top:calc(var(--tooltip-sizing-arrow) * -1);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pds-tooltip--bottom-end .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:initial;right:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--bottom-start .pds-tooltip__content::after{border-block-end-color:var(--pine-color-primary);border-width:var(--tooltip-border-width-arrow-up);left:var(--tooltip-sizing-arrow-offset);top:calc(var(--tooltip-sizing-arrow) * -1)}.pds-tooltip--no-arrow .pds-tooltip__content::after{border-width:0}';var h=t("pds_tooltip",function(){function t(t){var o=this;i(this,t);this._isInteractiveOpen=false;this.portalEl=null;this.resolvedPlacement="right";this.triggerEl=null;this.contentDiv=null;this.slotMutationObserver=null;this.currentPathname="";this.pathnameCheckInterval=null;this.stopAutoUpdate=null;this.hasArrow=true;this.htmlContent=false;this.placement="right";this.maxWidth="352px";this.opened=false;this.handleHide=function(){if(o.opened&&!o._isInteractiveOpen){return}o.hideTooltip();o._isInteractiveOpen=false};this.handleShow=function(){if(o.opened&&!o._isInteractiveOpen){return}o._isInteractiveOpen=true;o.showTooltip()};this.handlePageShow=function(){if(o.opened&&!o._isInteractiveOpen){return}o.opened=false;o._isInteractiveOpen=false};this.handleSpaNavigation=function(){if(o.opened&&!o._isInteractiveOpen){return}o.hideTooltip();o._isInteractiveOpen=false};this.checkPathnameChange=function(){if(window.location.pathname!==o.currentPathname){o.currentPathname=window.location.pathname;o.handleSpaNavigation()}}}t.prototype.handleOpenToggle=function(t,i){if(t===false&&i===true){this._isInteractiveOpen=false}};t.prototype.componentWillLoad=function(){this._isInteractiveOpen=false;this.resolvedPlacement=this.placement};t.prototype.componentDidLoad=function(){var t=this;window.addEventListener("pageshow",this.handlePageShow);this.currentPathname=window.location.pathname;this.triggerEl=this.el.querySelector(".pds-tooltip__trigger");var i=this.el.querySelector(".pds-tooltip__content-slot-wrapper");if(i!==null){this.slotMutationObserver=new MutationObserver((function(){if(t.opened&&t.portalEl!==null){t.removePortal();t.createPortal()}}));this.slotMutationObserver.observe(i,{childList:true,subtree:false})}};t.prototype.disconnectedCallback=function(){window.removeEventListener("pageshow",this.handlePageShow);if(this.slotMutationObserver!==null){this.slotMutationObserver.disconnect();this.slotMutationObserver=null}if(this.portalEl!==null){this.removePortal()}if(this.pathnameCheckInterval!==null){clearInterval(this.pathnameCheckInterval);this.pathnameCheckInterval=null}if(this.stopAutoUpdate!==null){this.stopAutoUpdate();this.stopAutoUpdate=null}};t.prototype.componentDidRender=function(){if(this.opened&&this.portalEl===null){this.createPortal()}else if(!this.opened&&this.portalEl!==null){this.removePortal()}if(this.portalEl!==null){this.portalEl.className="pds-tooltip pds-tooltip--".concat(this.resolvedPlacement," ").concat(this.htmlContent?"pds-tooltip--has-html-content":""," ").concat(this.opened?"pds-tooltip--is-open":""," ").concat(this.hasArrow?"":"pds-tooltip--no-arrow");this.portalEl.setAttribute("aria-hidden",this.opened?"false":"true");this.portalEl.setAttribute("aria-live",this.opened?"polite":"off")}};t.prototype.showTooltip=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.opened=true;return[2]}))}))};t.prototype.hideTooltip=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.opened=false;return[2]}))}))};t.prototype.determinePositioningAnchor=function(){var t=this.triggerEl;if(this.triggerEl!==null){var i=this.triggerEl.childNodes;for(var o=0;o<i.length;o++){var r=i[o];if(r.nodeType===Node.ELEMENT_NODE){t=r;break}}}return t};t.prototype.repositionPortal=function(){return __awaiter(this,void 0,void 0,(function(){var t,i,o,r,n,s,d;return __generator(this,(function(h){switch(h.label){case 0:t=this.determinePositioningAnchor();if(!(t!==null&&this.portalEl!==null))return[3,4];h.label=1;case 1:h.trys.push([1,3,,4]);return[4,e(t,this.portalEl,{placement:this.placement,strategy:"fixed",middleware:[a(8),l(),p({padding:5})]})];case 2:i=h.sent(),o=i.x,r=i.y,n=i.placement;this.resolvedPlacement=n;Object.assign(this.portalEl.style,{left:"".concat(o,"px"),top:"".concat(r,"px"),position:"fixed"});this.portalEl.className="pds-tooltip pds-tooltip--".concat(this.resolvedPlacement," ").concat(this.htmlContent?"pds-tooltip--has-html-content":""," ").concat(this.opened?"pds-tooltip--is-open":""," ").concat(this.hasArrow?"":"pds-tooltip--no-arrow");return[3,4];case 3:s=h.sent();console.warn("Failed to position tooltip:",s);this.resolvedPlacement=this.placement;d=t.getBoundingClientRect();this.portalEl.style.left="".concat(d.right+8,"px");this.portalEl.style.top="".concat(d.top,"px");this.portalEl.style.position="fixed";return[3,4];case 4:return[2]}}))}))};t.prototype.createPortal=function(){var t=this;if(this.portalEl!==null)return;this.portalEl=document.createElement("div");this.portalEl.className="pds-tooltip pds-tooltip--".concat(this.resolvedPlacement," ").concat(this.htmlContent?"pds-tooltip--has-html-content":""," ").concat(this.opened?"pds-tooltip--is-open":""," ").concat(this.hasArrow?"":"pds-tooltip--no-arrow");this.portalEl.style.position="fixed";this.portalEl.style.zIndex="var(--pine-z-index-nuclear)";if(this.portalEl.id===""){var i=h.instanceCounter++;var o=this.componentId||this.el.id||"pds-tooltip";this.portalEl.id="".concat(o,"-portal-").concat(i)}if(this.portalEl.getAttribute("id")!==this.portalEl.id){this.portalEl.setAttribute("id",this.portalEl.id)}this.portalEl.setAttribute("role","tooltip");this.portalEl.setAttribute("aria-hidden",this.opened?"false":"true");this.portalEl.setAttribute("aria-live",this.opened?"polite":"off");this.portalEl.style.maxWidth=this.maxWidth;this.contentDiv=document.createElement("div");this.contentDiv.className="pds-tooltip__content";this.contentDiv.setAttribute("aria-hidden",this.opened?"false":"true");this.contentDiv.setAttribute("aria-live",this.opened?"polite":"off");var r=this.el.querySelector(".pds-tooltip__content-slot-wrapper");var n=r===null||r===void 0?void 0:r.querySelector('[slot="content"]');var e=false;if(n!==null){var a=Array.from(n.childNodes);if(a.length>0){var l=a.some((function(t){var i;return t.nodeType===Node.ELEMENT_NODE||t.nodeType===Node.TEXT_NODE&&((i=t.textContent)===null||i===void 0?void 0:i.trim())!==""}));if(l){e=true;a.forEach((function(i){var o;if(i.nodeType===Node.ELEMENT_NODE||i.nodeType===Node.TEXT_NODE&&((o=i.textContent)===null||o===void 0?void 0:o.trim())!==""){t.contentDiv.appendChild(i.cloneNode(true))}}))}}}if(!e&&typeof this.content==="string"&&this.content.trim()!==""){this.contentDiv.textContent=this.content}this.portalEl.appendChild(this.contentDiv);document.body.appendChild(this.portalEl);this.repositionPortal().catch((function(t){console.warn("Failed to position tooltip on creation:",t)}));if(this.triggerEl&&this.portalEl){this.stopAutoUpdate=s(this.triggerEl,this.portalEl,(function(){t.repositionPortal().catch((function(t){console.warn("Failed to reposition tooltip on auto update:",t)}))}))}window.addEventListener("popstate",this.handleSpaNavigation,true);window.addEventListener("hashchange",this.handleSpaNavigation,true);this.pathnameCheckInterval=setInterval(this.checkPathnameChange,100);if(this.triggerEl!==null&&this.portalEl.id!==""){this.triggerEl.setAttribute("aria-describedby",this.portalEl.id)}};t.prototype.removePortal=function(){if(this.stopAutoUpdate!==null){this.stopAutoUpdate();this.stopAutoUpdate=null}if(this.pathnameCheckInterval!==null){clearInterval(this.pathnameCheckInterval);this.pathnameCheckInterval=null}if(this.portalEl!==null){window.removeEventListener("popstate",this.handleSpaNavigation,true);window.removeEventListener("hashchange",this.handleSpaNavigation,true);try{if(this.portalEl.parentNode){this.portalEl.parentNode.removeChild(this.portalEl)}}catch(t){console.warn("Portal element could not be removed from DOM:",t)}this.portalEl=null}if(this.triggerEl!==null){this.triggerEl.removeAttribute("aria-describedby")}this.contentDiv=null};t.prototype.render=function(){var t=this;var i=this.componentId||undefined;return o(r,{key:"ef40605b8ed95b1920caa425a021b900bdaef847",id:i,class:{"pds-tooltip--is-open":this.opened}},o("span",{key:"953a0ddd6070fa99e89307f6ddb9bacfa6932b5c",class:"pds-tooltip__trigger",onMouseEnter:this.handleShow,onMouseLeave:this.handleHide,onFocusin:this.handleShow,onFocusout:this.handleHide,ref:function(i){return t.triggerEl=i}},o("slot",{key:"9fa52468a1d99d4dd5af8a8c07d11b1591c5204c"})),o("div",{key:"c4dfe98893fc2abacff788177d1f143afb2aa502",class:"pds-tooltip__content-slot-wrapper",hidden:true},o("slot",{key:"468d06248f384f727517de3fd4c15af8d6e7b118",name:"content"})))};Object.defineProperty(t.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{opened:["handleOpenToggle"]}},enumerable:false,configurable:true});return t}());h.instanceCounter=0;h.style=d}}}));
2
+ //# sourceMappingURL=p-e34c1224.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsTooltipCss","PdsTooltip","exports","class_1","hostRef","_this","this","_isInteractiveOpen","portalEl","resolvedPlacement","triggerEl","contentDiv","slotMutationObserver","currentPathname","pathnameCheckInterval","stopAutoUpdate","hasArrow","htmlContent","placement","maxWidth","opened","handleHide","hideTooltip","handleShow","showTooltip","handlePageShow","handleSpaNavigation","checkPathnameChange","window","location","pathname","prototype","handleOpenToggle","newValue","oldValue","componentWillLoad","componentDidLoad","addEventListener","el","querySelector","contentSlotWrapper","MutationObserver","removePortal","createPortal","observe","childList","subtree","disconnectedCallback","removeEventListener","disconnect","clearInterval","componentDidRender","className","concat","setAttribute","determinePositioningAnchor","positioningAnchor","children","childNodes","i","length","childNode","nodeType","Node","ELEMENT_NODE","repositionPortal","anchor","computePosition","strategy","middleware","offset","flip","shift","padding","_b","_c","sent","x","y","computedPlacement","Object","assign","style","left","top","position","console","warn","error_1","anchorRect","getBoundingClientRect","right","document","createElement","zIndex","id","suffix","instanceCounter","baseId","componentId","getAttribute","slottedContentContainer","hasSlottedContent","childrenToClone","Array","from","hasMeaningfulNode","some","node","TEXT_NODE","_a","textContent","trim","forEach","appendChild","cloneNode","content","body","catch","error","autoUpdate","setInterval","parentNode","removeChild","removeAttribute","render","hostId","undefined","h","Host","key","class","onMouseEnter","onMouseLeave","onFocusin","onFocusout","ref","hidden","name"],"sources":["src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":[".pds-tooltip {\n --tooltip-border-width-arrow-down: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-left: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-right: var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-border-width-arrow-up: 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-sizing-arrow: 6px;\n --tooltip-sizing-arrow-offset: 14px;\n --tooltip-dimension-max-width: 320px;\n}\n\n.pds-tooltip__content {\n background-color: var(--pine-color-primary);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n max-width: var(--tooltip-dimension-max-width);\n opacity: 0;\n padding: var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: var(--pine-z-index-raised);\n }\n\n .pds-tooltip.pds-tooltip--has-html-content & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--tooltip-border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: 50%;\n top: calc(var(--tooltip-sizing-arrow) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrls: ['pds-tooltip.scss'],\n shadow: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private resolvedPlacement: PlacementType = 'right';\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private currentPathname: string = '';\n private pathnameCheckInterval: ReturnType<typeof setInterval> | null = null;\n private stopAutoUpdate: (() => void) | null = null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n /**\n * Sets the maximum width of the tooltip content\n * @defaultValue \"352px\"\n */\n @Prop() maxWidth: string = '352px';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n this.resolvedPlacement = this.placement;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.currentPathname = window.location.pathname;\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n // no return; Stencil ignores teardown functions here\n }\n\n disconnectedCallback() {\n window.removeEventListener('pageshow', this.handlePageShow);\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n this.slotMutationObserver = null;\n }\n // Ensure global listeners/intervals are removed if still present\n if (this.portalEl !== null) {\n this.removePortal();\n }\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n // Ensure autoUpdate is stopped if still present\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\n\n // Update portal class when opened state changes\n if (this.portalEl !== null) {\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n\n // Update ARIA attributes to stay in sync with visual open state\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n }\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private checkPathnameChange = () => {\n if (window.location.pathname !== this.currentPathname) {\n this.currentPathname = window.location.pathname;\n this.handleSpaNavigation();\n }\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position using floating UI.\n * Uses the determined anchor element and applies computePosition with flip, offset, and shift.\n */\n private async repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.portalEl !== null) {\n try {\n const { x, y, placement: computedPlacement } = await computePosition(anchor, this.portalEl, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(8), flip(), shift({ padding: 5 })],\n });\n\n this.resolvedPlacement = computedPlacement as PlacementType;\n\n Object.assign(this.portalEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n });\n\n // Update CSS classes to match the resolved placement\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n } catch (error) {\n console.warn('Failed to position tooltip:', error);\n this.resolvedPlacement = this.placement; // Fallback to requested placement\n // Fallback to basic positioning if floating UI fails\n const anchorRect = anchor.getBoundingClientRect();\n this.portalEl.style.left = `${anchorRect.right + 8}px`;\n this.portalEl.style.top = `${anchorRect.top}px`;\n this.portalEl.style.position = 'fixed';\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = 'var(--pine-z-index-nuclear)';\n\n if (this.portalEl.id === '') {\n const suffix = PdsTooltip.instanceCounter++;\n const baseId = this.componentId || this.el.id || 'pds-tooltip';\n this.portalEl.id = `${baseId}-portal-${suffix}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent && typeof this.content === 'string' && this.content.trim() !== '') {\n this.contentDiv.textContent = this.content;\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal().catch(error => {\n console.warn('Failed to position tooltip on creation:', error);\n });\n\n // Use Floating UI's autoUpdate to handle scroll/resize automatically\n if (this.triggerEl && this.portalEl) {\n this.stopAutoUpdate = autoUpdate(\n this.triggerEl,\n this.portalEl,\n () => {\n this.repositionPortal().catch(error => {\n console.warn('Failed to reposition tooltip on auto update:', error);\n });\n }\n );\n }\n\n // Keep only SPA navigation listeners (not handled by autoUpdate)\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Start pathname change detection\n this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n // Stop Floating UI's autoUpdate\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n\n // Stop pathname change detection\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n\n if (this.portalEl !== null) {\n // Remove only SPA navigation listeners (scroll/resize handled by autoUpdate)\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Safely remove portal from DOM\n try {\n if (this.portalEl.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n } catch (error) {\n // Portal might have already been removed by test cleanup\n console.warn('Portal element could not be removed from DOM:', error);\n }\n\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n /* focusin/out bubble; ensure keyboard users see tooltips */\n onFocusin={this.handleShow as any}\n onFocusout={this.handleHide as any}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" hidden>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-Cxvdulqq.system.js"],(function(t){"use strict";var i,s,a,e;return{setters:[function(t){i=t.r;s=t.h;a=t.H;e=t.g}],execute:function(){var n=":host{--tabs-dimension-panel-margin-top:var(--pine-dimension-none);--tabs-dimension-panel-padding:0;display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-md)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--pine-dimension-xs)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--pine-dimension-sm)}:host(.pds-tabs--pill) .pds-tabs__tablist{background-color:var(--pine-color-grey-100);border:var(--pine-border-width-thin) solid var(--pine-color-grey-200);border-radius:var(--pine-dimension-100);display:-ms-inline-flexbox;display:inline-flex;display:-ms-flexbox;display:flex;gap:0;height:var(--pine-dimension-450)}";var r=t("pds_tabs",function(){function t(t){i(this,t)}t.prototype.tabClickHandler=function(t){if(this.componentId===t.detail[1]){this.activeTabIndex=t.detail[0];this.activeTabName=this.tabs[this.activeTabIndex].name}};t.prototype.handleKeyDown=function(t){var i=["ArrowLeft","ArrowRight","Home","End"];var s=t.target;var a=s.closest("pds-tab");var e=a&&a.closest("pds-tabs")===this.el;if(i.includes(t.key)&&e){t.preventDefault();this.moveActiveTab(t.key)}};t.prototype.moveActiveTab=function(t){var i=0;var s=this.tabs.length-1;var a=null;switch(t){case"ArrowLeft":a=this.activeTabIndex===i?s:this.activeTabIndex+-1;break;case"ArrowRight":a=this.activeTabIndex===s?i:this.activeTabIndex+1;break;case"Home":a=i;break;case"End":a=s;break}this.tabs[a].children[0].focus();this.activeTabName=this.tabs[a].name;this.activeTabIndex=a};t.prototype.findAllChildren=function(){var t=this;var i=Array.from(this.el.querySelectorAll("pds-tab"));var s=Array.from(this.el.querySelectorAll("pds-tabpanel"));this.tabs=i.filter((function(i){return i.closest("pds-tabs")===t.el}));this.tabPanels=s.filter((function(i){return i.closest("pds-tabs")===t.el}))};t.prototype.propGeneration=function(t,i){if(i===void 0){i=0}t.parentComponentId=this.componentId.toString();t.variant=this.variant.toString();t.selected=this.activeTabName===t.name?true:false;t["index"]=i};t.prototype.passPropsToChildren=function(){var t=this;this.tabs.forEach((function(i,s){if(t.activeTabName===i.name)t.activeTabIndex=s;t.propGeneration(i,s)}));this.tabPanels.forEach((function(i){t.propGeneration(i)}))};t.prototype.classNames=function(){var t="pds-tabs";if(this.variant&&this.variant!="primary"){var i="pds-tabs--".concat(this.variant);t+=" "+i}return t};t.prototype.componentWillLoad=function(){this.findAllChildren()};t.prototype.componentWillRender=function(){this.passPropsToChildren()};t.prototype.render=function(){return s(a,{key:"89db4772ef4dab7f4dba38306b0fdf1ae55c8a9b","active-tab-name":this.activeTabName,class:this.classNames(),id:this.componentId},s("div",{key:"c1596be516168b0f2548b90344ad3bffcc5cb844",class:"pds-tabs__tablist",role:"tablist","aria-label":this.tablistLabel,part:"tab-list"},s("slot",{key:"be58f90ec895da67fc84eded670183151feb261f",name:"tabs"})),s("slot",{key:"24d3bed1750d8b64a8ffc9c86f517b5e8b15f615",name:"tabpanels"}))};Object.defineProperty(t.prototype,"el",{get:function(){return e(this)},enumerable:false,configurable:true});return t}());r.style=n}}}));
2
+ //# sourceMappingURL=p-e5adbf74.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsTabsCss","PdsTabs","exports","class_1","prototype","tabClickHandler","event","this","componentId","detail","activeTabIndex","activeTabName","tabs","name","handleKeyDown","ev","keySet","target","targetTab","closest","isOwnTab","el","includes","key","preventDefault","moveActiveTab","firstTabNumber","lastTabNumber","length","moveFocusTo","children","focus","findAllChildren","_this","allTabs","Array","from","querySelectorAll","allTabPanels","filter","tab","tabPanels","panel","propGeneration","child","index","parentComponentId","toString","variant","selected","passPropsToChildren","forEach","classNames","className","variantClassName","concat","componentWillLoad","componentWillRender","render","h","Host","class","id","role","tablistLabel","part"],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --tabs-dimension-panel-margin-top: Optional margin-top for panels\n */\n --tabs-dimension-panel-margin-top: var(--pine-dimension-none);\n /**\n * @prop --tabs-dimension-panel-padding: Optional padding for panels\n */\n --tabs-dimension-panel-padding: 0;\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--pine-dimension-md);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--pine-dimension-xs);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--pine-dimension-sm);\n}\n\n:host(.pds-tabs--pill) .pds-tabs__tablist {\n background-color: var(--pine-color-grey-100);\n border: var(--pine-border-width-thin) solid var(--pine-color-grey-200);\n border-radius: var(--pine-dimension-100);\n display: inline-flex;\n display: flex;\n gap: 0;\n height: var(--pine-dimension-450);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n * @part tab-list - Exposes the container element that holds all the tab buttons for styling.\n */\n@Component({\n tag: 'pds-tabs',\n styleUrls: ['pds-tabs.scss'],\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter' | 'pill';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n // Only handle keyboard navigation if the event originated from a tab button\n // that belongs to THIS tabs component\n const target = ev.target as HTMLElement;\n const targetTab = target.closest('pds-tab');\n\n // Check if the tab belongs to this tabs instance (not a nested one)\n const isOwnTab = targetTab && targetTab.closest('pds-tabs') === this.el;\n\n if (keySet.includes(ev.key) && isOwnTab) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n // Only select direct children tabs/tabpanels, not nested ones\n const allTabs = Array.from(this.el.querySelectorAll('pds-tab'));\n const allTabPanels = Array.from(this.el.querySelectorAll('pds-tabpanel'));\n\n // Filter to only include tabs that belong to this tabs component (not nested)\n this.tabs = allTabs.filter(tab => tab.closest('pds-tabs') === this.el);\n this.tabPanels = allTabPanels.filter(panel => panel.closest('pds-tabs') === this.el);\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel} part=\"tab-list\">\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,n,o){function i(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,s){function r(t){try{p(o.next(t))}catch(t){s(t)}}function d(t){try{p(o["throw"](t))}catch(t){s(t)}}function p(t){t.done?n(t.value):i(t.value).then(r,d)}p((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o,i,s,r;return r={next:d(0),throw:d(1),return:d(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function d(t){return function(e){return p([t,e])}}function p(d){if(o)throw new TypeError("Generator is already executing.");while(r&&(r=0,d[0]&&(n=0)),n)try{if(o=1,i&&(s=d[0]&2?i["return"]:d[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;if(i=0,s)d=[d[0]&2,s.value];switch(d[0]){case 0:case 1:s=d;break;case 4:n.label++;return{value:d[1],done:false};case 5:n.label++;i=d[1];d=[0];continue;case 7:d=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1];s=d;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(d);break}if(s[2])n.ops.pop();n.trys.pop();continue}d=e.call(t,n)}catch(t){d=[6,t];i=0}finally{o=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:true}}};System.register(["./p-Cxvdulqq.system.js","./p-BG99uNIQ.system.js"],(function(t){"use strict";var e,n,o,i,s;return{setters:[function(t){e=t.r;n=t.c;o=t.h;i=t.H},function(t){s=t.a}],execute:function(){var r=":host(.pds-copytext){--copytext-color-background-hover:var(--pine-color-grey-200)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--pine-color-secondary);border-radius:var(--pine-border-radius-full);border-width:var(--pine-dimension-none);display:-ms-inline-flexbox;display:inline-flex;font-family:var(--pine-font-family-heading);font-size:var(--pine-font-size-body-md);font-weight:var(--pine-font-weight-body-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);max-width:100%}:host(.pds-copytext) pds-button::part(button){padding-block:var(--pine-dimension-2xs);padding-inline:var(--pine-dimension-xs)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);color:var(--pine-color-text-secondary-hover)}:host(.pds-copytext) pds-button span{font-weight:var(--pine-font-weight-medium);-webkit-margin-end:var(--pine-dimension-xs);margin-inline-end:var(--pine-dimension-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border-width:var(--pine-dimension-none);padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button){padding:var(--pine-dimension-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button):hover{background-color:transparent}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-margin-end:var(--pine-dimension-sm);margin-inline-end:var(--pine-dimension-sm);padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--pine-border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-inline-flexbox;display:inline-flex;min-width:auto;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content),:host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text){-ms-flex-negative:1;flex-shrink:1;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span,:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{text-align:start;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{-ms-flex-pack:justify;justify-content:space-between}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-overflow:ellipsis}";var d=t("pds_copytext",function(){function t(t){var o=this;e(this,t);this.pdsCopyTextClick=n(this,"pdsCopyTextClick");this.border=true;this.fullWidth=false;this.truncate=false;this.copyToClipboard=function(t){return __awaiter(o,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);if(!(typeof navigator.clipboard!=="undefined"))return[3,2];return[4,navigator.clipboard.writeText(t)];case 1:n.sent();this.pdsCopyTextClick.emit("Copied to clipboard");n.label=2;case 2:return[3,4];case 3:e=n.sent();this.pdsCopyTextClick.emit("Error writing text to clipboard: ".concat(e));return[3,4];case 4:return[2]}}))}))};this.handleClick=function(){o.copyToClipboard(o.value)}}t.prototype.classNames=function(){var t=["pds-copytext"];if(this.border){t.push("pds-copytext--bordered")}if(this.fullWidth){t.push("pds-copytext--full-width")}if(this.truncate){t.push("pds-copytext--truncated")}return t.join(" ")};t.prototype.render=function(){return o(i,{key:"4e2807a9779817005eb3278473be655d7115923b",class:this.classNames(),id:this.componentId},o("pds-button",{key:"5a1ca42426b7c11e3bbc7667d42ba3aba8d9cc7d",type:"button",variant:"unstyled",onClick:this.handleClick},o("span",{key:"5d6be503f6a31e07af483134b4c3a5f8699f43c3"},this.value),o("pds-icon",{key:"6e1ad7232addedf1d34ed6a3fa1c8ddc11000ef3",icon:s,size:"16px"})))};return t}());d.style=r}}}));
2
+ //# sourceMappingURL=p-e6085566.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsCopytextCss","PdsCopytext","exports","class_1","hostRef","_this","this","border","fullWidth","truncate","copyToClipboard","value","__awaiter","navigator","clipboard","writeText","_a","sent","pdsCopyTextClick","emit","concat","err_1","handleClick","prototype","classNames","push","join","render","h","Host","key","class","id","componentId","type","variant","onClick","icon","copyIcon","size"],"sources":["src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":[":host(.pds-copytext) {\n // Update custom prop usage in Button before changing\n --copytext-color-background-hover: var(--pine-color-grey-200);\n\n\n pds-button {\n align-items: center;\n background: var(--pine-color-secondary);\n border-radius: var(--pine-border-radius-full);\n border-width: var(--pine-dimension-none);\n display: inline-flex;\n font-family: var(--pine-font-family-heading);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n max-width: 100%;\n\n &::part(button) {\n padding-block: var(--pine-dimension-2xs);\n padding-inline: var(--pine-dimension-xs);\n }\n\n &::part(button):hover {\n // Update custom prop usage in Button before changing\n background-color: var(--copytext-color-background-hover);\n color: var(--pine-color-text-secondary-hover);\n }\n\n span {\n font-weight: var(--pine-font-weight-medium);\n margin-inline-end: var(--pine-dimension-xs);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border-width: var(--pine-dimension-none);\n padding: var(--pine-dimension-none);\n\n pds-button {\n padding: var(--pine-dimension-none);\n\n &::part(button) {\n padding: var(--pine-dimension-none);\n }\n\n &::part(button):hover {\n background-color: transparent;\n }\n }\n\n span {\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n margin-inline-end: var(--pine-dimension-sm);\n padding-block: var(--pine-dimension-xs);\n padding-inline: var(--pine-dimension-sm);\n }\n\n :hover {\n span {\n border: var(--pine-border-hover);\n }\n }\n }\n\n // full width and truncated\n &:host(.pds-copytext--full-width),\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: inline-flex;\n min-width: auto;\n width: 100%;\n\n &::part(button-content),\n &::part(button-text) {\n flex-shrink: 1;\n width: 100%;\n }\n\n span {\n text-align: start;\n width: 100%;\n }\n }\n }\n\n // full width\n &:host(.pds-copytext--full-width) {\n pds-button {\n justify-content: space-between;\n }\n }\n\n // truncated\n &:host(.pds-copytext--truncated) {\n pds-button span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\n\nimport { copy as copyIcon } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-copytext',\n styleUrls: ['pds-copytext.scss'],\n shadow: true,\n})\nexport class PdsCopytext {\n /**\n * Determines whether `copytext` should have a visible border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * The string displayed that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n /**\n * Event fired when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (typeof navigator.clipboard !== 'undefined') {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span>{this.value}</span>\n <pds-icon icon={copyIcon} size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"],"mappings":"spDAAA,IAAMA,EAAiB,01F,ICSVC,EAAWC,EAAA,0BALxB,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,K,2DAU2BA,KAAMC,OAAG,KAW1BD,KAASE,UAAG,MAMZF,KAAQG,SAAG,MAYXH,KAAAI,gBAAkB,SAAOC,GAAa,OAAAC,UAAAP,OAAA,qB,oGAE/BQ,UAAUC,YAAc,aAA/B,YACF,SAAMD,UAAUC,UAAUC,UAAUJ,I,OAApCK,EAAAC,OACAX,KAAKY,iBAAiBC,KAAK,uB,+CAG7Bb,KAAKY,iBAAiBC,KAAK,oCAAAC,OAAoCC,I,qCAI3Df,KAAWgB,YAAG,WACpBjB,EAAKK,gBAAgBL,EAAKM,MAC5B,CA8BD,CA5BSR,EAAAoB,UAAAC,WAAA,WACN,IAAMA,EAAa,CAAC,gBAEpB,GAAIlB,KAAKC,OAAQ,CACfiB,EAAWC,KAAK,yB,CAGlB,GAAInB,KAAKE,UAAW,CAClBgB,EAAWC,KAAK,2B,CAGlB,GAAInB,KAAKG,SAAU,CACjBe,EAAWC,KAAK,0B,CAGlB,OAAOD,EAAWE,KAAK,I,EAGzBvB,EAAAoB,UAAAI,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOzB,KAAKkB,aAAcQ,GAAI1B,KAAK2B,aACvCL,EAAA,cAAAE,IAAA,2CAAYI,KAAK,SAASC,QAAQ,WAAWC,QAAS9B,KAAKgB,aACzDM,EAAO,QAAAE,IAAA,4CAAAxB,KAAKK,OACZiB,EAAU,YAAAE,IAAA,2CAAAO,KAAMC,EAAUC,KAAK,U,WAxEjB,I","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,i,o){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,n){function a(e){try{c(o.next(e))}catch(e){n(e)}}function s(e){try{c(o["throw"](e))}catch(e){n(e)}}function c(e){e.done?i(e.value):r(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,r,n,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return c([e,t])}}function c(s){if(o)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(i=0)),i)try{if(o=1,r&&(n=s[0]&2?r["return"]:s[0]?r["throw"]||((n=r["return"])&&n.call(r),0):r.next)&&!(n=n.call(r,s[1])).done)return n;if(r=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(n=i.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(s[0]===6&&i.label<n[1]){i.label=n[1];n=s;break}if(n&&i.label<n[2]){i.label=n[2];i.ops.push(s);break}if(n[2])i.ops.pop();i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e];r=0}finally{o=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-Cxvdulqq.system.js"],(function(e){"use strict";var t,i,o,r,n;return{setters:[function(e){t=e.r;i=e.c;o=e.h;r=e.H;n=e.g}],execute:function(){var a=":host{--sizing-max-width-default:352px;display:inline-block}:host [popover]{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200);margin:var(--pine-dimension-none);max-width:var(--sizing-max-width-default);padding:var(--pine-dimension-md);position:fixed}:host [popover]:popover-open:not(.pds-popover--positioned){visibility:hidden}:host button{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-secondary);border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--pine-color-text-secondary);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);font-family:var(--pine-font-family-heading);letter-spacing:var(--pine-letter-spacing);min-height:40px;padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}:host button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host button:hover{background-color:var(--pine-color-secondary-hover)}";var s=e("pds_popover",function(){function e(e){t(this,e);this.pdsPopoverOpen=i(this,"pdsPopoverOpen");this.pdsPopoverClose=i(this,"pdsPopoverClose");this.active=false;this.isComponentMounted=true;this.popoverTargetAction="show";this.popoverType="auto";this.maxWidth=352;this.placement="right"}e.prototype.componentDidLoad=function(){var e;var t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null){this.boundToggleHandler=this.handleToggle.bind(this);t.addEventListener("toggle",this.boundToggleHandler)}};e.prototype.disconnectedCallback=function(){var e;this.isComponentMounted=false;var t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null&&this.boundToggleHandler!=null){t.removeEventListener("toggle",this.boundToggleHandler)}};e.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null&&typeof t.showPopover==="function"){try{t.showPopover()}catch(e){console.warn("Failed to show popover:",e)}}return[2]}))}))};e.prototype.hide=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null&&typeof t.hidePopover==="function"){try{t.hidePopover()}catch(e){console.warn("Failed to hide popover:",e)}}return[2]}))}))};e.prototype.toggle=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null&&typeof t.togglePopover==="function"){try{t.togglePopover()}catch(e){console.warn("Failed to toggle popover:",e)}}return[2]}))}))};e.prototype.handleToggle=function(e){var t=this;var i;var o=e;var r={componentId:this.componentId,popoverType:this.popoverType,text:this.text};if(o.newState==="open"){this.active=true;var n=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("div[popover]");if(n!=null){n.classList.remove("pds-popover--positioned")}requestAnimationFrame((function(){if(!t.isComponentMounted)return;t.handlePopoverPositioning();if(n!=null){n.classList.add("pds-popover--positioned")}}));this.pdsPopoverOpen.emit(r)}else if(o.newState==="closed"){this.active=false;this.pdsPopoverClose.emit(r)}};e.prototype.handleScroll=function(){var e;var t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div[popover]");if(t!=null&&this.active===true){this.handlePopoverPositioning()}};e.prototype.handlePopoverPositioning=function(){var e=this.el.shadowRoot.querySelector(".pds-popover__trigger");var t=this.el.shadowRoot.querySelector("div[popover]");if(e==null||t==null)return;var i=e;var o=t;var r=i.getBoundingClientRect();var n=o.getBoundingClientRect();var a=0;var s=0;var c=8;switch(this.placement){case"top":a=r.top-n.height-c;s=r.left+(r.width-n.width)/2;break;case"top-start":a=r.top-n.height-c;s=r.left;break;case"top-end":a=r.top-n.height-c;s=r.right-n.width;break;case"right":a=r.top+(r.height-n.height)/2;s=r.right+c;break;case"right-start":a=r.top;s=r.right+c;break;case"right-end":a=r.bottom-n.height;s=r.right+c;break;case"bottom":a=r.bottom+c;s=r.left+(r.width-n.width)/2;break;case"bottom-start":a=r.bottom+c;s=r.left;break;case"bottom-end":a=r.bottom+c;s=r.right-n.width;break;case"left":a=r.top+(r.height-n.height)/2;s=r.left-n.width-c;break;case"left-start":a=r.top;s=r.left-n.width-c;break;case"left-end":a=r.bottom-n.height;s=r.left-n.width-c;break}o.style.top="".concat(a,"px");o.style.left="".concat(s,"px")};e.prototype.render=function(){return o(r,{key:"c3da1b2ab23b4678aeb2f7fdfe59383c1c5e6766"},o("button",{key:"d426d0c3145820c161858123cb71cdf92a6da3f6",class:"pds-popover__trigger",popoverTarget:this.componentId,popoverTargetAction:this.popoverTargetAction},this.text),o("div",{key:"aad97aedfc716085d1e7609649cc7aaeb7de7358",class:"pds-popover ".concat(this.active?"pds-popover--active":""),id:this.componentId,popover:this.popoverType,style:{maxWidth:"".concat(this.maxWidth,"px")}},o("slot",{key:"1b5dde4a0643ee6dbdf4116cc74fff8b188e498b"})))};Object.defineProperty(e.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});return e}());s.style=a}}}));
2
+ //# sourceMappingURL=p-e683e197.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsPopoverCss","PdsPopover","exports","class_1","hostRef","this","active","isComponentMounted","popoverTargetAction","popoverType","maxWidth","placement","prototype","componentDidLoad","popoverEl","_a","el","shadowRoot","querySelector","boundToggleHandler","handleToggle","bind","addEventListener","disconnectedCallback","removeEventListener","show","showPopover","e","console","warn","hide","hidePopover","toggle","togglePopover","event","_this","toggleEvent","eventDetail","componentId","text","newState","popoverEl_1","classList","remove","requestAnimationFrame","handlePopoverPositioning","add","pdsPopoverOpen","emit","pdsPopoverClose","handleScroll","triggerEl","triggerElement","popoverElement","triggerRect","getBoundingClientRect","popoverRect","top","left","offset","height","width","right","bottom","style","concat","render","h","Host","key","class","popoverTarget","id","popover"],"sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n\n // Hide popover initially to prevent flash before positioning\n // stylelint-disable-next-line selector-pseudo-class-no-unknown\n &:popover-open:not(.pds-popover--positioned) {\n visibility: hidden;\n }\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, h, Method, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport { PdsPopoverEventDetail, ToggleEvent } from './popover-interface';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Bound reference to the toggle handler for proper cleanup\n */\n private boundToggleHandler: (event: Event) => void;\n\n /**\n * Tracks if the component is still mounted to prevent memory leaks\n */\n private isComponentMounted = true;\n\n /**\n * Emitted when the popover is opened\n */\n @Event() pdsPopoverOpen: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Emitted when the popover is closed\n */\n @Event() pdsPopoverClose: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentDidLoad() {\n // Attach toggle event listener to the popover element\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null) {\n this.boundToggleHandler = this.handleToggle.bind(this);\n popoverEl.addEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n disconnectedCallback() {\n this.isComponentMounted = false;\n\n // Clean up event listener\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.boundToggleHandler != null) {\n popoverEl.removeEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n /**\n * Opens the popover programmatically\n */\n @Method()\n async show() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { showPopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.showPopover === 'function') {\n try {\n popoverEl.showPopover();\n } catch (e) {\n // Popover might already be open\n console.warn('Failed to show popover:', e);\n }\n }\n }\n\n /**\n * Closes the popover programmatically\n */\n @Method()\n async hide() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { hidePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.hidePopover === 'function') {\n try {\n popoverEl.hidePopover();\n } catch (e) {\n // Popover might already be closed\n console.warn('Failed to hide popover:', e);\n }\n }\n }\n\n /**\n * Toggles the popover open/closed state programmatically\n */\n @Method()\n async toggle() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { togglePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.togglePopover === 'function') {\n try {\n popoverEl.togglePopover();\n } catch (e) {\n console.warn('Failed to toggle popover:', e);\n }\n }\n }\n\n private handleToggle(event: Event) {\n const toggleEvent = event as ToggleEvent;\n\n // Prepare event detail\n const eventDetail: PdsPopoverEventDetail = {\n componentId: this.componentId,\n popoverType: this.popoverType,\n text: this.text,\n };\n\n // Update internal state based on native popover state\n if (toggleEvent.newState === 'open') {\n this.active = true;\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n\n // Remove positioned class to hide popover via CSS\n if (popoverEl != null) {\n popoverEl.classList.remove('pds-popover--positioned');\n }\n\n // Position after the browser has rendered the popover, then show it\n requestAnimationFrame(() => {\n // Prevent memory leak if component unmounts during animation frame\n if (!this.isComponentMounted) return;\n\n this.handlePopoverPositioning();\n if (popoverEl != null) {\n popoverEl.classList.add('pds-popover--positioned');\n }\n });\n this.pdsPopoverOpen.emit(eventDetail);\n } else if (toggleEvent.newState === 'closed') {\n this.active = false;\n this.pdsPopoverClose.emit(eventDetail);\n }\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n // Only reposition if the popover is actually open\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.active === true) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger');\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]');\n\n if (triggerEl == null || popoverEl == null) return;\n\n // Cast to HTMLElement after null check for proper typing\n const triggerElement = triggerEl as HTMLElement;\n const popoverElement = popoverEl as HTMLElement;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const popoverRect = popoverElement.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverElement.style.top = `${top}px`;\n popoverElement.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-Cxvdulqq.system.js","./p-BG6uGRQj.system.js","./p-BG99uNIQ.system.js"],(function(r){"use strict";var o,t,e,n,i,d,a,s;return{setters:[function(r){o=r.r;t=r.c;e=r.h;n=r.H;i=r.g},function(r){d=r.h},function(r){a=r.b;s=r.f}],execute:function(){var l=":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--pds-button-outline-offset:var(--pine-border-width);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) a,:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-radius:var(--pds-button-border-radius);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);-webkit-box-shadow:var(--pds-button-box-shadow-focus, none);box-shadow:var(--pds-button-box-shadow-focus, none);outline:var(--pds-button-outline-focus, var(--pine-outline-focus));outline-offset:var(--pds-button-outline-offset)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--filter{--color-background-default:var(--pine-color-white);--color-background-hover:var(--pine-color-grey-100);--color-background-disabled:var(--pine-color-white);--color-border-default:transparent;--color-border-hover:transparent;--color-border-focus:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-hover:var(--pine-color-text-hover);--color-text-disabled:var(--pine-color-text-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary);--pds-button-border-radius:var(--pine-dimension-125);--pds-button-border-radius-start-end:var(--pine-dimension-125);--pds-button-border-radius-start-start:var(--pine-dimension-125);--pds-button-border-radius-end-end:var(--pine-dimension-125);--pds-button-border-radius-end-start:var(--pine-dimension-125);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-button--filter:hover{color:var(--color-text-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";var c=r("pds_button",function(){function r(r){var e=this;o(this,r);this.pdsClick=t(this,"pdsClick");this.disabled=false;this.fullWidth=false;this.icon=null;this.iconOnly=false;this.loading=false;this.type="button";this.variant="primary";this.handleClick=function(r){if(e.loading){r.preventDefault();return}if(e.disabled){r.preventDefault();return}if(!e.href&&e.type!="button"){if(d(e.el)){var o=e.el.closest("form");if(o){r.preventDefault();var t=document.createElement("button");t.type=e.type;t.style.display="none";o.appendChild(t);t.click();t.remove()}}}e.pdsClick.emit(r)}}r.prototype.handleFormKeyDown=function(r){if(r.key!=="Enter"||this.type!=="submit"||this.href||this.disabled){return}var o=r.target;if(!o||typeof o.matches!=="function"){return}var t=this.el.closest("form");if(!t||!o||!t.contains(o)){return}var e=o.matches('input:not([type="submit"]):not([type="button"]):not([type="reset"])')||o.matches("pds-input")||o.matches("pds-select")||o.matches("pds-switch")||o.matches("pds-checkbox")||o.matches("pds-radio");if(e){var n=Array.from(t.querySelectorAll('pds-button, button[type="submit"], input[type="submit"]'));var i=n.filter((function(r){if(r.tagName.toLowerCase()==="pds-button"){var o=r;return o.type==="submit"&&!o.disabled}else{return!r.hasAttribute("disabled")}}));if(i.length>0&&i[0]===this.el){r.preventDefault();this.el.click()}}};r.prototype.classNames=function(){var r=["pds-button"];if(this.variant){r.push("pds-button--"+this.variant)}if(this.iconOnly){r.push("pds-button--icon-only")}if(this.loading){r.push("pds-button--loading")}return r.join(" ")};r.prototype.hasSlotContent=function(r){var o=this.el.querySelectorAll('[slot="'.concat(r,'"]'));return o.length>0};r.prototype.renderStartContent=function(){var r=this.icon&&this.variant!=="disclosure"&&this.variant!=="filter";var o=this.hasSlotContent("start");if(this.variant==="filter"){return e("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:a,part:"icon","aria-hidden":"true"})}else if(Boolean(r)){return e("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",name:this.icon,part:"icon","aria-hidden":"true"})}else if(Boolean(o)){return e("span",{class:"pds-button__icon ".concat(this.loading?"pds-button__icon--hidden":"")},e("slot",{name:"start"}))}return null};r.prototype.renderEndContent=function(){if(this.iconOnly){return null}if(this.variant==="disclosure"){return e("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:s,part:"caret","aria-hidden":"true"})}else if(this.hasSlotContent("end")){return e("span",{class:"pds-button__icon ".concat(this.loading?"pds-button__icon--hidden":"")},e("slot",{name:"end"}))}return null};r.prototype.render=function(){var r=this;var o={class:this.classNames(),part:"button"};var t=function(){if(r.href){return Object.assign(Object.assign({},o),{href:r.disabled?null:r.href,target:r.target})}return Object.assign(Object.assign({},o),{"aria-busy":r.loading?"true":null,"aria-live":r.loading?"polite":null,disabled:r.disabled,name:r.name,type:r.type,value:r.value})};var i=this.href?"a":"button";var d=this.loading||this.iconOnly;var a=e("div",{class:"pds-button__content",part:"button-content"},this.renderStartContent(),e("span",{class:"pds-button__text ".concat(d?"pds-button__text--hidden":""),part:"button-text"},e("slot",null)),this.loading&&e("span",{class:"pds-button__loader"},e("pds-loader",{"is-loading":true,size:"var(--pine-font-size-body-2xl)",variant:"spinner",exportparts:"loader-svg"},"Loading...")),this.renderEndContent());return e(n,{"aria-disabled":this.disabled?"true":null,id:this.componentId,onClick:this.handleClick,variant:this.variant},e(i,Object.assign({},t()),a))};Object.defineProperty(r.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});return r}());c.style=l}}}));
2
+ //# sourceMappingURL=p-e6b051e8.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pdsButtonCss","PdsButton","exports","class_1","hostRef","_this","this","disabled","fullWidth","icon","iconOnly","loading","type","variant","handleClick","ev","preventDefault","href","hasShadowDom","el","form","closest","fakeButton","document","createElement","style","display","appendChild","click","remove","pdsClick","emit","prototype","handleFormKeyDown","event","key","target","matches","contains","isFormInput","allSubmitButtons","Array","from","querySelectorAll","enabledSubmitButtons","filter","button","tagName","toLowerCase","pdsButton","hasAttribute","length","classNames","push","join","hasSlotContent","slotName","elements","concat","renderStartContent","hasIcon","hasStartSlot","h","class","addCircle","part","Boolean","name","renderEndContent","caretDown","render","commonProps","attributes","Object","assign","value","ContentElement","hideText","content","size","exportparts","Host","id","componentId","onClick"],"sources":["src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":[":host {\n --pds-button-background: var(--color-background-default);\n --pds-button-border: var(--pine-border);\n --pds-button-border-radius: var(--pine-border-radius-full);\n --pds-button-border-radius-start-end: var(--pine-border-radius-full);\n --pds-button-border-radius-start-start: var(--pine-border-radius-full);\n --pds-button-border-radius-end-end: var(--pine-border-radius-full);\n --pds-button-border-radius-end-start: var(--pine-border-radius-full);\n --pds-button-min-height: var(--pine-dimension-450);\n --pds-button-outline-offset: var(--pine-border-width);\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n --button-loader-color: var(--color-text-default);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n:host([full-width=\"true\"]) {\n display: flex;\n width: 100%;\n\n a,\n button {\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__content {\n justify-content: center;\n text-align: center;\n }\n}\n\n:host([loading=\"true\"]) {\n cursor: wait;\n pointer-events: none;\n}\n\n:host([disabled=\"true\"]) {\n pointer-events: none;\n}\n\n.pds-button {\n --pds-loader-color: var(--color-text-default);\n align-items: center;\n background-color: var(--pds-button-background, var(--color-background-default));\n border: var(--pds-button-border);\n border-color: var(--color-border-default);\n border-radius: var(--pds-button-border-radius);\n /* stylelint-disable-next-line order/properties-alphabetical-order */\n border-end-end-radius: var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));\n border-end-start-radius: var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));\n border-start-end-radius: var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));\n border-start-start-radius: var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));\n box-sizing: border-box;\n color: var(--color-text-default);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body-brand-label);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-button-min-height);\n padding: calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);\n position: relative;\n text-decoration: none;\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n border-color: var(--color-border-focus);\n box-shadow: var(--pds-button-box-shadow-focus, none);\n outline: var(--pds-button-outline-focus, var(--pine-outline-focus));\n outline-offset: var(--pds-button-outline-offset);\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n pointer-events: none;\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--pine-color-primary);\n --color-background-hover: var(--pine-color-primary-hover);\n --color-background-disabled: var(--pine-color-primary-disabled);\n --color-border-default: var(--pine-color-primary);\n --color-border-hover: var(--pine-color-primary-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-primary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--pine-color-accent);\n --color-background-hover: var(--pine-color-accent-hover);\n --color-background-disabled: var(--pine-color-accent-disabled);\n --color-border-default: var(--pine-color-accent);\n --color-border-hover: var(--pine-color-accent-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-accent-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--pine-color-danger);\n --color-background-hover: var(--pine-color-danger-hover);\n --color-background-disabled: var(--pine-color-danger-disabled);\n --color-border-default: var(--pine-color-danger);\n --color-border-hover: var(--pine-color-danger-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-danger-disabled);\n --color-outline: var(--pine-color-focus-ring-danger);\n --button-loader-color: var(--pine-color-text-primary);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: var(--pine-color-secondary);\n --color-background-hover: var(--pine-color-secondary-hover);\n --color-background-disabled: var(--pine-color-secondary-disabled);\n --color-border-disabled: var(--pine-color-border-disabled);\n --color-border-focus: var(--pine-color-border);\n --color-border-hover: var(--pine-color-border-hover);\n --color-border-default: var(--pine-color-border);\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-disabled: var(--pine-color-text-secondary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n}\n\n.pds-button--filter {\n --color-background-default: var(--pine-color-white);\n --color-background-hover: var(--pine-color-grey-100);\n --color-background-disabled: var(--pine-color-white);\n --color-border-default: transparent;\n --color-border-hover: transparent;\n --color-border-focus: transparent;\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-hover: var(--pine-color-text-hover);\n --color-text-disabled: var(--pine-color-text-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n --pds-button-border-radius: var(--pine-dimension-125);\n --pds-button-border-radius-start-end: var(--pine-dimension-125);\n --pds-button-border-radius-start-start: var(--pine-dimension-125);\n --pds-button-border-radius-end-end: var(--pine-dimension-125);\n --pds-button-border-radius-end-start: var(--pine-dimension-125);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:hover {\n color: var(--color-text-hover);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n --button-loader-color: inherit;\n border-width: var(--pine-dimension-none);\n margin: var(--pine-dimension-none);\n min-height: auto;\n padding: var(--pine-dimension-none);\n width: inherit;\n}\n\n.pds-button__content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n.pds-button__icon {\n display: inline-flex;\n}\n\n.pds-button__text {\n align-items: center;\n display: inline-flex;\n white-space: nowrap;\n}\n\n.pds-button__icon--hidden,\n.pds-button__text--hidden {\n opacity: 0;\n}\n\n.pds-button__loader {\n height: var(--pine-dimension-250);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--pine-dimension-250);\n}\n\n.pds-button--loading {\n cursor: wait;\n pointer-events: none;\n\n .pds-button__loader {\n pds-loader {\n --loader-color: var(--button-loader-color);\n }\n }\n}\n\n.pds-button--icon-only {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n height: var(--button-dimension);\n justify-content: center;\n min-height: var(--button-dimension);\n min-width: var(--button-dimension);\n padding: var(--pine-dimension-xs);\n width: var(--button-dimension);\n\n .pds-button__content {\n height: 100%;\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__text--hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Listen, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown, addCircle } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @part loader-svg - Exposes the loader SVG element for color customization. Appears only when loading.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' | 'filter' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n /**\n * Listen for Enter key presses on form inputs to trigger submit\n */\n @Listen('keydown', { target: 'body' })\n\n handleFormKeyDown(event: KeyboardEvent) {\n // Only handle Enter key for submit buttons that are not disabled\n if (event.key !== 'Enter' || this.type !== 'submit' || this.href || this.disabled) {\n return;\n }\n\n const target = event.target as Element;\n\n // Ensure event.target is an Element with matches method before proceeding\n if (!target || typeof target.matches !== 'function') {\n return;\n }\n const form = this.el.closest('form');\n\n // Check if the Enter key was pressed in a form input within the same form\n if (!form || !target || !form.contains(target)) {\n return;\n }\n\n // Check if target is a form input element (exclude reset buttons)\n const isFormInput = target.matches('input:not([type=\"submit\"]):not([type=\"button\"]):not([type=\"reset\"])') ||\n target.matches('pds-input') ||\n target.matches('pds-select') ||\n target.matches('pds-switch') ||\n target.matches('pds-checkbox') ||\n target.matches('pds-radio');\n\n if (isFormInput) {\n // Find all submit buttons in the form and check their actual properties\n const allSubmitButtons = Array.from(form.querySelectorAll('pds-button, button[type=\"submit\"], input[type=\"submit\"]'));\n const enabledSubmitButtons = allSubmitButtons.filter(button => {\n if (button.tagName.toLowerCase() === 'pds-button') {\n const pdsButton = button as HTMLPdsButtonElement;\n return pdsButton.type === 'submit' && !pdsButton.disabled;\n } else {\n return !button.hasAttribute('disabled');\n }\n });\n\n // Only synthesize click if this button is strictly the first enabled submit button\n if (enabledSubmitButtons.length > 0 && enabledSubmitButtons[0] === this.el) {\n event.preventDefault();\n this.el.click();\n }\n }\n }\n\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n // Prevent form submission for disabled buttons\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && this.type != 'button') {\n // Handle form submission for Shadow DOM buttons\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n this.pdsClick.emit(ev);\n };\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private hasSlotContent(slotName: string): boolean {\n const elements = this.el.querySelectorAll(`[slot=\"${slotName}\"]`);\n return elements.length > 0;\n }\n\n private renderStartContent() {\n const hasIcon = this.icon && this.variant !== 'disclosure' && this.variant !== 'filter';\n const hasStartSlot = this.hasSlotContent('start');\n\n if (this.variant === 'filter') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={addCircle} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasStartSlot)) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"start\" /></span>;\n }\n\n return null;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (this.hasSlotContent('end')) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"end\" /></span>;\n }\n\n return null;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\" exportparts=\"loader-svg\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- System.register(["./p-Cxvdulqq.system.js","./p-BG6uGRQj.system.js","./p-BSkbMuB5.system.js"],(function(i){"use strict";var n,e,o,r;return{setters:[function(i){n=i.r;e=i.h},function(i){o=i.s},function(i){r=i.l}],execute:function(){var s=":host{display:inline}:host pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color, var(--pine-color-text));display:-ms-inline-flexbox;display:inline-flex;font-weight:var(--pine-font-weight-medium)}.pds-link:focus-visible{border-radius:var(--pine-dimension-2xs);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick);position:relative}.pds-link:hover{color:var(--color, var(--pine-color-text-hover));text-decoration:none}:host([color=secondary]) .pds-link{color:var(--pine-color-text-primary)}:host([color=secondary]) .pds-link:hover{color:var(--pine-color-grey-150)}:host([color=accent]) .pds-link{color:var(--pine-color-accent)}:host([color=accent]) .pds-link:hover{color:var(--pine-color-accent-hover)}:host([color=danger]) .pds-link{color:var(--pine-color-danger)}:host([color=danger]) .pds-link:hover{color:var(--pine-color-danger-hover)}.pds-link--sm{font-size:var(--pine-font-size-body-xs)}.pds-link--sm pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--md{font-size:var(--pine-font-size-body-sm)}.pds-link--md pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--lg{font-size:var(--pine-font-size-body-md)}.pds-link--lg pds-icon{height:var(--pine-dimension-sm);width:var(--pine-dimension-sm)}.pds-link--plain{text-decoration:none}.pds-link--plain:hover{color:var(--pine-color-text-hover);text-decoration:underline}";var t=i("pds_link",function(){function i(i){n(this,i);this.external=false;this.variant="inline";this.fontSize="lg"}i.prototype.classNames=function(){var i=["pds-link"];if(this.fontSize){i.push("pds-link--"+this.fontSize)}if(this.variant){i.push("pds-link--"+this.variant)}return i.join(" ")};i.prototype.setLinkStyles=function(){if(!this.color)return;var i={secondary:"var(--pine-color-text-primary)",accent:"var(--pine-color-accent)",danger:"var(--pine-color-danger)"};var n=o(this.color,i);return n};i.prototype.render=function(){return e("a",{key:"41fb1adaf85b50054f6ea67e96a36d221a00a5b7",class:this.classNames(),href:this.href,id:this.componentId,part:"link",target:this.external?"_blank":undefined,style:this.setLinkStyles()},e("slot",{key:"189205c07159e481e26d74db98b34e1d37edd8b5"},this.href),this.external&&e("pds-icon",{key:"19fc60fe515fa53b22ad770c5d8f52ef42d16fd5",icon:r,size:this.fontSize}))};return i}());t.style=s}}}));
2
- //# sourceMappingURL=p-ab4307c7.system.entry.js.map
1
+ System.register(["./p-Cxvdulqq.system.js","./p-BG6uGRQj.system.js","./p-BG99uNIQ.system.js"],(function(i){"use strict";var n,e,o,r;return{setters:[function(i){n=i.r;e=i.h},function(i){o=i.s},function(i){r=i.l}],execute:function(){var s=":host{display:inline}:host pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color, var(--pine-color-text));display:-ms-inline-flexbox;display:inline-flex;font-weight:var(--pine-font-weight-medium)}.pds-link:focus-visible{border-radius:var(--pine-dimension-2xs);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick);position:relative}.pds-link:hover{color:var(--color, var(--pine-color-text-hover));text-decoration:none}:host([color=secondary]) .pds-link{color:var(--pine-color-text-primary)}:host([color=secondary]) .pds-link:hover{color:var(--pine-color-grey-150)}:host([color=accent]) .pds-link{color:var(--pine-color-accent)}:host([color=accent]) .pds-link:hover{color:var(--pine-color-accent-hover)}:host([color=danger]) .pds-link{color:var(--pine-color-danger)}:host([color=danger]) .pds-link:hover{color:var(--pine-color-danger-hover)}.pds-link--sm{font-size:var(--pine-font-size-body-xs)}.pds-link--sm pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--md{font-size:var(--pine-font-size-body-sm)}.pds-link--md pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--lg{font-size:var(--pine-font-size-body-md)}.pds-link--lg pds-icon{height:var(--pine-dimension-sm);width:var(--pine-dimension-sm)}.pds-link--plain{text-decoration:none}.pds-link--plain:hover{color:var(--pine-color-text-hover);text-decoration:underline}";var t=i("pds_link",function(){function i(i){n(this,i);this.external=false;this.variant="inline";this.fontSize="lg"}i.prototype.classNames=function(){var i=["pds-link"];if(this.fontSize){i.push("pds-link--"+this.fontSize)}if(this.variant){i.push("pds-link--"+this.variant)}return i.join(" ")};i.prototype.setLinkStyles=function(){if(!this.color)return;var i={secondary:"var(--pine-color-text-primary)",accent:"var(--pine-color-accent)",danger:"var(--pine-color-danger)"};var n=o(this.color,i);return n};i.prototype.render=function(){return e("a",{key:"41fb1adaf85b50054f6ea67e96a36d221a00a5b7",class:this.classNames(),href:this.href,id:this.componentId,part:"link",target:this.external?"_blank":undefined,style:this.setLinkStyles()},e("slot",{key:"189205c07159e481e26d74db98b34e1d37edd8b5"},this.href),this.external&&e("pds-icon",{key:"19fc60fe515fa53b22ad770c5d8f52ef42d16fd5",icon:r,size:this.fontSize}))};return i}());t.style=s}}}));
2
+ //# sourceMappingURL=p-e702a8dc.system.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as o,c as r,h as t,H as e,g as n}from"./p-Bf1dou5H.js";import{h as i}from"./p-tJa4KYNO.js";import{b as d,f as s}from"./p-D4zJBIgl.js";const a=":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--pds-button-outline-offset:var(--pine-border-width);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) a,:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-radius:var(--pds-button-border-radius);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);-webkit-box-shadow:var(--pds-button-box-shadow-focus, none);box-shadow:var(--pds-button-box-shadow-focus, none);outline:var(--pds-button-outline-focus, var(--pine-outline-focus));outline-offset:var(--pds-button-outline-offset)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--filter{--color-background-default:var(--pine-color-white);--color-background-hover:var(--pine-color-grey-100);--color-background-disabled:var(--pine-color-white);--color-border-default:transparent;--color-border-hover:transparent;--color-border-focus:transparent;--color-text-default:var(--pine-color-text-secondary);--color-text-hover:var(--pine-color-text-hover);--color-text-disabled:var(--pine-color-text-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary);--pds-button-border-radius:var(--pine-dimension-125);--pds-button-border-radius-start-end:var(--pine-dimension-125);--pds-button-border-radius-start-start:var(--pine-dimension-125);--pds-button-border-radius-end-end:var(--pine-dimension-125);--pds-button-border-radius-end-start:var(--pine-dimension-125);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-button--filter:hover{color:var(--color-text-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";const l=class{constructor(t){o(this,t);this.pdsClick=r(this,"pdsClick");this.disabled=false;this.fullWidth=false;this.icon=null;this.iconOnly=false;this.loading=false;this.type="button";this.variant="primary";this.handleClick=o=>{if(this.loading){o.preventDefault();return}if(this.disabled){o.preventDefault();return}if(!this.href&&this.type!="button"){if(i(this.el)){const r=this.el.closest("form");if(r){o.preventDefault();const t=document.createElement("button");t.type=this.type;t.style.display="none";r.appendChild(t);t.click();t.remove()}}}this.pdsClick.emit(o)}}handleFormKeyDown(o){if(o.key!=="Enter"||this.type!=="submit"||this.href||this.disabled){return}const r=o.target;if(!r||typeof r.matches!=="function"){return}const t=this.el.closest("form");if(!t||!r||!t.contains(r)){return}const e=r.matches('input:not([type="submit"]):not([type="button"]):not([type="reset"])')||r.matches("pds-input")||r.matches("pds-select")||r.matches("pds-switch")||r.matches("pds-checkbox")||r.matches("pds-radio");if(e){const r=Array.from(t.querySelectorAll('pds-button, button[type="submit"], input[type="submit"]'));const e=r.filter((o=>{if(o.tagName.toLowerCase()==="pds-button"){const r=o;return r.type==="submit"&&!r.disabled}else{return!o.hasAttribute("disabled")}}));if(e.length>0&&e[0]===this.el){o.preventDefault();this.el.click()}}}classNames(){const o=["pds-button"];if(this.variant){o.push("pds-button--"+this.variant)}if(this.iconOnly){o.push("pds-button--icon-only")}if(this.loading){o.push("pds-button--loading")}return o.join(" ")}hasSlotContent(o){const r=this.el.querySelectorAll(`[slot="${o}"]`);return r.length>0}renderStartContent(){const o=this.icon&&this.variant!=="disclosure"&&this.variant!=="filter";const r=this.hasSlotContent("start");if(this.variant==="filter"){return t("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:d,part:"icon","aria-hidden":"true"})}else if(Boolean(o)){return t("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",name:this.icon,part:"icon","aria-hidden":"true"})}else if(Boolean(r)){return t("span",{class:`pds-button__icon ${this.loading?"pds-button__icon--hidden":""}`},t("slot",{name:"start"}))}return null}renderEndContent(){if(this.iconOnly){return null}if(this.variant==="disclosure"){return t("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:s,part:"caret","aria-hidden":"true"})}else if(this.hasSlotContent("end")){return t("span",{class:`pds-button__icon ${this.loading?"pds-button__icon--hidden":""}`},t("slot",{name:"end"}))}return null}render(){const o={class:this.classNames(),part:"button"};const r=()=>{if(this.href){return Object.assign(Object.assign({},o),{href:this.disabled?null:this.href,target:this.target})}return Object.assign(Object.assign({},o),{"aria-busy":this.loading?"true":null,"aria-live":this.loading?"polite":null,disabled:this.disabled,name:this.name,type:this.type,value:this.value})};const n=this.href?"a":"button";const i=this.loading||this.iconOnly;const d=t("div",{class:"pds-button__content",part:"button-content"},this.renderStartContent(),t("span",{class:`pds-button__text ${i?"pds-button__text--hidden":""}`,part:"button-text"},t("slot",null)),this.loading&&t("span",{class:"pds-button__loader"},t("pds-loader",{"is-loading":true,size:"var(--pine-font-size-body-2xl)",variant:"spinner",exportparts:"loader-svg"},"Loading...")),this.renderEndContent());return t(e,{"aria-disabled":this.disabled?"true":null,id:this.componentId,onClick:this.handleClick,variant:this.variant},t(n,Object.assign({},r()),d))}get el(){return n(this)}};l.style=a;export{l as pds_button};
2
+ //# sourceMappingURL=p-f15cd180.entry.js.map