@pine-ds/core 4.8.0 → 4.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/components/attributes.js +1 -1
  2. package/components/floating-ui.dom.js +1 -1
  3. package/components/index.js +1 -1
  4. package/components/index2.js +1 -1
  5. package/components/keep-hydrated.js +1 -0
  6. package/components/mock-pds-modal.js +1 -1
  7. package/components/pds-alert.js +1 -1
  8. package/components/pds-avatar.js +1 -1
  9. package/components/pds-box2.js +1 -1
  10. package/components/pds-button2.js +1 -1
  11. package/components/pds-checkbox2.js +1 -1
  12. package/components/pds-chip2.js +1 -1
  13. package/components/pds-combobox.js +1 -1
  14. package/components/pds-container.js +1 -1
  15. package/components/pds-copytext.js +1 -1
  16. package/components/pds-datepicker.js +1 -1
  17. package/components/pds-divider.js +1 -1
  18. package/components/pds-drawer-content.js +1 -1
  19. package/components/pds-drawer-footer.js +1 -1
  20. package/components/pds-drawer-header.js +1 -1
  21. package/components/pds-drawer.js +1 -1
  22. package/components/pds-dropdown-menu-item.js +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu.js +1 -1
  25. package/components/pds-filter.js +1 -1
  26. package/components/pds-filters.js +1 -1
  27. package/components/pds-icon2.js +1 -1
  28. package/components/pds-image.js +1 -1
  29. package/components/pds-input2.js +1 -1
  30. package/components/pds-link2.js +1 -1
  31. package/components/pds-loader2.js +1 -1
  32. package/components/pds-modal-content.js +1 -1
  33. package/components/pds-modal-footer.js +1 -1
  34. package/components/pds-modal-header.js +1 -1
  35. package/components/pds-modal2.js +1 -1
  36. package/components/pds-multiselect.js +1 -1
  37. package/components/pds-popover.js +1 -1
  38. package/components/pds-progress.js +1 -1
  39. package/components/pds-property.js +1 -1
  40. package/components/pds-radio-group.js +1 -1
  41. package/components/pds-radio.js +1 -1
  42. package/components/pds-row.js +1 -1
  43. package/components/pds-select.js +1 -1
  44. package/components/pds-sortable-item.js +1 -1
  45. package/components/pds-sortable.js +2 -2
  46. package/components/pds-switch.js +1 -1
  47. package/components/pds-table-body.js +1 -1
  48. package/components/pds-table-cell2.js +1 -1
  49. package/components/pds-table-head-cell2.js +1 -1
  50. package/components/pds-table-head.js +1 -1
  51. package/components/pds-table-row.js +1 -1
  52. package/components/pds-tabpanel.js +1 -1
  53. package/components/pds-tabs.js +1 -1
  54. package/components/pds-text2.js +1 -1
  55. package/components/pds-textarea.js +1 -1
  56. package/components/pds-toast.js +1 -1
  57. package/components/pds-tooltip.js +1 -1
  58. package/components/portal-target.js +1 -0
  59. package/components/tabbable.js +1 -0
  60. package/components/truncation-tooltip.js +1 -1
  61. package/dist/cjs/{attributes-BJ7KBHql.js → attributes-CW49XqaL.js} +1 -1
  62. package/dist/cjs/{floating-ui.dom-Dc8Anyel.js → floating-ui.dom-Dw41zbyY.js} +1 -0
  63. package/dist/cjs/{index-Do70atou.js → index-BDnbr0DK.js} +1 -1
  64. package/dist/cjs/{index-jl_Q819j.js → index-D9iJuJCP.js} +13 -1
  65. package/dist/cjs/index.cjs.js +1 -1
  66. package/dist/cjs/{keep-hydrated-CiXgkEYd.js → keep-hydrated-AKoh0DG4.js} +1 -0
  67. package/dist/cjs/loader.cjs.js +3 -3
  68. package/dist/cjs/mock-pds-modal.cjs.entry.js +4 -4
  69. package/dist/cjs/pds-accordion.cjs.entry.js +3 -3
  70. package/dist/cjs/pds-alert.cjs.entry.js +17 -4
  71. package/dist/cjs/pds-avatar.cjs.entry.js +22 -12
  72. package/dist/cjs/pds-box.cjs.entry.js +4 -4
  73. package/dist/cjs/pds-button.cjs.entry.js +58 -26
  74. package/dist/cjs/pds-checkbox.cjs.entry.js +16 -8
  75. package/dist/cjs/pds-chip.cjs.entry.js +9 -11
  76. package/dist/cjs/pds-combobox.cjs.entry.js +41 -11
  77. package/dist/cjs/pds-container.cjs.entry.js +3 -3
  78. package/dist/cjs/pds-copytext.cjs.entry.js +8 -7
  79. package/dist/cjs/pds-datepicker.cjs.entry.js +8 -45
  80. package/dist/cjs/pds-divider.cjs.entry.js +3 -3
  81. package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
  82. package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
  83. package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
  84. package/dist/cjs/pds-drawer.cjs.entry.js +4 -4
  85. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +4 -4
  86. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
  87. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -5
  88. package/dist/cjs/pds-filter.cjs.entry.js +4 -4
  89. package/dist/cjs/pds-filters.cjs.entry.js +3 -3
  90. package/dist/cjs/pds-icon.cjs.entry.js +55 -22
  91. package/dist/cjs/pds-image.cjs.entry.js +4 -4
  92. package/dist/cjs/pds-input.cjs.entry.js +6 -6
  93. package/dist/cjs/pds-link.cjs.entry.js +16 -7
  94. package/dist/cjs/pds-loader.cjs.entry.js +4 -4
  95. package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
  96. package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
  97. package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
  98. package/dist/cjs/pds-modal.cjs.entry.js +9 -89
  99. package/dist/cjs/pds-multiselect.cjs.entry.js +13 -7
  100. package/dist/cjs/pds-popover.cjs.entry.js +230 -153
  101. package/dist/cjs/pds-progress.cjs.entry.js +4 -4
  102. package/dist/cjs/pds-property.cjs.entry.js +3 -3
  103. package/dist/cjs/pds-radio-group.cjs.entry.js +67 -6
  104. package/dist/cjs/pds-radio.cjs.entry.js +24 -11
  105. package/dist/cjs/pds-row.cjs.entry.js +4 -4
  106. package/dist/cjs/pds-select.cjs.entry.js +132 -21
  107. package/dist/cjs/pds-sortable-item.cjs.entry.js +5 -5
  108. package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
  109. package/dist/cjs/pds-switch.cjs.entry.js +7 -7
  110. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  111. package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
  112. package/dist/cjs/pds-table-cell.cjs.entry.js +7 -6
  113. package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
  114. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  115. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  116. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  117. package/dist/cjs/pds-tabpanel.cjs.entry.js +4 -4
  118. package/dist/cjs/pds-tabs.cjs.entry.js +4 -4
  119. package/dist/cjs/pds-text.cjs.entry.js +31 -5
  120. package/dist/cjs/pds-textarea.cjs.entry.js +8 -8
  121. package/dist/cjs/pds-toast.cjs.entry.js +14 -8
  122. package/dist/cjs/pds-tooltip.cjs.entry.js +128 -46
  123. package/dist/cjs/pine-core.cjs.js +3 -3
  124. package/dist/cjs/portal-target-e8WQ6dLx.js +70 -0
  125. package/dist/cjs/tabbable-BrrrGvdG.js +86 -0
  126. package/dist/cjs/{truncation-tooltip-BtuiXLV0.js → truncation-tooltip-DdB78RIe.js} +44 -4
  127. package/dist/collection/components/pds-alert/pds-alert.css +13 -0
  128. package/dist/collection/components/pds-alert/pds-alert.js +36 -1
  129. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +4 -0
  130. package/dist/collection/components/pds-avatar/pds-avatar.js +41 -9
  131. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +2 -0
  132. package/dist/collection/components/pds-box/pds-box.js +1 -1
  133. package/dist/collection/components/pds-button/pds-button.js +13 -23
  134. package/dist/collection/components/pds-checkbox/pds-checkbox.css +79 -0
  135. package/dist/collection/components/pds-checkbox/pds-checkbox.js +36 -5
  136. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +38 -0
  137. package/dist/collection/components/pds-chip/pds-chip.js +2 -5
  138. package/dist/collection/components/pds-combobox/pds-combobox.css +33 -0
  139. package/dist/collection/components/pds-combobox/pds-combobox.js +60 -7
  140. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +44 -0
  141. package/dist/collection/components/pds-container/pds-container.js +1 -1
  142. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  143. package/dist/collection/components/pds-datepicker/calendar-portal.js +1 -38
  144. package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
  145. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  146. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
  147. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
  148. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
  149. package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
  150. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +24 -2
  151. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  152. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  153. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  154. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  155. package/dist/collection/components/pds-image/pds-image.js +2 -2
  156. package/dist/collection/components/pds-input/pds-input.js +2 -2
  157. package/dist/collection/components/pds-input/stories/pds-input.stories.js +6 -6
  158. package/dist/collection/components/pds-link/pds-link.css +1 -1
  159. package/dist/collection/components/pds-link/pds-link.js +34 -3
  160. package/dist/collection/components/pds-link/stories/pds-link.stories.js +51 -2
  161. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  162. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  163. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  164. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  165. package/dist/collection/components/pds-modal/pds-modal.css +1 -1
  166. package/dist/collection/components/pds-modal/pds-modal.js +4 -84
  167. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  168. package/dist/collection/components/pds-multiselect/pds-multiselect.js +9 -3
  169. package/dist/collection/components/pds-popover/pds-popover.css +6 -0
  170. package/dist/collection/components/pds-popover/pds-popover.js +226 -149
  171. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  172. package/dist/collection/components/pds-property/pds-property.js +1 -1
  173. package/dist/collection/components/pds-radio/pds-radio.css +57 -0
  174. package/dist/collection/components/pds-radio/pds-radio.js +45 -9
  175. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +15 -0
  176. package/dist/collection/components/pds-radio-group/pds-radio-group.js +65 -4
  177. package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +45 -0
  178. package/dist/collection/components/pds-row/pds-row.js +1 -1
  179. package/dist/collection/components/pds-select/pds-select.js +128 -17
  180. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -2
  181. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  182. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  183. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  184. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  185. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  186. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  187. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  188. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  189. package/dist/collection/components/pds-table/stories/pds-table.stories.js +3 -3
  190. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  191. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  192. package/dist/collection/components/pds-text/pds-text.js +28 -3
  193. package/dist/collection/components/pds-text/stories/pds-text.stories.js +16 -0
  194. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  195. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
  196. package/dist/collection/components/pds-toast/pds-toast.css +13 -0
  197. package/dist/collection/components/pds-toast/pds-toast.js +33 -5
  198. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +4 -1
  199. package/dist/collection/components/pds-tooltip/pds-tooltip.css +11 -0
  200. package/dist/collection/components/pds-tooltip/pds-tooltip.js +125 -42
  201. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +30 -0
  202. package/dist/collection/utils/aria-references.js +42 -0
  203. package/dist/collection/utils/portal-target.js +64 -0
  204. package/dist/collection/utils/tabbable.js +82 -0
  205. package/dist/collection/utils/truncation-tooltip.js +42 -3
  206. package/dist/docs.json +245 -8
  207. package/dist/esm/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  208. package/dist/esm/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  209. package/dist/esm/{index-Cw9J31qd.js → index-4_RRPJTO.js} +13 -2
  210. package/dist/esm/{index-BWDu62Mo.js → index-DvN3tyZp.js} +2 -2
  211. package/dist/esm/index.js +1 -1
  212. package/dist/esm/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  213. package/dist/esm/loader.js +4 -4
  214. package/dist/esm/mock-pds-modal.entry.js +4 -4
  215. package/dist/esm/pds-accordion.entry.js +3 -3
  216. package/dist/esm/pds-alert.entry.js +17 -4
  217. package/dist/esm/pds-avatar.entry.js +22 -12
  218. package/dist/esm/pds-box.entry.js +4 -4
  219. package/dist/esm/pds-button.entry.js +58 -26
  220. package/dist/esm/pds-checkbox.entry.js +16 -8
  221. package/dist/esm/pds-chip.entry.js +8 -10
  222. package/dist/esm/pds-combobox.entry.js +41 -11
  223. package/dist/esm/pds-container.entry.js +3 -3
  224. package/dist/esm/pds-copytext.entry.js +8 -7
  225. package/dist/esm/pds-datepicker.entry.js +7 -44
  226. package/dist/esm/pds-divider.entry.js +3 -3
  227. package/dist/esm/pds-drawer-content.entry.js +3 -3
  228. package/dist/esm/pds-drawer-footer.entry.js +3 -3
  229. package/dist/esm/pds-drawer-header.entry.js +3 -3
  230. package/dist/esm/pds-drawer.entry.js +4 -4
  231. package/dist/esm/pds-dropdown-menu-item.entry.js +4 -4
  232. package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
  233. package/dist/esm/pds-dropdown-menu.entry.js +5 -5
  234. package/dist/esm/pds-filter.entry.js +4 -4
  235. package/dist/esm/pds-filters.entry.js +3 -3
  236. package/dist/esm/pds-icon.entry.js +55 -22
  237. package/dist/esm/pds-image.entry.js +4 -4
  238. package/dist/esm/pds-input.entry.js +6 -6
  239. package/dist/esm/pds-link.entry.js +16 -7
  240. package/dist/esm/pds-loader.entry.js +4 -4
  241. package/dist/esm/pds-modal-content.entry.js +4 -4
  242. package/dist/esm/pds-modal-footer.entry.js +3 -3
  243. package/dist/esm/pds-modal-header.entry.js +3 -3
  244. package/dist/esm/pds-modal.entry.js +7 -87
  245. package/dist/esm/pds-multiselect.entry.js +13 -7
  246. package/dist/esm/pds-popover.entry.js +230 -153
  247. package/dist/esm/pds-progress.entry.js +4 -4
  248. package/dist/esm/pds-property.entry.js +3 -3
  249. package/dist/esm/pds-radio-group.entry.js +67 -6
  250. package/dist/esm/pds-radio.entry.js +24 -11
  251. package/dist/esm/pds-row.entry.js +4 -4
  252. package/dist/esm/pds-select.entry.js +132 -21
  253. package/dist/esm/pds-sortable-item.entry.js +5 -5
  254. package/dist/esm/pds-sortable.entry.js +4 -4
  255. package/dist/esm/pds-switch.entry.js +7 -7
  256. package/dist/esm/pds-tab.entry.js +3 -3
  257. package/dist/esm/pds-table-body.entry.js +3 -3
  258. package/dist/esm/pds-table-cell.entry.js +7 -6
  259. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  260. package/dist/esm/pds-table-head.entry.js +3 -3
  261. package/dist/esm/pds-table-row.entry.js +3 -3
  262. package/dist/esm/pds-table.entry.js +2 -2
  263. package/dist/esm/pds-tabpanel.entry.js +4 -4
  264. package/dist/esm/pds-tabs.entry.js +4 -4
  265. package/dist/esm/pds-text.entry.js +31 -5
  266. package/dist/esm/pds-textarea.entry.js +8 -8
  267. package/dist/esm/pds-toast.entry.js +14 -8
  268. package/dist/esm/pds-tooltip.entry.js +128 -46
  269. package/dist/esm/pine-core.js +4 -4
  270. package/dist/esm/portal-target-CKRzRKdO.js +66 -0
  271. package/dist/esm/tabbable-C6ZWpp3v.js +84 -0
  272. package/dist/esm/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-CRSdYzpA.js} +44 -5
  273. package/dist/esm-es5/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  274. package/dist/esm-es5/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  275. package/dist/esm-es5/{index-Cw9J31qd.js → index-4_RRPJTO.js} +2 -2
  276. package/dist/esm-es5/{index-BWDu62Mo.js → index-DvN3tyZp.js} +1 -1
  277. package/dist/esm-es5/index.js +1 -1
  278. package/dist/esm-es5/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  279. package/dist/esm-es5/loader.js +1 -1
  280. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  281. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  282. package/dist/esm-es5/pds-alert.entry.js +1 -1
  283. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  284. package/dist/esm-es5/pds-box.entry.js +1 -1
  285. package/dist/esm-es5/pds-button.entry.js +1 -1
  286. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  287. package/dist/esm-es5/pds-chip.entry.js +1 -1
  288. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  289. package/dist/esm-es5/pds-container.entry.js +1 -1
  290. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  291. package/dist/esm-es5/pds-datepicker.entry.js +1 -1
  292. package/dist/esm-es5/pds-divider.entry.js +1 -1
  293. package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
  294. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
  295. package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
  296. package/dist/esm-es5/pds-drawer.entry.js +1 -1
  297. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  298. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  299. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  300. package/dist/esm-es5/pds-filter.entry.js +1 -1
  301. package/dist/esm-es5/pds-filters.entry.js +1 -1
  302. package/dist/esm-es5/pds-icon.entry.js +1 -1
  303. package/dist/esm-es5/pds-image.entry.js +1 -1
  304. package/dist/esm-es5/pds-input.entry.js +1 -1
  305. package/dist/esm-es5/pds-link.entry.js +1 -1
  306. package/dist/esm-es5/pds-loader.entry.js +1 -1
  307. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  308. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  309. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  310. package/dist/esm-es5/pds-modal.entry.js +1 -1
  311. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  312. package/dist/esm-es5/pds-popover.entry.js +1 -1
  313. package/dist/esm-es5/pds-progress.entry.js +1 -1
  314. package/dist/esm-es5/pds-property.entry.js +1 -1
  315. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  316. package/dist/esm-es5/pds-radio.entry.js +1 -1
  317. package/dist/esm-es5/pds-row.entry.js +1 -1
  318. package/dist/esm-es5/pds-select.entry.js +1 -1
  319. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  320. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  321. package/dist/esm-es5/pds-switch.entry.js +1 -1
  322. package/dist/esm-es5/pds-tab.entry.js +1 -1
  323. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  324. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  325. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  326. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  327. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  328. package/dist/esm-es5/pds-table.entry.js +1 -1
  329. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  330. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  331. package/dist/esm-es5/pds-text.entry.js +1 -1
  332. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  333. package/dist/esm-es5/pds-toast.entry.js +1 -1
  334. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  335. package/dist/esm-es5/pine-core.js +1 -1
  336. package/dist/esm-es5/portal-target-CKRzRKdO.js +1 -0
  337. package/dist/esm-es5/tabbable-C6ZWpp3v.js +1 -0
  338. package/dist/esm-es5/truncation-tooltip-CRSdYzpA.js +1 -0
  339. package/dist/pine-core/index.esm.js +1 -1
  340. package/dist/pine-core/{p-9880d251.system.entry.js → p-01f1cdaf.system.entry.js} +1 -1
  341. package/dist/pine-core/{p-138b278b.entry.js → p-07323107.entry.js} +1 -1
  342. package/dist/pine-core/p-08b8e941.entry.js +1 -0
  343. package/dist/pine-core/p-0d5f0ab5.system.entry.js +1 -0
  344. package/dist/pine-core/{p-8c8cc079.system.entry.js → p-1415c988.system.entry.js} +1 -1
  345. package/dist/pine-core/{p-9109b90a.entry.js → p-143b33a6.entry.js} +1 -1
  346. package/dist/pine-core/{p-b9d145f8.system.entry.js → p-14dedf01.system.entry.js} +1 -1
  347. package/dist/pine-core/{p-80e6f3a0.system.entry.js → p-19cf1d91.system.entry.js} +1 -1
  348. package/dist/pine-core/p-1ca8d183.entry.js +1 -0
  349. package/dist/pine-core/p-1cc39908.system.entry.js +1 -0
  350. package/dist/pine-core/p-1e3ef425.entry.js +1 -0
  351. package/dist/pine-core/{p-b914dde8.entry.js → p-1f62bb71.entry.js} +2 -2
  352. package/dist/pine-core/p-20079552.system.entry.js +1 -0
  353. package/dist/pine-core/p-2a18852f.entry.js +1 -0
  354. package/dist/pine-core/{p-ca4ee736.system.entry.js → p-2b9622c1.system.entry.js} +1 -1
  355. package/dist/pine-core/p-2dd30d12.entry.js +1 -0
  356. package/dist/pine-core/{p-cccfe60f.system.entry.js → p-3306dc5a.system.entry.js} +1 -1
  357. package/dist/pine-core/{p-BGLP3keB.js → p-35s7h-dk.js} +1 -1
  358. package/dist/pine-core/{p-8c588ca0.entry.js → p-3610cb3b.entry.js} +1 -1
  359. package/dist/pine-core/p-37718637.entry.js +1 -0
  360. package/dist/pine-core/p-383d84f4.entry.js +2 -0
  361. package/dist/pine-core/p-39276663.entry.js +1 -0
  362. package/dist/pine-core/{p-62433f32.entry.js → p-39e57657.entry.js} +1 -1
  363. package/dist/pine-core/p-3c229091.entry.js +1 -0
  364. package/dist/pine-core/p-3d34b967.system.entry.js +1 -0
  365. package/dist/pine-core/p-3e30a761.entry.js +1 -0
  366. package/dist/pine-core/{p-7a5b21d2.system.entry.js → p-3f8bd3fb.system.entry.js} +1 -1
  367. package/dist/pine-core/p-42d43c3f.system.entry.js +1 -0
  368. package/dist/pine-core/{p-f029b7da.system.entry.js → p-42f70f93.system.entry.js} +1 -1
  369. package/dist/pine-core/{p-d3d69ca4.system.entry.js → p-4a90b9c8.system.entry.js} +1 -1
  370. package/dist/pine-core/{p-ca0a8f5c.entry.js → p-4cfe922b.entry.js} +1 -1
  371. package/dist/pine-core/p-4d1a8803.entry.js +1 -0
  372. package/dist/pine-core/p-4d47023c.system.entry.js +1 -0
  373. package/dist/pine-core/p-4d98bc0c.system.entry.js +1 -0
  374. package/dist/pine-core/{p-c97bfac9.entry.js → p-50ddadbf.entry.js} +1 -1
  375. package/dist/pine-core/{p-0913f696.system.entry.js → p-548bce53.system.entry.js} +1 -1
  376. package/dist/pine-core/p-54f1e86f.system.entry.js +1 -0
  377. package/dist/pine-core/{p-631f5bcc.entry.js → p-590df41a.entry.js} +1 -1
  378. package/dist/pine-core/p-5946203c.entry.js +1 -0
  379. package/dist/pine-core/{p-11d98408.system.entry.js → p-5f181694.system.entry.js} +1 -1
  380. package/dist/pine-core/p-60a30975.system.entry.js +1 -0
  381. package/dist/pine-core/{p-9ab95438.entry.js → p-61cfdbb2.entry.js} +1 -1
  382. package/dist/pine-core/p-62aa6a78.system.entry.js +1 -0
  383. package/dist/pine-core/{p-ecc7a531.system.entry.js → p-63f85859.system.entry.js} +1 -1
  384. package/dist/pine-core/p-64bcb378.entry.js +1 -0
  385. package/dist/pine-core/{p-bdac8f2b.entry.js → p-67999353.entry.js} +1 -1
  386. package/dist/pine-core/{p-cb6a3e4c.system.entry.js → p-67f795d5.system.entry.js} +1 -1
  387. package/dist/pine-core/p-6a1aa8d3.entry.js +1 -0
  388. package/dist/pine-core/p-6f4ab1ea.system.entry.js +1 -0
  389. package/dist/pine-core/{p-acca5f7b.system.entry.js → p-724baba3.system.entry.js} +1 -1
  390. package/dist/pine-core/p-72659a0e.system.entry.js +1 -0
  391. package/dist/pine-core/{p-4bfc8b3e.system.entry.js → p-73efb1ed.system.entry.js} +1 -1
  392. package/dist/pine-core/p-7a51f15e.entry.js +1 -0
  393. package/dist/pine-core/p-7b978fff.system.entry.js +1 -0
  394. package/dist/pine-core/p-8436cbfb.entry.js +1 -0
  395. package/dist/pine-core/p-849ec281.system.entry.js +1 -0
  396. package/dist/pine-core/p-87a32ded.system.entry.js +1 -0
  397. package/dist/pine-core/p-89d38a82.system.entry.js +1 -0
  398. package/dist/pine-core/p-8ade17ce.entry.js +1 -0
  399. package/dist/pine-core/{p-4d03d1e2.system.entry.js → p-8afd5f5b.system.entry.js} +1 -1
  400. package/dist/pine-core/p-8e7f75e6.entry.js +1 -0
  401. package/dist/pine-core/{p-8f531063.entry.js → p-8fb520df.entry.js} +1 -1
  402. package/dist/pine-core/{p-9df5e204.entry.js → p-92115e88.entry.js} +1 -1
  403. package/dist/pine-core/p-93fd7dd8.system.entry.js +1 -0
  404. package/dist/pine-core/p-947582e1.entry.js +1 -0
  405. package/dist/pine-core/{p-2ac2457b.system.entry.js → p-94c9b7d1.system.entry.js} +1 -1
  406. package/dist/pine-core/p-973c3ac0.entry.js +1 -0
  407. package/dist/pine-core/p-97653e60.entry.js +1 -0
  408. package/dist/pine-core/{p-55224683.entry.js → p-97b73359.entry.js} +1 -1
  409. package/dist/pine-core/{p-b1548a20.entry.js → p-99530cb5.entry.js} +1 -1
  410. package/dist/pine-core/p-9a776443.entry.js +1 -0
  411. package/dist/pine-core/p-9b32727a.system.entry.js +1 -0
  412. package/dist/pine-core/{p-CGRdQc49.system.js → p-BK1sLRfg.system.js} +2 -2
  413. package/dist/pine-core/{p-COtCa1Md.system.js → p-BNTlHhoO.system.js} +1 -1
  414. package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
  415. package/dist/pine-core/p-BgNaWLoS.js +1 -0
  416. package/dist/pine-core/p-C6ZWpp3v.js +1 -0
  417. package/dist/pine-core/{p-Cy8cvR7I.system.js → p-CANeE7Ss.system.js} +1 -1
  418. package/dist/pine-core/p-CKRzRKdO.js +1 -0
  419. package/dist/pine-core/{p-XW4H0W6i.system.js → p-CNXspDYs.system.js} +1 -1
  420. package/dist/pine-core/{p-BPqJgIq6.js → p-Cuc0DYlm.js} +1 -1
  421. package/dist/pine-core/p-DQyF6v9Q.system.js +1 -0
  422. package/dist/pine-core/{p-BWDu62Mo.js → p-DvN3tyZp.js} +1 -1
  423. package/dist/pine-core/p-DwQ5Tjis.js +1 -0
  424. package/dist/pine-core/{p-CmSJytt1.js → p-M31tvpDN.js} +2 -2
  425. package/dist/pine-core/p-XK45dzWR.system.js +1 -0
  426. package/dist/pine-core/{p-1dc5a7e0.system.entry.js → p-a09c9c5e.system.entry.js} +1 -1
  427. package/dist/pine-core/p-a4ce12ef.entry.js +1 -0
  428. package/dist/pine-core/{p-57a2f927.entry.js → p-a594c41f.entry.js} +1 -1
  429. package/dist/pine-core/p-a9d96e22.entry.js +1 -0
  430. package/dist/pine-core/{p-047433a4.system.entry.js → p-ad5208a4.system.entry.js} +1 -1
  431. package/dist/pine-core/p-b3d4f97a.system.entry.js +3 -0
  432. package/dist/pine-core/{p-0b71ecb6.system.entry.js → p-bcc378ba.system.entry.js} +2 -2
  433. package/dist/pine-core/p-bd7dc317.system.entry.js +1 -0
  434. package/dist/pine-core/p-beb7a430.entry.js +1 -0
  435. package/dist/pine-core/p-bfa34194.entry.js +1 -0
  436. package/dist/pine-core/{p-5870b092.system.entry.js → p-c2afe4f3.system.entry.js} +1 -1
  437. package/dist/pine-core/p-c5e1eb3c.system.entry.js +1 -0
  438. package/dist/pine-core/p-c7a53c4f.entry.js +1 -0
  439. package/dist/pine-core/{p-5cfd4d41.system.entry.js → p-c8a0b562.system.entry.js} +1 -1
  440. package/dist/pine-core/{p-f1702281.entry.js → p-c9ae7964.entry.js} +1 -1
  441. package/dist/pine-core/{p-db17c626.system.entry.js → p-cb9baf78.system.entry.js} +1 -1
  442. package/dist/pine-core/{p-e5420660.entry.js → p-ce9fa14b.entry.js} +1 -1
  443. package/dist/pine-core/{p-332590c7.system.entry.js → p-d018dc60.system.entry.js} +1 -1
  444. package/dist/pine-core/p-d47b2a6a.system.entry.js +1 -0
  445. package/dist/pine-core/{p-b75b0d09.system.entry.js → p-d48fe5a0.system.entry.js} +1 -1
  446. package/dist/pine-core/p-d6f338e0.entry.js +1 -0
  447. package/dist/pine-core/{p-8191498f.system.entry.js → p-d920d759.system.entry.js} +1 -1
  448. package/dist/pine-core/{p-26642718.entry.js → p-d9719e37.entry.js} +1 -1
  449. package/dist/pine-core/{p-c483997a.entry.js → p-db7fb5a3.entry.js} +1 -1
  450. package/dist/pine-core/{p-9713fb36.entry.js → p-e1d1b5d8.entry.js} +1 -1
  451. package/dist/pine-core/p-e3de6a1d.entry.js +1 -0
  452. package/dist/pine-core/{p-d2c91e7a.entry.js → p-e7002cee.entry.js} +1 -1
  453. package/dist/pine-core/{p-86040cac.system.entry.js → p-e82f758f.system.entry.js} +1 -1
  454. package/dist/pine-core/p-e84fa9ed.entry.js +1 -0
  455. package/dist/pine-core/{p-ee0e30bf.system.entry.js → p-eb4f0daa.system.entry.js} +1 -1
  456. package/dist/pine-core/p-eeYeEogd.system.js +1 -0
  457. package/dist/pine-core/{p-0af0d752.system.entry.js → p-eecd9ad8.system.entry.js} +1 -1
  458. package/dist/pine-core/p-ef0eba9b.system.entry.js +1 -0
  459. package/dist/pine-core/p-ef3a855f.system.entry.js +1 -0
  460. package/dist/pine-core/{p-717323e4.entry.js → p-f018af99.entry.js} +1 -1
  461. package/dist/pine-core/{p-121612a7.system.entry.js → p-f11cce27.system.entry.js} +1 -1
  462. package/dist/pine-core/{p-4fd454f6.entry.js → p-f6f4fd42.entry.js} +1 -1
  463. package/dist/pine-core/{p-a939b471.entry.js → p-f71d71ca.entry.js} +1 -1
  464. package/dist/pine-core/p-f9063262.system.entry.js +1 -0
  465. package/dist/pine-core/p-f99bd77f.entry.js +1 -0
  466. package/dist/pine-core/{p-ClDiSG97.system.js → p-vFsJv75D.system.js} +1 -1
  467. package/dist/pine-core/p-wB2y8gR7.system.js +1 -0
  468. package/dist/pine-core/pine-core.esm.js +1 -1
  469. package/dist/pine-core/pine-core.js +1 -1
  470. package/dist/types/components/pds-alert/pds-alert.d.ts +10 -0
  471. package/dist/types/components/pds-avatar/pds-avatar.d.ts +8 -0
  472. package/dist/types/components/pds-button/pds-button.d.ts +2 -2
  473. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +7 -1
  474. package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -0
  475. package/dist/types/components/pds-datepicker/calendar-portal.d.ts +0 -7
  476. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
  477. package/dist/types/components/pds-link/pds-link.d.ts +8 -0
  478. package/dist/types/components/pds-popover/pds-popover.d.ts +44 -20
  479. package/dist/types/components/pds-radio/pds-radio.d.ts +9 -3
  480. package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +8 -0
  481. package/dist/types/components/pds-select/pds-select.d.ts +32 -4
  482. package/dist/types/components/pds-text/pds-text.d.ts +4 -0
  483. package/dist/types/components/pds-toast/pds-toast.d.ts +9 -0
  484. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +32 -0
  485. package/dist/types/components.d.ts +98 -10
  486. package/dist/types/utils/aria-references.d.ts +24 -0
  487. package/dist/types/utils/portal-target.d.ts +17 -0
  488. package/dist/types/utils/tabbable.d.ts +2 -0
  489. package/dist/types/utils/truncation-tooltip.d.ts +5 -2
  490. package/dist/vscode.html-data.json +82 -10
  491. package/hydrate/index.js +971 -408
  492. package/hydrate/index.mjs +971 -408
  493. package/package.json +2 -2
  494. package/dist/esm-es5/truncation-tooltip-FaW67DiY.js +0 -1
  495. package/dist/pine-core/p-0092444c.system.entry.js +0 -1
  496. package/dist/pine-core/p-00a50de5.system.entry.js +0 -3
  497. package/dist/pine-core/p-049f126a.entry.js +0 -1
  498. package/dist/pine-core/p-089c3e60.entry.js +0 -1
  499. package/dist/pine-core/p-158b2f51.entry.js +0 -1
  500. package/dist/pine-core/p-17f97f1a.entry.js +0 -1
  501. package/dist/pine-core/p-19ba2788.system.entry.js +0 -1
  502. package/dist/pine-core/p-208c7dbf.entry.js +0 -1
  503. package/dist/pine-core/p-25ea48d1.entry.js +0 -1
  504. package/dist/pine-core/p-295f64ea.entry.js +0 -1
  505. package/dist/pine-core/p-29cd4113.system.entry.js +0 -1
  506. package/dist/pine-core/p-2cb5483a.system.entry.js +0 -1
  507. package/dist/pine-core/p-36cb4bf6.entry.js +0 -1
  508. package/dist/pine-core/p-3c977d8d.system.entry.js +0 -1
  509. package/dist/pine-core/p-3d51891a.entry.js +0 -1
  510. package/dist/pine-core/p-432d5ec7.entry.js +0 -1
  511. package/dist/pine-core/p-44f546ae.entry.js +0 -1
  512. package/dist/pine-core/p-5442d983.system.entry.js +0 -1
  513. package/dist/pine-core/p-5833a072.system.entry.js +0 -1
  514. package/dist/pine-core/p-602c197f.entry.js +0 -1
  515. package/dist/pine-core/p-719542e1.system.entry.js +0 -1
  516. package/dist/pine-core/p-73f931a1.entry.js +0 -1
  517. package/dist/pine-core/p-75ee0403.entry.js +0 -1
  518. package/dist/pine-core/p-77395d62.system.entry.js +0 -1
  519. package/dist/pine-core/p-7a287635.system.entry.js +0 -1
  520. package/dist/pine-core/p-875b0436.system.entry.js +0 -1
  521. package/dist/pine-core/p-884cb31d.system.entry.js +0 -1
  522. package/dist/pine-core/p-8987fd45.system.entry.js +0 -1
  523. package/dist/pine-core/p-8cc302aa.system.entry.js +0 -1
  524. package/dist/pine-core/p-8e3ff75d.entry.js +0 -1
  525. package/dist/pine-core/p-90d5edc6.entry.js +0 -1
  526. package/dist/pine-core/p-91f60173.entry.js +0 -1
  527. package/dist/pine-core/p-9265497e.system.entry.js +0 -1
  528. package/dist/pine-core/p-94593f20.system.entry.js +0 -1
  529. package/dist/pine-core/p-99459e27.entry.js +0 -1
  530. package/dist/pine-core/p-99fdf70f.entry.js +0 -1
  531. package/dist/pine-core/p-9aaedded.entry.js +0 -1
  532. package/dist/pine-core/p-9dcd2cdb.entry.js +0 -1
  533. package/dist/pine-core/p-BLG6RDBt.js +0 -1
  534. package/dist/pine-core/p-BR5nujVX.system.js +0 -1
  535. package/dist/pine-core/p-CuSNnuFu.system.js +0 -1
  536. package/dist/pine-core/p-D04W0cAO.system.js +0 -1
  537. package/dist/pine-core/p-a0960b3d.system.entry.js +0 -1
  538. package/dist/pine-core/p-a1230a74.system.entry.js +0 -1
  539. package/dist/pine-core/p-a826f290.entry.js +0 -1
  540. package/dist/pine-core/p-acce8eb2.entry.js +0 -1
  541. package/dist/pine-core/p-aff411d0.entry.js +0 -1
  542. package/dist/pine-core/p-b182f806.entry.js +0 -2
  543. package/dist/pine-core/p-bb68431a.entry.js +0 -1
  544. package/dist/pine-core/p-be9b6e63.system.entry.js +0 -1
  545. package/dist/pine-core/p-bf30dec0.entry.js +0 -1
  546. package/dist/pine-core/p-c4e12f0a.entry.js +0 -1
  547. package/dist/pine-core/p-e0917a26.entry.js +0 -1
  548. package/dist/pine-core/p-e836a041.entry.js +0 -1
  549. package/dist/pine-core/p-ea340c55.system.entry.js +0 -1
  550. package/dist/pine-core/p-ea4d4741.system.entry.js +0 -1
  551. package/dist/pine-core/p-ea8f5d29.entry.js +0 -1
  552. package/dist/pine-core/p-eaf85be6.system.entry.js +0 -1
  553. package/dist/pine-core/p-ef13f665.system.entry.js +0 -1
  554. package/dist/pine-core/p-f3067d90.system.entry.js +0 -1
  555. package/dist/pine-core/p-jrkGLEPe.js +0 -1
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{a as l,c as r,o as a,f as d,s as c,b as h}from"./floating-ui.dom.js";import{c as p,d as u,f as m}from"./utils.js";import{i as b,a as v,m as g}from"./form.js";import{g as _,h as f}from"./index2.js";import{f as x,p as y}from"./i18n-format.js";import{d as w}from"./pds-box2.js";import{d as k}from"./pds-checkbox2.js";import{d as O}from"./pds-chip2.js";import{d as C}from"./pds-icon2.js";import{d as A}from"./pds-loader2.js";import{d as S}from"./pds-text2.js";const j=/^[a-z0-9-]+$/i,T='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',E=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsMultiselectChange=t(this,"pdsMultiselectChange",7),this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch",7),this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions",7),this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate",7),this.pdsMultiselectDismiss=t(this,"pdsMultiselectDismiss",7),this.pdsMultiselectOptionAction=t(this,"pdsMultiselectOptionAction",7),this.hasDisabledSlottedTrigger=!1,this.placeholder="Select...",this.searchPlaceholder="Find...",this.searchOptionsLabel="Search options",this.selectedItemsLabel="Selected items",this.optionsLabel="Options",this.noOptionsFoundLabel="No options found",this.createOptionLabel='Add "{text}"',this.createOptionAriaLabel="Create new tag: {text}",this.itemRemovedLabel="{item} removed",this.pillRemoveLabel="Remove",this.selectedCountLabelOne="{count} item",this.selectedCountLabelOther="{count} items",this.closePanelOnSelect=!1,this.value=[],this.disabled=!1,this.asyncMethod="GET",this.debounce=300,this.fetchTimeout=3e4,this.maxHeight="300px",this.triggerWidth="100%",this.minWidth="250px",this.hideLabel=!1,this.hideSelectedItems=!1,this.selectedDisplay="count",this.pillPosition="inline",this.maxInlinePills=3,this.optionDisplay="text",this.required=!1,this.loading=!1,this.csrfHeaderName="X-CSRF-Token",this.optionActions=!1,this.optionActionLabel="Edit {text}",this.optionActionDescription="Press Right Arrow to {action}",this.isOpen=!1,this.searchQuery="",this.highlightedIndex=-1,this.internalOptions=[],this.selectedItems=[],this.currentPage=1,this.hasMore=!1,this.creating=!1,this.removalAnnouncement="",this.isOpening=!1,this.isClosingViaSelection=!1,this.initialAsyncFetchTriggered=!1,this.pendingUnresolvedFetch=!1,this.handleTriggerClick=e=>{if(!this.disabled){if(e&&!this.slottedTriggerEl&&"pill"===this.selectedDisplay&&"inline"===this.pillPosition&&e.composedPath().some((e=>{var i;return"pds-chip"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase())})))return;this.isOpen?this.closeDropdown():this.openDropdown()}},this.handleTriggerKeyDown=e=>{if(!this.disabled&&e.target===this.activeTriggerEl)switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault(),this.isOpen||this.openDropdown()}},this.handleSearchInputChange=e=>{this.searchQuery=e.target.value,this.highlightedIndex=-1,this.pdsMultiselectSearch.emit({query:this.searchQuery}),this.asyncUrl&&this.debouncedFetchAsyncOptions(this.searchQuery,1)},this.handleSearchInputKeyDown=e=>{var i,t,s;const o=this.getFilteredOptions();switch(e.key){case"ArrowDown":{e.preventDefault();let t=this.highlightedIndex+1;for(;t<o.length&&(null===(i=o[t])||void 0===i?void 0:i.disabled);)t++;t<o.length&&(this.highlightedIndex=t,this.scrollOptionIntoView());break}case"ArrowUp":{e.preventDefault();let i=Math.max(this.highlightedIndex-1,0);for(;i>0&&(null===(t=o[i])||void 0===t?void 0:t.disabled);)i--;(null===(s=o[i])||void 0===s?void 0:s.disabled)||(this.highlightedIndex=i,this.scrollOptionIntoView());break}case"Enter":if(e.preventDefault(),this.highlightedIndex>=0){const e=o[this.highlightedIndex];e&&this.selectOption(e)}break;case"ArrowRight":{const i=o[this.highlightedIndex];!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||e.isComposing)&&i&&this.hasOptionAction(i)&&this.isCaretAtEndOfSearch()&&(e.preventDefault(),this.runOptionAction(i));break}case"Tab":{const i=e.shiftKey?void 0:this.getFooterTabbables()[0];null==i||i.focus(),(null==i?void 0:i.matches(":focus"))?e.preventDefault():this.closeDropdown();break}}},this.handleFooterKeyDown=e=>{var i;if("Tab"!==e.key)return;const t=this.getFooterTabbables(),s=e.composedPath()[0];e.shiftKey&&s===t[0]?(e.preventDefault(),null===(i=this.searchInputEl)||void 0===i||i.focus()):e.shiftKey||s!==t[t.length-1]||this.closeDropdown()},this.handleContainerFocusOut=()=>{setTimeout((()=>{var e;if(!this.isOpen||this.isOpening||this.isClosingViaSelection)return;const i=document.activeElement,t=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.contains(i),s=this.el.contains(i);t||s||(this.pdsMultiselectDismiss.emit(),this.closeDropdown())}),0)},this.handleOptionMouseDown=e=>i=>{i.preventDefault(),this.toggleOption(e)},this.handleOptionClick=e=>{e.preventDefault()},this.handleOptionMouseEnter=(e,i)=>()=>{i.disabled||(this.highlightedIndex=e)},this.handleOptionActionMouseDown=e=>{e.preventDefault(),e.stopPropagation()},this.handleOptionActionClick=e=>()=>{this.runOptionAction(e)},this.handleFooterMouseDown=e=>{e.preventDefault()},this.handleScroll=e=>{if(!this.asyncUrl||!this.hasMore||this.loading)return;const i=e.target;i.scrollHeight-i.scrollTop-i.clientHeight<50&&(this.pdsMultiselectLoadOptions.emit({query:this.searchQuery,page:this.currentPage+1}),this.debouncedFetchAsyncOptions(this.searchQuery,this.currentPage+1))},this.handlePillRemove=e=>()=>{var i,t;if(this.disabled)return;const s=e.id+"";this.value=this.value.filter((e=>e!==s)),this.syncSelectedItems(),this.emitChange({removed:[s]}),this.removalAnnouncement="",queueMicrotask((()=>{this.removalAnnouncement=x(this.itemRemovedLabel,{item:e.text})})),this.isClosingViaSelection=!0,this.isOpen?null===(i=this.searchInputEl)||void 0===i||i.focus():null===(t=this.activeTriggerEl)||void 0===t||t.focus(),setTimeout((()=>{this.isClosingViaSelection=!1}),0)}}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals())}formDisabledCallback(e){e&&!this.el.closest("fieldset[disabled]")||(this.disabled=e)}componentWillLoad(){this.originalSearchEmitter=this.pdsMultiselectSearch,this.syncSelectedItems(),this.syncSlottedTrigger()}componentDidLoad(){this.setupDebounce(),this.setupMutationObserver(),this.setupSlotChangeListener(),this.updateFormValue(),requestAnimationFrame((()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.asyncUrl&&this.ensureValueArray().length>0&&(this.initialAsyncFetchTriggered=!0,this.fetchOptions("",1))}setupSlotChangeListener(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");i&&(i.addEventListener("slotchange",(()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.updateOptionsFromSlot())}disconnectedCallback(){var e,i;p(this.pdsMultiselectSearch),null===(e=this.observer)||void 0===e||e.disconnect(),null===(i=this.cleanupAutoUpdate)||void 0===i||i.call(this),this.clearAsyncFetchState()}setupDebounce(){const{pdsMultiselectSearch:e,debounce:i,originalSearchEmitter:t}=this;this.pdsMultiselectSearch=void 0===i?null!=t?t:e:u(e,i),m(e)}valueChanged(e){if("string"==typeof e)try{const i=JSON.parse(e);if(Array.isArray(i))return void(this.value=i)}catch(i){return void(this.value=e?[e]:[])}if(this.syncSelectedItems(),this.updateFormValue(),this.asyncUrl){const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&(this.loading?this.pendingUnresolvedFetch=!0:this.fetchOptions("",1))}}optionsChanged(){this.options&&(this.internalOptions=[...this.options])}internalOptionsChanged(){this.syncSelectedItems()}isOpenChanged(){var e;null===(e=this.slottedTriggerEl)||void 0===e||e.setAttribute("aria-expanded",this.isOpen+"")}disabledChanged(e){var i,t;if(this.syncSlottedTrigger(),!e||!this.isOpen)return;const s=document.activeElement,o=!(!(null===(i=this.el.shadowRoot)||void 0===i?void 0:i.contains(s))&&!this.el.contains(s));this.closeDropdown(),o&&(null===(t=this.activeTriggerEl)||void 0===t||t.focus())}async setFocus(){var e;null===(e=this.activeTriggerEl)||void 0===e||e.focus()}async clear(){const e=this.value.length>0||""!==this.searchQuery,i=this.ensureValueArray();this.value=[],this.searchQuery="",this.syncSelectedItems(),this.updateFormValue(),e&&this.emitChange({removed:i})}async refreshOptions(){await this.fetchOptions(this.searchQuery,1)}handleWindowKeyDown(e){var i;this.isOpen&&!e.defaultPrevented&&"Escape"===e.key&&(e.preventDefault(),this.pdsMultiselectDismiss.emit(),this.closeDropdown(),null===(i=this.activeTriggerEl)||void 0===i||i.focus())}get activeTriggerEl(){var e;return null!==(e=this.slottedTriggerEl)&&void 0!==e?e:this.triggerEl}syncSlottedTrigger(){const e=Array.from(this.el.children).find((e=>"trigger"===e.getAttribute("slot")));if(e!==this.slottedTriggerEl){const i=this.slottedTriggerEl;i&&(i.removeEventListener("click",this.handleTriggerClick),i.removeEventListener("keydown",this.handleTriggerKeyDown),i.removeAttribute("aria-expanded"),i.removeAttribute("aria-haspopup"),i.removeAttribute("aria-disabled"),this.setSlottedTriggerDisabled(i,!1)),null==e||e.addEventListener("click",this.handleTriggerClick),null==e||e.addEventListener("keydown",this.handleTriggerKeyDown),this.slottedTriggerEl=e}e&&(e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded",this.isOpen+""),this.disabled?e.setAttribute("aria-disabled","true"):e.removeAttribute("aria-disabled"),this.setSlottedTriggerDisabled(e,this.disabled))}setSlottedTriggerDisabled(e,i){if(!("disabled"in e))return void(i&&e.localName.includes("-")&&void 0===customElements.get(e.localName)&&customElements.whenDefined(e.localName).then((()=>this.syncSlottedTrigger())));const t=e;i&&!t.disabled?(t.disabled=!0,this.hasDisabledSlottedTrigger=!0):!i&&this.hasDisabledSlottedTrigger&&(t.disabled=!1,this.hasDisabledSlottedTrigger=!1)}setupMutationObserver(){this.observer=new MutationObserver((e=>{e.some((e=>e.target===this.el))&&this.syncSlottedTrigger();const i=this.slottedTriggerEl;i&&!e.some((e=>!i.contains(e.target)))||this.updateOptionsFromSlot()})),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateOptionsFromSlot(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");if(!i)return;const t=[];i.assignedElements({flatten:!0}).forEach((e=>{if("OPTGROUP"===e.tagName){const i=e.label,s=e.disabled;e.querySelectorAll("option").forEach((e=>{const o=this.parseSlottedOption(e,s);i&&(o.group=i),t.push(o)}))}else"OPTION"===e.tagName&&t.push(this.parseSlottedOption(e,!1))})),t.length>0&&!this.asyncUrl&&!this.options&&(this.internalOptions=t)}parseSlottedOption(e,i){var t;const s={id:e.value,text:(null===(t=e.textContent)||void 0===t?void 0:t.trim())||e.value,disabled:e.disabled||i||void 0},o=e.getAttribute("data-dot-color");o&&(s.dotColor=o);const n=e.getAttribute("data-action-icon");n&&(s.actionIcon=n);const l=e.getAttribute("data-action-label");return l&&(s.actionLabel=l),s}clearAsyncFetchState(){var e;void 0!==this.fetchDebounceTimer&&(window.clearTimeout(this.fetchDebounceTimer),this.fetchDebounceTimer=void 0),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),null===(e=this.abortController)||void 0===e||e.abort(),this.abortController=void 0}debouncedFetchAsyncOptions(e,i=1){var t;if(!this.asyncUrl)return;void 0!==this.fetchDebounceTimer&&window.clearTimeout(this.fetchDebounceTimer);const s=Math.max(0,null!==(t=this.debounce)&&void 0!==t?t:0);this.fetchDebounceTimer=window.setTimeout((()=>{this.fetchDebounceTimer=void 0,this.fetchOptions(e,i)}),s)}syncSelectedItems(){const e=this.ensureValueArray(),i=this.getAllOptions(),t=[],s=new Map(this.selectedItems.map((e=>[e.id+"",e])));e.forEach((e=>{const o=i.find((i=>i.id+""==e+""));o?t.push(o):s.has(e+"")&&t.push(s.get(e+""))})),this.selectedItems=t}ensureValueArray(){if("string"==typeof this.value)try{const e=JSON.parse(this.value);if(Array.isArray(e))return this.value=e,e}catch(e){const i=this.value;return this.value=i?[i]:[],this.value}return Array.isArray(this.value)?this.value:[]}getAllOptions(){return this.options||this.internalOptions}getFilteredOptions(){const e=this.getAllOptions(),i=this.searchQuery.toLowerCase(),t=e.filter((e=>!i||e.text.toLowerCase().includes(i)));return this.createUrl&&this.searchQuery.trim()&&0===t.length?[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:!0}]:t}updateFormValue(){var e;if(!b()&&(null===(e=this.internals)||void 0===e?void 0:e.setFormValue)){const e=this.ensureValueArray(),i=new FormData;e.forEach((e=>{this.name&&i.append(this.name,e)})),this.internals.setFormValue(i),this.required&&0===e.length?this.internals.setValidity({valueMissing:!0},"Please select at least one option.",this.activeTriggerEl):this.internals.setValidity({})}}getCsrfToken(){if(this.csrfToken)return this.csrfToken;const e=document.querySelector('meta[name="csrf-token"]');return(null==e?void 0:e.content)||null}async fetchOptions(e,i=1){var t;if(this.asyncUrl){null===(t=this.abortController)||void 0===t||t.abort(),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),this.abortController=new AbortController,this.loading=!0,this.fetchTimeoutTimer=window.setTimeout((()=>{var e;null===(e=this.abortController)||void 0===e||e.abort(),this.fetchTimeoutTimer=void 0}),this.fetchTimeout);try{let t;try{t=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: "+this.asyncUrl)}"GET"===this.asyncMethod&&(t.searchParams.set("search",e),t.searchParams.set("page",i+""));const s=this.getCsrfToken(),o={"Content-Type":"application/json",Accept:"application/json"};s&&(o[this.csrfHeaderName||"X-CSRF-Token"]=s);const n=await fetch(""+t,Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:o},"POST"===this.asyncMethod&&{body:JSON.stringify({search:e,page:i})}));if(void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),!n.ok)throw Error("Failed to fetch options");const l=await n.json(),r=l.results.map((e=>this.formatResult?this.formatResult(e):"object"==typeof e&&null!==e?Object.assign({id:e.id,text:e.text},e):{id:e+"",text:e+""}));this.internalOptions=1===i?r:[...this.internalOptions,...r],this.hasMore=!!l.totalCount&&this.internalOptions.length<l.totalCount,this.currentPage=i}catch(e){void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),"AbortError"!==e.name&&console.error("PdsMultiselect: Failed to fetch options",e)}finally{if(this.loading=!1,this.pendingUnresolvedFetch){this.pendingUnresolvedFetch=!1;const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&this.fetchOptions("",1)}}}}async createOption(e){if(this.createUrl&&e.trim()&&!this.creating){this.creating=!0;try{const i=new URL(this.createUrl,window.location.origin),t=this.getCsrfToken(),s={"Content-Type":"application/json",Accept:"application/json"};t&&(s[this.csrfHeaderName||"X-CSRF-Token"]=t);const o=await fetch(""+i,{method:"POST",headers:s,body:JSON.stringify({text:e.trim()})});if(!o.ok)throw Error("Failed to create option");const n=await o.json(),l=Object.assign({id:n.id,text:n.text},n);this.internalOptions=[...this.internalOptions,l],this.value=[...this.value,l.id+""],this.syncSelectedItems(),this.pdsMultiselectCreate.emit({query:e.trim(),newOption:l}),this.emitChange({added:[l.id+""]}),this.searchQuery="",this.highlightedIndex=-1,requestAnimationFrame((()=>{var e;null===(e=this.searchInputEl)||void 0===e||e.focus()}))}catch(e){console.error("PdsMultiselect: Failed to create option",e)}finally{this.creating=!1}}}getFooterTabbables(){const e=[];return Array.from(this.el.children).filter((e=>"footer"===e.getAttribute("slot"))).forEach((i=>e.push(i,...Array.from(i.querySelectorAll("*"))))),e.map((e=>{var i;return e.matches(T)?e:null===(i=e.shadowRoot)||void 0===i?void 0:i.querySelector(T)})).filter((e=>{var i,t;return!!e&&(null===(t=null===(i=e.checkVisibility)||void 0===i?void 0:i.call(e))||void 0===t||t)}))}isCaretAtEndOfSearch(){var e,i;const t=this.searchInputEl;if(!t)return!0;const s=t.value.length;return(null!==(e=t.selectionStart)&&void 0!==e?e:s)===s&&(null!==(i=t.selectionEnd)&&void 0!==i?i:s)===s}hasOptionAction(e){return this.optionActions&&"string"==typeof e.actionIcon&&j.test(e.actionIcon)&&!e.isCreateOption&&!e.disabled}get isHoverless(){var e,i,t;return null!==(e=this.hoverlessQuery)&&void 0!==e||(this.hoverlessQuery=null===(i=window.matchMedia)||void 0===i?void 0:i.call(window,"(hover: none)")),!!(null===(t=this.hoverlessQuery)||void 0===t?void 0:t.matches)}runOptionAction(e){var i;this.isClosingViaSelection=!0,this.closeDropdown(),null===(i=this.activeTriggerEl)||void 0===i||i.focus(),this.pdsMultiselectOptionAction.emit({option:e})}openDropdown(){this.disabled||(this.isOpening=!0,this.isOpen=!0,this.highlightedIndex=-1,this.asyncUrl&&0===this.internalOptions.length&&!this.initialAsyncFetchTriggered&&this.debouncedFetchAsyncOptions(this.searchQuery,1),this.initialAsyncFetchTriggered=!1,requestAnimationFrame((()=>{var e;this.positionDropdown(),null===(e=this.searchInputEl)||void 0===e||e.focus(),setTimeout((()=>{this.isOpening=!1}),50)})))}closeDropdown(){this.isOpen=!1,this.highlightedIndex=-1,this.searchQuery="",this.isClosingViaSelection&&setTimeout((()=>{this.isClosingViaSelection=!1}),0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}positionDropdown(){if(!this.containerEl||!this.panelEl)return;const e=this.slottedTriggerEl||this.pillInlineTriggerEl||this.triggerEl||this.containerEl,{minWidth:i,panelWidth:t}=this,s=()=>{r(e,this.panelEl,{placement:"bottom-start",strategy:"fixed",middleware:[a(12),d(),c({padding:8}),h({apply:({rects:e,elements:s})=>{Object.assign(s.floating.style,{width:null!=t?t:e.reference.width+"px",minWidth:i})}})]}).then((({x:e,y:i})=>{this.panelEl&&(this.panelEl.style.left=e+"px",this.panelEl.style.top=i+"px")}))};s();const o=l(e,this.panelEl,s);this.cleanupAutoUpdate=()=>{o(),this.clearAsyncFetchState()}}scrollOptionIntoView(){requestAnimationFrame((()=>{var e;const i=null===(e=this.listboxEl)||void 0===e?void 0:e.querySelector(`[data-index="${this.highlightedIndex}"]`);null==i||i.scrollIntoView({block:"nearest",behavior:"smooth"})}))}emitChange({added:e=[],removed:i=[]}){this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems,added:e,removed:i})}toggleOption(e){var i,t;if(e.disabled)return;if(e.isCreateOption)return void(this.creating||this.createOption(this.searchQuery));const s=e.id+"",o=this.value.includes(s);if(o)this.value=this.value.filter((e=>e!==s));else{if(this.maxSelections&&this.value.length>=this.maxSelections)return;this.value=[...this.value,s]}this.syncSelectedItems(),this.emitChange(o?{removed:[s]}:{added:[s]}),this.closePanelOnSelect?(this.isClosingViaSelection=!0,this.closeDropdown(),null===(i=this.activeTriggerEl)||void 0===i||i.focus()):null===(t=this.searchInputEl)||void 0===t||t.focus()}selectOption(e){this.toggleOption(e)}getGroupedRenderItems(e){const i=[];let t=null;return e.forEach(((e,s)=>{const o=e.group;void 0!==o?(t&&t.group===o||(t={type:"group",group:o,options:[]},i.push(t)),t.options.push({option:e,index:s})):(t=null,i.push({type:"option",option:e,index:s}))})),i}renderOption(e,i,t){const o=t.includes(e.id+""),n=e.isCreateOption,l=e.disabled,r=i===this.highlightedIndex&&!n,a=`${this.componentId}-option-${i}`,d=n&&this.creating,c=this.hasOptionAction(e);return s("li",{key:e.id+"",id:a,class:{"pds-multiselect__option":!0,"pds-multiselect__option--highlighted":r,"pds-multiselect__option--selected":o,"pds-multiselect__option--create":n,"pds-multiselect__option--disabled":l||d},role:"option","aria-selected":o?"true":"false","aria-disabled":l||d?"true":void 0,"aria-label":n?x(this.createOptionAriaLabel,{text:e.text}):void 0,"aria-describedby":c?a+"-action-description":void 0,"data-index":i,onMouseDown:this.handleOptionMouseDown(e),onClick:this.handleOptionClick,onMouseEnter:this.handleOptionMouseEnter(i,e)},n?s("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},s("pds-icon",{name:"add",size:"small","aria-hidden":"true"}),s("pds-text",null,x(this.createOptionLabel,{text:e.text}))):s("pds-checkbox",{componentId:`${this.componentId}-checkbox-${i}`,checked:o,label:e.text,disabled:l,style:{pointerEvents:"none"}},"chip"===this.optionDisplay&&s("pds-chip",{slot:"label",sentiment:"subtle",dot:!!e.dotColor,"dot-color":e.dotColor,"max-width":"100%"},e.text)),c&&this.renderOptionAction(e,a,r))}renderOptionAction(e,i,t){var o;const n=x(null!==(o=e.actionLabel)&&void 0!==o?o:this.optionActionLabel,{text:e.text});return[s("span",{class:"pds-multiselect__option-action",title:n,"aria-hidden":"true",onMouseDown:this.handleOptionActionMouseDown,onClick:this.handleOptionActionClick(e)},(t||this.isHoverless)&&s("pds-icon",{name:e.actionIcon})),s("span",{id:i+"-action-description",hidden:!0},x(this.optionActionDescription,{action:n}))]}renderSelectedItemsList(){return this.hideSelectedItems||0===this.selectedItems.length?null:s("div",{class:"pds-multiselect__selected-section"},s("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((e=>s("li",{key:e.id+"",class:"pds-multiselect__selected-item"},e.text)))))}renderDropdown(){if(!this.isOpen)return null;const e=this.getFilteredOptions(),i=this.ensureValueArray(),t=!!this.el.querySelector('[slot="empty"]'),o=!!this.el.querySelector('[slot="loading"]'),n=!!this.el.querySelector('[slot="footer"]');return s("div",{class:"pds-multiselect__panel",ref:e=>this.panelEl=e,style:{minWidth:this.minWidth}},s("div",{class:"pds-multiselect__search"},s("pds-icon",{name:"search",size:"small","aria-hidden":"true"}),s("input",{ref:e=>this.searchInputEl=e,type:"text",class:"pds-multiselect__search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,"aria-label":this.searchOptionsLabel,"aria-controls":this.componentId+"-listbox","aria-activedescendant":this.highlightedIndex>=0?`${this.componentId}-option-${this.highlightedIndex}`:void 0,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),s("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||this.optionsLabel,id:this.componentId+"-listbox",ref:e=>this.listboxEl=e,style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&s("li",{class:"pds-multiselect__loading",role:"presentation"},o?s("slot",{name:"loading"}):s("pds-loader",{size:"small"})),!this.loading&&0===e.length&&s("li",{class:"pds-multiselect__empty",role:"presentation"},t?s("slot",{name:"empty"}):s("span",null,this.noOptionsFoundLabel)),this.getGroupedRenderItems(e).map(((e,t)=>"group"===e.type?s("li",{key:"group-"+t,role:"group","aria-label":e.group,class:"pds-multiselect__group"},s("span",{class:"pds-multiselect__group-header","aria-hidden":"true"},e.group),s("ul",{class:"pds-multiselect__group-list",role:"presentation"},e.options.map((({option:e,index:t})=>this.renderOption(e,t,i))))):this.renderOption(e.option,e.index,i))),this.hasMore&&!this.loading&&s("li",{class:"pds-multiselect__load-more",role:"presentation"},s("pds-loader",{size:"small"}))),n&&s("div",{class:"pds-multiselect__footer",onMouseDown:this.handleFooterMouseDown,onKeyDown:this.handleFooterKeyDown},s("slot",{name:"footer"})))}renderInlinePills(){if(!(this.selectedItems.length>0))return s("span",{class:"pds-multiselect__trigger-text pds-multiselect__trigger-text--placeholder"},this.placeholder||"Select...");const e=this.disabled?"text":"tag",i=this.selectedItems.slice(0,Math.max(1,this.maxInlinePills)),t=this.selectedItems.length-i.length;return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--inline","aria-label":this.selectedItemsLabel},i.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"sm",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))),t>0&&s("span",{class:"pds-multiselect__pill-overflow"},"+",t))}renderBelowPills(){if(0===this.selectedItems.length)return null;const e=this.disabled?"text":"tag";return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--below","aria-label":this.selectedItemsLabel},this.selectedItems.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"md",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))))}getTriggerText(){const e=this.selectedItems.length;return 0===e||"pill"===this.selectedDisplay&&"below"===this.pillPosition?this.placeholder||"Select...":y(this.el,e,this.resolveCountForms())}resolveCountForms(){const e={one:this.selectedCountLabelOne,other:this.selectedCountLabelOther},i=this.selectedCountLabels;if(!i)return e;if("string"==typeof i)try{const t=JSON.parse(i);return t&&"object"==typeof t?Object.assign(Object.assign({},e),t):e}catch(i){return e}return Object.assign(Object.assign({},e),i)}render(){const e=this.selectedItems.length>0;return s(o,{key:"d0879469e6ff943374c2f035c0a8d6d57c25dc5f","aria-disabled":this.disabled?"true":null},s("div",{key:"80caa694099218561b85c93d547ec9208def0ec7",class:"pds-multiselect",onFocusout:this.handleContainerFocusOut},this.label&&s("label",{key:"b4eaa2c9e2901c28ecb0b8f55e63e33ad899e945",id:this.componentId+"-label",htmlFor:this.componentId,class:{"pds-multiselect__label":!0,"visually-hidden":this.hideLabel}},this.label),s("div",{key:"404ed58aa6bfb2248ffad5e56ebabfe65149b9a4",class:"pds-multiselect__wrapper",ref:e=>this.containerEl=e,style:{width:this.triggerWidth}},this.slottedTriggerEl?s("slot",{name:"trigger"}):"pill"===this.selectedDisplay&&"inline"===this.pillPosition?s("div",{ref:e=>this.pillInlineTriggerEl=e||void 0,part:"trigger",class:{"pds-multiselect__trigger":!0,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":e,"pds-multiselect__trigger--pill-inline":!0},onClick:this.handleTriggerClick},this.renderInlinePills(),s("button",{ref:e=>this.triggerEl=e,type:"button",id:this.componentId,part:"pill-toggle",class:"pds-multiselect__pill-toggle",disabled:this.disabled,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-labelledby":this.label?this.componentId+"-label":void 0,"aria-required":this.required?"true":void 0,"aria-describedby":v(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onKeyDown:this.handleTriggerKeyDown},s("pds-icon",{"aria-hidden":"true",class:"pds-multiselect__icon",icon:_}))):s("button",{ref:e=>this.triggerEl=e,type:"button",part:"trigger",class:{"pds-multiselect__trigger":!0,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":e},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":void 0,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":v(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},s("span",{class:{"pds-multiselect__trigger-text":!0,"pds-multiselect__trigger-text--placeholder":!e||"pill"===this.selectedDisplay&&"below"===this.pillPosition}},this.getTriggerText()),s("pds-icon",{"aria-hidden":"true",class:"pds-multiselect__icon",icon:_})),this.renderDropdown()),"pill"===this.selectedDisplay&&"below"===this.pillPosition&&this.renderBelowPills(),s("span",{key:"73f17916a37722fefebd6b5a184a7b3dca6f4a9d",class:"visually-hidden","aria-live":"polite","aria-atomic":"true"},this.removalAnnouncement),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&s("p",{key:"1a987562b21da6f8d2f8c9f94e93e8c99a7abd74",class:"pds-multiselect__helper",id:g(this.componentId,"helper")},this.helperMessage),this.errorMessage&&s("p",{key:"ce1f7f48d6f8dee320d87cb7088f084e68cb3ab5",class:"pds-multiselect__error",id:g(this.componentId,"error")},s("pds-icon",{key:"8347dfdec6ef1b81d4cf9f72cba3d9ec965dcf08","aria-hidden":"true",icon:f,size:"small"}),this.errorMessage),s("div",{key:"74cd840e102ad635d2f4bc23cf3bcfaa61d5cea1",style:{display:"none"}},s("slot",{key:"c2fd9e71363a9661062c8d88be0dd78fc98b964d"}))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}],isOpen:[{isOpenChanged:0}],disabled:[{disabledChanged:0}]}}static get style(){return":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__pill-list{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs)}.pds-multiselect__pill-list--inline{-ms-flex:1;flex:1;min-width:0}.pds-multiselect__pill-list--below{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-multiselect__pill-overflow{color:var(--pine-color-text-muted);font:var(--pine-typography-body-sm-medium);white-space:nowrap}.pds-multiselect__trigger--pill-inline{-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-2xs) var(--pine-dimension-sm)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger--pill-inline:focus-within:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--invalid:focus-within{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__pill-toggle{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border-width:0;cursor:pointer;display:-ms-flexbox;display:flex;padding:0}.pds-multiselect__pill-toggle:focus{outline:3px solid transparent}.pds-multiselect__trigger--disabled .pds-multiselect__pill-toggle{cursor:not-allowed;pointer-events:none}.pds-multiselect__panel{background:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:fixed;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__group-header{color:var(--pine-color-text-muted);display:block;font:var(--pine-typography-body-sm-medium);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-sm) var(--pine-dimension-xs) var(--pine-dimension-2xs);text-transform:uppercase}.pds-multiselect__listbox>li:first-child>.pds-multiselect__group-header{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-multiselect__group-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{min-width:var(--pine-dimension-none);pointer-events:none;width:100%}.pds-multiselect__option pds-chip{pointer-events:auto}.pds-multiselect__option:hover:not(.pds-multiselect__option--disabled),.pds-multiselect__option.pds-multiselect__option--highlighted:not(.pds-multiselect__option--disabled){background:var(--pine-color-background-muted)}.pds-multiselect__option.pds-multiselect__option--disabled{cursor:not-allowed;opacity:0.5}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__option-action{-ms-flex-align:center;align-items:center;block-size:var(--pine-dimension-md);color:var(--pine-color-icon);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-md);-ms-flex-pack:center;justify-content:center;-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__footer{-webkit-border-before:var(--pine-border);border-block-start:var(--pine-border);border-block-start-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm-medium);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);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:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}"}},[321,"pds-multiselect",{componentId:[1,"component-id"],label:[1],placeholder:[1],searchPlaceholder:[1,"search-placeholder"],searchOptionsLabel:[1,"search-options-label"],selectedItemsLabel:[1,"selected-items-label"],optionsLabel:[1,"options-label"],noOptionsFoundLabel:[1,"no-options-found-label"],createOptionLabel:[1,"create-option-label"],createOptionAriaLabel:[1,"create-option-aria-label"],itemRemovedLabel:[1,"item-removed-label"],pillRemoveLabel:[1,"pill-remove-label"],selectedCountLabelOne:[1,"selected-count-label-one"],selectedCountLabelOther:[1,"selected-count-label-other"],selectedCountLabels:[1,"selected-count-labels"],closePanelOnSelect:[4,"close-panel-on-select"],name:[1],value:[1040],disabled:[4],asyncUrl:[1,"async-url"],asyncMethod:[1,"async-method"],debounce:[2],fetchTimeout:[2,"fetch-timeout"],maxSelections:[2,"max-selections"],maxHeight:[1,"max-height"],triggerWidth:[1,"trigger-width"],minWidth:[1,"min-width"],panelWidth:[1,"panel-width"],hideLabel:[4,"hide-label"],hideSelectedItems:[4,"hide-selected-items"],selectedDisplay:[1,"selected-display"],pillPosition:[1,"pill-position"],maxInlinePills:[2,"max-inline-pills"],optionDisplay:[1,"option-display"],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],required:[4],loading:[1028],options:[16],formatResult:[16],createUrl:[1,"create-url"],csrfToken:[1,"csrf-token"],csrfHeaderName:[1,"csrf-header-name"],optionActions:[4,"option-actions"],optionActionLabel:[1,"option-action-label"],optionActionDescription:[1,"option-action-description"],isOpen:[32],searchQuery:[32],highlightedIndex:[32],internalOptions:[32],selectedItems:[32],currentPage:[32],hasMore:[32],creating:[32],removalAnnouncement:[32],slottedTriggerEl:[32],setFocus:[64],clear:[64],refreshOptions:[64]},[[6,"keydown","handleWindowKeyDown"]],{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}],isOpen:[{isOpenChanged:0}],disabled:[{disabledChanged:0}]}]),D=E,F=function(){"undefined"!=typeof customElements&&["pds-multiselect","pds-box","pds-checkbox","pds-chip","pds-icon","pds-loader","pds-text"].forEach((e=>{switch(e){case"pds-multiselect":customElements.get(n(e))||customElements.define(n(e),E);break;case"pds-box":customElements.get(n(e))||w();break;case"pds-checkbox":customElements.get(n(e))||k();break;case"pds-chip":customElements.get(n(e))||O();break;case"pds-icon":customElements.get(n(e))||C();break;case"pds-loader":customElements.get(n(e))||A();break;case"pds-text":customElements.get(n(e))||S()}}))};export{D as PdsMultiselect,F as defineCustomElement}
1
+ import{proxyCustomElement as i,HTMLElement as e,createEvent as t,h as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{a as l,c as r,o as a,f as d,s as h,b as c}from"./floating-ui.dom.js";import{c as p,d as u,f as m}from"./utils.js";import{i as b,a as v,m as g}from"./form.js";import{g as _,h as f}from"./index2.js";import{f as x,p as y}from"./i18n-format.js";import{d as w}from"./pds-box2.js";import{d as k}from"./pds-checkbox2.js";import{d as O}from"./pds-chip2.js";import{d as C}from"./pds-icon2.js";import{d as A}from"./pds-loader2.js";import{d as S}from"./pds-text2.js";const j=/^[a-z0-9-]+$/i,T='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',E=i(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.pdsMultiselectChange=t(this,"pdsMultiselectChange",7),this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch",7),this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions",7),this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate",7),this.pdsMultiselectDismiss=t(this,"pdsMultiselectDismiss",7),this.pdsMultiselectOptionAction=t(this,"pdsMultiselectOptionAction",7),this.hasDisabledSlottedTrigger=!1,this.placeholder="Select...",this.searchPlaceholder="Find...",this.searchOptionsLabel="Search options",this.selectedItemsLabel="Selected items",this.optionsLabel="Options",this.noOptionsFoundLabel="No options found",this.createOptionLabel='Add "{text}"',this.createOptionAriaLabel="Create new tag: {text}",this.itemRemovedLabel="{item} removed",this.pillRemoveLabel="Remove",this.selectedCountLabelOne="{count} item",this.selectedCountLabelOther="{count} items",this.closePanelOnSelect=!1,this.value=[],this.disabled=!1,this.asyncMethod="GET",this.debounce=300,this.fetchTimeout=3e4,this.maxHeight="300px",this.triggerWidth="100%",this.minWidth="250px",this.hideLabel=!1,this.hideSelectedItems=!1,this.selectedDisplay="count",this.pillPosition="inline",this.maxInlinePills=3,this.optionDisplay="text",this.required=!1,this.loading=!1,this.csrfHeaderName="X-CSRF-Token",this.optionActions=!1,this.optionActionLabel="Edit {text}",this.optionActionDescription="Press Right Arrow to {action}",this.isOpen=!1,this.searchQuery="",this.highlightedIndex=-1,this.internalOptions=[],this.selectedItems=[],this.currentPage=1,this.hasMore=!1,this.creating=!1,this.removalAnnouncement="",this.isOpening=!1,this.isClosingViaSelection=!1,this.initialAsyncFetchTriggered=!1,this.pendingUnresolvedFetch=!1,this.handleTriggerClick=i=>{if(!this.disabled){if(i&&!this.slottedTriggerEl&&"pill"===this.selectedDisplay&&"inline"===this.pillPosition&&i.composedPath().some((i=>{var e;return"pds-chip"===(null===(e=i.tagName)||void 0===e?void 0:e.toLowerCase())})))return;this.isOpen?this.closeDropdown():this.openDropdown()}},this.handleTriggerKeyDown=i=>{if(!this.disabled&&i.target===this.activeTriggerEl)switch(i.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":i.preventDefault(),this.isOpen||this.openDropdown()}},this.handleSearchInputChange=i=>{this.searchQuery=i.target.value,this.highlightedIndex=-1,this.pdsMultiselectSearch.emit({query:this.searchQuery}),this.asyncUrl&&this.debouncedFetchAsyncOptions(this.searchQuery,1)},this.handleSearchInputKeyDown=i=>{var e,t,s;const o=this.getFilteredOptions();switch(i.key){case"ArrowDown":{i.preventDefault();let t=this.highlightedIndex+1;for(;t<o.length&&(null===(e=o[t])||void 0===e?void 0:e.disabled);)t++;t<o.length&&(this.highlightedIndex=t,this.scrollOptionIntoView());break}case"ArrowUp":{i.preventDefault();let e=Math.max(this.highlightedIndex-1,0);for(;e>0&&(null===(t=o[e])||void 0===t?void 0:t.disabled);)e--;(null===(s=o[e])||void 0===s?void 0:s.disabled)||(this.highlightedIndex=e,this.scrollOptionIntoView());break}case"Enter":if(i.preventDefault(),this.highlightedIndex>=0){const i=o[this.highlightedIndex];i&&this.selectOption(i)}break;case"ArrowRight":{const e=o[this.highlightedIndex];!(i.altKey||i.ctrlKey||i.metaKey||i.shiftKey||i.isComposing)&&e&&this.hasOptionAction(e)&&this.isCaretAtEndOfSearch()&&(i.preventDefault(),this.runOptionAction(e));break}case"Tab":{const e=i.shiftKey?void 0:this.getFooterTabbables()[0];if(null==e||e.focus(),null==e?void 0:e.matches(":focus"))i.preventDefault();else{this.closeDropdown();const e=i.shiftKey?void 0:this.activeTriggerEl;null==e||e.focus(),(null==e?void 0:e.matches(":focus"))&&i.preventDefault()}break}}},this.handleFooterKeyDown=i=>{var e;if("Tab"!==i.key)return;const t=this.getFooterTabbables(),s=i.composedPath()[0];i.shiftKey&&s===t[0]?(i.preventDefault(),null===(e=this.searchInputEl)||void 0===e||e.focus()):i.shiftKey||s!==t[t.length-1]||this.closeDropdown()},this.handleContainerFocusOut=()=>{setTimeout((()=>{var i;if(!this.isOpen||this.isOpening||this.isClosingViaSelection)return;const e=document.activeElement,t=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.contains(e),s=this.el.contains(e);t||s||(this.pdsMultiselectDismiss.emit(),this.closeDropdown())}),0)},this.handleOptionMouseDown=i=>e=>{e.preventDefault(),this.toggleOption(i)},this.handleOptionClick=i=>{i.preventDefault()},this.handleOptionMouseEnter=(i,e)=>()=>{e.disabled||(this.highlightedIndex=i)},this.handleOptionActionMouseDown=i=>{i.preventDefault(),i.stopPropagation()},this.handleOptionActionClick=i=>()=>{this.runOptionAction(i)},this.handleFooterMouseDown=i=>{i.preventDefault()},this.handleScroll=i=>{if(!this.asyncUrl||!this.hasMore||this.loading)return;const e=i.target;e.scrollHeight-e.scrollTop-e.clientHeight<50&&(this.pdsMultiselectLoadOptions.emit({query:this.searchQuery,page:this.currentPage+1}),this.debouncedFetchAsyncOptions(this.searchQuery,this.currentPage+1))},this.handlePillRemove=i=>()=>{var e,t;if(this.disabled)return;const s=i.id+"";this.value=this.value.filter((i=>i!==s)),this.syncSelectedItems(),this.emitChange({removed:[s]}),this.removalAnnouncement="",queueMicrotask((()=>{this.removalAnnouncement=x(this.itemRemovedLabel,{item:i.text})})),this.isClosingViaSelection=!0,this.isOpen?null===(e=this.searchInputEl)||void 0===e||e.focus():null===(t=this.activeTriggerEl)||void 0===t||t.focus(),setTimeout((()=>{this.isClosingViaSelection=!1}),0)}}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals())}formDisabledCallback(i){i&&!this.el.closest("fieldset[disabled]")||(this.disabled=i)}componentWillLoad(){this.originalSearchEmitter=this.pdsMultiselectSearch,this.syncSelectedItems(),this.syncSlottedTrigger()}componentDidLoad(){this.setupDebounce(),this.setupMutationObserver(),this.setupSlotChangeListener(),this.updateFormValue(),requestAnimationFrame((()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.asyncUrl&&this.ensureValueArray().length>0&&(this.initialAsyncFetchTriggered=!0,this.fetchOptions("",1))}setupSlotChangeListener(){var i;const e=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.querySelector("slot:not([name])");e&&(e.addEventListener("slotchange",(()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.updateOptionsFromSlot())}disconnectedCallback(){var i,e;p(this.pdsMultiselectSearch),null===(i=this.observer)||void 0===i||i.disconnect(),null===(e=this.cleanupAutoUpdate)||void 0===e||e.call(this),this.clearAsyncFetchState()}setupDebounce(){const{pdsMultiselectSearch:i,debounce:e,originalSearchEmitter:t}=this;this.pdsMultiselectSearch=void 0===e?null!=t?t:i:u(i,e),m(i)}valueChanged(i){if("string"==typeof i)try{const e=JSON.parse(i);if(Array.isArray(e))return void(this.value=e)}catch(e){return void(this.value=i?[i]:[])}if(this.syncSelectedItems(),this.updateFormValue(),this.asyncUrl){const i=this.ensureValueArray();i.length>0&&this.selectedItems.length<i.length&&(this.loading?this.pendingUnresolvedFetch=!0:this.fetchOptions("",1))}}optionsChanged(){this.options&&(this.internalOptions=[...this.options])}internalOptionsChanged(){this.syncSelectedItems()}isOpenChanged(){var i;null===(i=this.slottedTriggerEl)||void 0===i||i.setAttribute("aria-expanded",this.isOpen+"")}disabledChanged(i){var e,t;if(this.syncSlottedTrigger(),!i||!this.isOpen)return;const s=document.activeElement,o=!(!(null===(e=this.el.shadowRoot)||void 0===e?void 0:e.contains(s))&&!this.el.contains(s));this.closeDropdown(),o&&(null===(t=this.activeTriggerEl)||void 0===t||t.focus())}async setFocus(){var i;null===(i=this.activeTriggerEl)||void 0===i||i.focus()}async clear(){const i=this.value.length>0||""!==this.searchQuery,e=this.ensureValueArray();this.value=[],this.searchQuery="",this.syncSelectedItems(),this.updateFormValue(),i&&this.emitChange({removed:e})}async refreshOptions(){await this.fetchOptions(this.searchQuery,1)}handleWindowKeyDown(i){var e;this.isOpen&&!i.defaultPrevented&&"Escape"===i.key&&(i.preventDefault(),this.pdsMultiselectDismiss.emit(),this.closeDropdown(),null===(e=this.activeTriggerEl)||void 0===e||e.focus())}get activeTriggerEl(){var i;return null!==(i=this.slottedTriggerEl)&&void 0!==i?i:this.triggerEl}syncSlottedTrigger(){const i=Array.from(this.el.children).find((i=>"trigger"===i.getAttribute("slot")));if(i!==this.slottedTriggerEl){const e=this.slottedTriggerEl;e&&(e.removeEventListener("click",this.handleTriggerClick),e.removeEventListener("keydown",this.handleTriggerKeyDown),e.removeAttribute("aria-expanded"),e.removeAttribute("aria-haspopup"),e.removeAttribute("aria-disabled"),this.setSlottedTriggerDisabled(e,!1)),null==i||i.addEventListener("click",this.handleTriggerClick),null==i||i.addEventListener("keydown",this.handleTriggerKeyDown),this.slottedTriggerEl=i}i&&(i.setAttribute("aria-haspopup","listbox"),i.setAttribute("aria-expanded",this.isOpen+""),this.disabled?i.setAttribute("aria-disabled","true"):i.removeAttribute("aria-disabled"),this.setSlottedTriggerDisabled(i,this.disabled))}setSlottedTriggerDisabled(i,e){if(!("disabled"in i))return void(e&&i.localName.includes("-")&&void 0===customElements.get(i.localName)&&customElements.whenDefined(i.localName).then((()=>this.syncSlottedTrigger())));const t=i;e&&!t.disabled?(t.disabled=!0,this.hasDisabledSlottedTrigger=!0):!e&&this.hasDisabledSlottedTrigger&&(t.disabled=!1,this.hasDisabledSlottedTrigger=!1)}setupMutationObserver(){this.observer=new MutationObserver((i=>{i.some((i=>i.target===this.el))&&this.syncSlottedTrigger();const e=this.slottedTriggerEl;e&&!i.some((i=>!e.contains(i.target)))||this.updateOptionsFromSlot()})),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateOptionsFromSlot(){var i;const e=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.querySelector("slot:not([name])");if(!e)return;const t=[];e.assignedElements({flatten:!0}).forEach((i=>{if("OPTGROUP"===i.tagName){const e=i.label,s=i.disabled;i.querySelectorAll("option").forEach((i=>{const o=this.parseSlottedOption(i,s);e&&(o.group=e),t.push(o)}))}else"OPTION"===i.tagName&&t.push(this.parseSlottedOption(i,!1))})),t.length>0&&!this.asyncUrl&&!this.options&&(this.internalOptions=t)}parseSlottedOption(i,e){var t;const s={id:i.value,text:(null===(t=i.textContent)||void 0===t?void 0:t.trim())||i.value,disabled:i.disabled||e||void 0},o=i.getAttribute("data-dot-color");o&&(s.dotColor=o);const n=i.getAttribute("data-action-icon");n&&(s.actionIcon=n);const l=i.getAttribute("data-action-label");return l&&(s.actionLabel=l),s}clearAsyncFetchState(){var i;void 0!==this.fetchDebounceTimer&&(window.clearTimeout(this.fetchDebounceTimer),this.fetchDebounceTimer=void 0),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),null===(i=this.abortController)||void 0===i||i.abort(),this.abortController=void 0}debouncedFetchAsyncOptions(i,e=1){var t;if(!this.asyncUrl)return;void 0!==this.fetchDebounceTimer&&window.clearTimeout(this.fetchDebounceTimer);const s=Math.max(0,null!==(t=this.debounce)&&void 0!==t?t:0);this.fetchDebounceTimer=window.setTimeout((()=>{this.fetchDebounceTimer=void 0,this.fetchOptions(i,e)}),s)}syncSelectedItems(){const i=this.ensureValueArray(),e=this.getAllOptions(),t=[],s=new Map(this.selectedItems.map((i=>[i.id+"",i])));i.forEach((i=>{const o=e.find((e=>e.id+""==i+""));o?t.push(o):s.has(i+"")&&t.push(s.get(i+""))})),this.selectedItems=t}ensureValueArray(){if("string"==typeof this.value)try{const i=JSON.parse(this.value);if(Array.isArray(i))return this.value=i,i}catch(i){const e=this.value;return this.value=e?[e]:[],this.value}return Array.isArray(this.value)?this.value:[]}getAllOptions(){return this.options||this.internalOptions}getFilteredOptions(){const i=this.getAllOptions(),e=this.searchQuery.toLowerCase(),t=i.filter((i=>!e||i.text.toLowerCase().includes(e)));return this.createUrl&&this.searchQuery.trim()&&0===t.length?[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:!0}]:t}updateFormValue(){var i;if(!b()&&(null===(i=this.internals)||void 0===i?void 0:i.setFormValue)){const i=this.ensureValueArray(),e=new FormData;i.forEach((i=>{this.name&&e.append(this.name,i)})),this.internals.setFormValue(e),this.required&&0===i.length?this.internals.setValidity({valueMissing:!0},"Please select at least one option.",this.activeTriggerEl):this.internals.setValidity({})}}getCsrfToken(){if(this.csrfToken)return this.csrfToken;const i=document.querySelector('meta[name="csrf-token"]');return(null==i?void 0:i.content)||null}async fetchOptions(i,e=1){var t;if(this.asyncUrl){null===(t=this.abortController)||void 0===t||t.abort(),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),this.abortController=new AbortController,this.loading=!0,this.fetchTimeoutTimer=window.setTimeout((()=>{var i;null===(i=this.abortController)||void 0===i||i.abort(),this.fetchTimeoutTimer=void 0}),this.fetchTimeout);try{let t;try{t=new URL(this.asyncUrl,window.location.origin)}catch(i){throw new TypeError("Invalid asyncUrl: "+this.asyncUrl)}"GET"===this.asyncMethod&&(t.searchParams.set("search",i),t.searchParams.set("page",e+""));const s=this.getCsrfToken(),o={"Content-Type":"application/json",Accept:"application/json"};s&&(o[this.csrfHeaderName||"X-CSRF-Token"]=s);const n=await fetch(""+t,Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:o},"POST"===this.asyncMethod&&{body:JSON.stringify({search:i,page:e})}));if(void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),!n.ok)throw Error("Failed to fetch options");const l=await n.json(),r=l.results.map((i=>this.formatResult?this.formatResult(i):"object"==typeof i&&null!==i?Object.assign({id:i.id,text:i.text},i):{id:i+"",text:i+""}));this.internalOptions=1===e?r:[...this.internalOptions,...r],this.hasMore=!!l.totalCount&&this.internalOptions.length<l.totalCount,this.currentPage=e}catch(i){void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),"AbortError"!==i.name&&console.error("PdsMultiselect: Failed to fetch options",i)}finally{if(this.loading=!1,this.pendingUnresolvedFetch){this.pendingUnresolvedFetch=!1;const i=this.ensureValueArray();i.length>0&&this.selectedItems.length<i.length&&this.fetchOptions("",1)}}}}async createOption(i){if(this.createUrl&&i.trim()&&!this.creating){this.creating=!0;try{const e=new URL(this.createUrl,window.location.origin),t=this.getCsrfToken(),s={"Content-Type":"application/json",Accept:"application/json"};t&&(s[this.csrfHeaderName||"X-CSRF-Token"]=t);const o=await fetch(""+e,{method:"POST",headers:s,body:JSON.stringify({text:i.trim()})});if(!o.ok)throw Error("Failed to create option");const n=await o.json(),l=Object.assign({id:n.id,text:n.text},n);this.internalOptions=[...this.internalOptions,l],this.value=[...this.value,l.id+""],this.syncSelectedItems(),this.pdsMultiselectCreate.emit({query:i.trim(),newOption:l}),this.emitChange({added:[l.id+""]}),this.searchQuery="",this.highlightedIndex=-1,requestAnimationFrame((()=>{var i;null===(i=this.searchInputEl)||void 0===i||i.focus()}))}catch(i){console.error("PdsMultiselect: Failed to create option",i)}finally{this.creating=!1}}}getFooterTabbables(){const i=[];return Array.from(this.el.children).filter((i=>"footer"===i.getAttribute("slot"))).forEach((e=>i.push(e,...Array.from(e.querySelectorAll("*"))))),i.map((i=>{var e;return i.matches(T)?i:null===(e=i.shadowRoot)||void 0===e?void 0:e.querySelector(T)})).filter((i=>{var e,t;return!!i&&(null===(t=null===(e=i.checkVisibility)||void 0===e?void 0:e.call(i))||void 0===t||t)}))}isCaretAtEndOfSearch(){var i,e;const t=this.searchInputEl;if(!t)return!0;const s=t.value.length;return(null!==(i=t.selectionStart)&&void 0!==i?i:s)===s&&(null!==(e=t.selectionEnd)&&void 0!==e?e:s)===s}hasOptionAction(i){return this.optionActions&&"string"==typeof i.actionIcon&&j.test(i.actionIcon)&&!i.isCreateOption&&!i.disabled}get isHoverless(){var i,e,t;return null!==(i=this.hoverlessQuery)&&void 0!==i||(this.hoverlessQuery=null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(hover: none)")),!!(null===(t=this.hoverlessQuery)||void 0===t?void 0:t.matches)}runOptionAction(i){var e;this.isClosingViaSelection=!0,this.closeDropdown(),null===(e=this.activeTriggerEl)||void 0===e||e.focus(),this.pdsMultiselectOptionAction.emit({option:i})}openDropdown(){this.disabled||(this.isOpening=!0,this.isOpen=!0,this.highlightedIndex=-1,this.asyncUrl&&0===this.internalOptions.length&&!this.initialAsyncFetchTriggered&&this.debouncedFetchAsyncOptions(this.searchQuery,1),this.initialAsyncFetchTriggered=!1,requestAnimationFrame((()=>{var i;this.positionDropdown(),null===(i=this.searchInputEl)||void 0===i||i.focus(),setTimeout((()=>{this.isOpening=!1}),50)})))}closeDropdown(){this.isOpen=!1,this.highlightedIndex=-1,this.searchQuery="",this.isClosingViaSelection&&setTimeout((()=>{this.isClosingViaSelection=!1}),0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}positionDropdown(){if(!this.containerEl||!this.panelEl)return;const i=this.slottedTriggerEl||this.pillInlineTriggerEl||this.triggerEl||this.containerEl,{minWidth:e,panelWidth:t}=this,s=()=>{r(i,this.panelEl,{placement:"bottom-start",strategy:"fixed",middleware:[a(12),d(),h({padding:8}),c({apply:({rects:i,elements:s})=>{Object.assign(s.floating.style,{width:null!=t?t:i.reference.width+"px",minWidth:e})}})]}).then((({x:i,y:e})=>{this.panelEl&&(this.panelEl.style.left=i+"px",this.panelEl.style.top=e+"px")}))};s();const o=l(i,this.panelEl,s);this.cleanupAutoUpdate=()=>{o(),this.clearAsyncFetchState()}}scrollOptionIntoView(){requestAnimationFrame((()=>{var i;const e=null===(i=this.listboxEl)||void 0===i?void 0:i.querySelector(`[data-index="${this.highlightedIndex}"]`);null==e||e.scrollIntoView({block:"nearest",behavior:"smooth"})}))}emitChange({added:i=[],removed:e=[]}){this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems,added:i,removed:e})}toggleOption(i){var e,t;if(i.disabled)return;if(i.isCreateOption)return void(this.creating||this.createOption(this.searchQuery));const s=i.id+"",o=this.value.includes(s);if(o)this.value=this.value.filter((i=>i!==s));else{if(this.maxSelections&&this.value.length>=this.maxSelections)return;this.value=[...this.value,s]}this.syncSelectedItems(),this.emitChange(o?{removed:[s]}:{added:[s]}),this.closePanelOnSelect?(this.isClosingViaSelection=!0,this.closeDropdown(),null===(e=this.activeTriggerEl)||void 0===e||e.focus()):null===(t=this.searchInputEl)||void 0===t||t.focus()}selectOption(i){this.toggleOption(i)}getGroupedRenderItems(i){const e=[];let t=null;return i.forEach(((i,s)=>{const o=i.group;void 0!==o?(t&&t.group===o||(t={type:"group",group:o,options:[]},e.push(t)),t.options.push({option:i,index:s})):(t=null,e.push({type:"option",option:i,index:s}))})),e}renderOption(i,e,t){const o=t.includes(i.id+""),n=i.isCreateOption,l=i.disabled,r=e===this.highlightedIndex&&!n,a=`${this.componentId}-option-${e}`,d=n&&this.creating,h=this.hasOptionAction(i);return s("li",{key:i.id+"",id:a,class:{"pds-multiselect__option":!0,"pds-multiselect__option--highlighted":r,"pds-multiselect__option--selected":o,"pds-multiselect__option--create":n,"pds-multiselect__option--disabled":l||d},role:"option","aria-selected":o?"true":"false","aria-disabled":l||d?"true":void 0,"aria-label":n?x(this.createOptionAriaLabel,{text:i.text}):void 0,"aria-describedby":h?a+"-action-description":void 0,"data-index":e,onMouseDown:this.handleOptionMouseDown(i),onClick:this.handleOptionClick,onMouseEnter:this.handleOptionMouseEnter(e,i)},n?s("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},s("pds-icon",{name:"add",size:"small","aria-hidden":"true"}),s("pds-text",null,x(this.createOptionLabel,{text:i.text}))):s("pds-checkbox",{componentId:`${this.componentId}-checkbox-${e}`,checked:o,label:i.text,disabled:l,style:{pointerEvents:"none"}},"chip"===this.optionDisplay&&s("pds-chip",{slot:"label",sentiment:"subtle",dot:!!i.dotColor,"dot-color":i.dotColor,"max-width":"100%"},i.text)),h&&this.renderOptionAction(i,a,r))}renderOptionAction(i,e,t){var o;const n=x(null!==(o=i.actionLabel)&&void 0!==o?o:this.optionActionLabel,{text:i.text});return[s("span",{class:"pds-multiselect__option-action",title:n,"aria-hidden":"true",onMouseDown:this.handleOptionActionMouseDown,onClick:this.handleOptionActionClick(i)},(t||this.isHoverless)&&s("pds-icon",{name:i.actionIcon})),s("span",{id:e+"-action-description",hidden:!0},x(this.optionActionDescription,{action:n}))]}renderSelectedItemsList(){return this.hideSelectedItems||0===this.selectedItems.length?null:s("div",{class:"pds-multiselect__selected-section"},s("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((i=>s("li",{key:i.id+"",class:"pds-multiselect__selected-item"},i.text)))))}renderDropdown(){if(!this.isOpen)return null;const i=this.getFilteredOptions(),e=this.ensureValueArray(),t=!!this.el.querySelector('[slot="empty"]'),o=!!this.el.querySelector('[slot="loading"]'),n=!!this.el.querySelector('[slot="footer"]');return s("div",{class:"pds-multiselect__panel",ref:i=>this.panelEl=i,style:{minWidth:this.minWidth}},s("div",{class:"pds-multiselect__search"},s("pds-icon",{name:"search",size:"small","aria-hidden":"true"}),s("input",{ref:i=>this.searchInputEl=i,type:"text",class:"pds-multiselect__search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,"aria-label":this.searchOptionsLabel,"aria-controls":this.componentId+"-listbox","aria-activedescendant":this.highlightedIndex>=0?`${this.componentId}-option-${this.highlightedIndex}`:void 0,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),s("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||this.optionsLabel,id:this.componentId+"-listbox",ref:i=>this.listboxEl=i,style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&s("li",{class:"pds-multiselect__loading",role:"presentation"},o?s("slot",{name:"loading"}):s("pds-loader",{size:"small"})),!this.loading&&0===i.length&&s("li",{class:"pds-multiselect__empty",role:"presentation"},t?s("slot",{name:"empty"}):s("span",null,this.noOptionsFoundLabel)),this.getGroupedRenderItems(i).map(((i,t)=>"group"===i.type?s("li",{key:"group-"+t,role:"group","aria-label":i.group,class:"pds-multiselect__group"},s("span",{class:"pds-multiselect__group-header","aria-hidden":"true"},i.group),s("ul",{class:"pds-multiselect__group-list",role:"presentation"},i.options.map((({option:i,index:t})=>this.renderOption(i,t,e))))):this.renderOption(i.option,i.index,e))),this.hasMore&&!this.loading&&s("li",{class:"pds-multiselect__load-more",role:"presentation"},s("pds-loader",{size:"small"}))),n&&s("div",{class:"pds-multiselect__footer",onMouseDown:this.handleFooterMouseDown,onKeyDown:this.handleFooterKeyDown},s("slot",{name:"footer"})))}renderInlinePills(){if(!(this.selectedItems.length>0))return s("span",{class:"pds-multiselect__trigger-text pds-multiselect__trigger-text--placeholder"},this.placeholder||"Select...");const i=this.disabled?"text":"tag",e=this.selectedItems.slice(0,Math.max(1,this.maxInlinePills)),t=this.selectedItems.length-e.length;return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--inline","aria-label":this.selectedItemsLabel},e.map((e=>s("pds-chip",{key:e.id+"","component-id":`${this.componentId}-pill-${e.id}`,variant:i,size:"sm",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(e)},e.text))),t>0&&s("span",{class:"pds-multiselect__pill-overflow"},"+",t))}renderBelowPills(){if(0===this.selectedItems.length)return null;const i=this.disabled?"text":"tag";return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--below","aria-label":this.selectedItemsLabel},this.selectedItems.map((e=>s("pds-chip",{key:e.id+"","component-id":`${this.componentId}-pill-${e.id}`,variant:i,size:"md",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(e)},e.text))))}getTriggerText(){const i=this.selectedItems.length;return 0===i||"pill"===this.selectedDisplay&&"below"===this.pillPosition?this.placeholder||"Select...":y(this.el,i,this.resolveCountForms())}resolveCountForms(){const i={one:this.selectedCountLabelOne,other:this.selectedCountLabelOther},e=this.selectedCountLabels;if(!e)return i;if("string"==typeof e)try{const t=JSON.parse(e);return t&&"object"==typeof t?Object.assign(Object.assign({},i),t):i}catch(e){return i}return Object.assign(Object.assign({},i),e)}render(){const i=this.selectedItems.length>0;return s(o,{key:"8f1ce5ef092285ce7c0855643fae76a4ec86ee17","aria-disabled":this.disabled?"true":null},s("div",{key:"c14c3d52c1d55fb33a89f1a25055728215a1e4ab",class:"pds-multiselect",onFocusout:this.handleContainerFocusOut},this.label&&s("label",{key:"aacd3339b0db2048b31fbc5963f7232bbff78efe",id:this.componentId+"-label",htmlFor:this.componentId,class:{"pds-multiselect__label":!0,"visually-hidden":this.hideLabel}},this.label),s("div",{key:"5e1ef76aa5d46798519e5ac885bfa1c8d7c7106c",class:"pds-multiselect__wrapper",ref:i=>this.containerEl=i,style:{width:this.triggerWidth}},this.slottedTriggerEl?s("slot",{name:"trigger"}):"pill"===this.selectedDisplay&&"inline"===this.pillPosition?s("div",{ref:i=>this.pillInlineTriggerEl=i||void 0,part:"trigger",class:{"pds-multiselect__trigger":!0,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":i,"pds-multiselect__trigger--pill-inline":!0},onClick:this.handleTriggerClick},this.renderInlinePills(),s("button",{ref:i=>this.triggerEl=i,type:"button",id:this.componentId,part:"pill-toggle",class:"pds-multiselect__pill-toggle",disabled:this.disabled,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-labelledby":this.label?this.componentId+"-label":void 0,"aria-required":this.required?"true":void 0,"aria-describedby":v(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onKeyDown:this.handleTriggerKeyDown},s("pds-icon",{"aria-hidden":"true",class:"pds-multiselect__icon",icon:_}))):s("button",{ref:i=>this.triggerEl=i,type:"button",part:"trigger",class:{"pds-multiselect__trigger":!0,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":i},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":void 0,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":v(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},s("span",{class:{"pds-multiselect__trigger-text":!0,"pds-multiselect__trigger-text--placeholder":!i||"pill"===this.selectedDisplay&&"below"===this.pillPosition}},this.getTriggerText()),s("pds-icon",{"aria-hidden":"true",class:"pds-multiselect__icon",icon:_})),this.renderDropdown()),"pill"===this.selectedDisplay&&"below"===this.pillPosition&&this.renderBelowPills(),s("span",{key:"590045e4769812a1a2f7a97580d21d95dbe4e872",class:"visually-hidden","aria-live":"polite","aria-atomic":"true"},this.removalAnnouncement),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&s("p",{key:"419f4349b7cb17260f03d2bdcfd777561a62de42",class:"pds-multiselect__helper",id:g(this.componentId,"helper")},this.helperMessage),this.errorMessage&&s("p",{key:"b922af14c83348607aa9aaaefe9b03b39e71bd42",class:"pds-multiselect__error",id:g(this.componentId,"error")},s("pds-icon",{key:"bd08726adf14a42f2ecf0cdfcd390e5639f9fd96","aria-hidden":"true",icon:f,size:"small"}),this.errorMessage),s("div",{key:"42ad7905fb1816ccdd29b6aa438779929804b368",style:{display:"none"}},s("slot",{key:"4f3bf380e93d216790efb0a5de85d6479862350e"}))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}],isOpen:[{isOpenChanged:0}],disabled:[{disabledChanged:0}]}}static get style(){return":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__pill-list{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs)}.pds-multiselect__pill-list--inline{-ms-flex:1;flex:1;min-width:0}.pds-multiselect__pill-list--below{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-multiselect__pill-overflow{color:var(--pine-color-text-muted);font:var(--pine-typography-body-sm-medium);white-space:nowrap}.pds-multiselect__trigger--pill-inline{-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-2xs) var(--pine-dimension-sm)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger--pill-inline:focus-within:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--invalid:focus-within{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__pill-toggle{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border-width:0;cursor:pointer;display:-ms-flexbox;display:flex;padding:0}.pds-multiselect__pill-toggle:focus{outline:3px solid transparent}.pds-multiselect__trigger--disabled .pds-multiselect__pill-toggle{cursor:not-allowed;pointer-events:none}.pds-multiselect__panel{background:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:fixed;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__group-header{color:var(--pine-color-text-muted);display:block;font:var(--pine-typography-body-sm-medium);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-sm) var(--pine-dimension-xs) var(--pine-dimension-2xs);text-transform:uppercase}.pds-multiselect__listbox>li:first-child>.pds-multiselect__group-header{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-multiselect__group-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{min-width:var(--pine-dimension-none);pointer-events:none;width:100%}.pds-multiselect__option pds-chip{pointer-events:auto}.pds-multiselect__option:hover:not(.pds-multiselect__option--disabled),.pds-multiselect__option.pds-multiselect__option--highlighted:not(.pds-multiselect__option--disabled){background:var(--pine-color-background-muted)}.pds-multiselect__option.pds-multiselect__option--disabled{cursor:not-allowed;opacity:0.5}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__option-action{-ms-flex-align:center;align-items:center;block-size:var(--pine-dimension-md);color:var(--pine-color-icon);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;inline-size:var(--pine-dimension-md);-ms-flex-pack:center;justify-content:center;-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__footer{-webkit-border-before:var(--pine-border);border-block-start:var(--pine-border);border-block-start-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm-medium);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);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:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}"}},[321,"pds-multiselect",{componentId:[1,"component-id"],label:[1],placeholder:[1],searchPlaceholder:[1,"search-placeholder"],searchOptionsLabel:[1,"search-options-label"],selectedItemsLabel:[1,"selected-items-label"],optionsLabel:[1,"options-label"],noOptionsFoundLabel:[1,"no-options-found-label"],createOptionLabel:[1,"create-option-label"],createOptionAriaLabel:[1,"create-option-aria-label"],itemRemovedLabel:[1,"item-removed-label"],pillRemoveLabel:[1,"pill-remove-label"],selectedCountLabelOne:[1,"selected-count-label-one"],selectedCountLabelOther:[1,"selected-count-label-other"],selectedCountLabels:[1,"selected-count-labels"],closePanelOnSelect:[4,"close-panel-on-select"],name:[1],value:[1040],disabled:[4],asyncUrl:[1,"async-url"],asyncMethod:[1,"async-method"],debounce:[2],fetchTimeout:[2,"fetch-timeout"],maxSelections:[2,"max-selections"],maxHeight:[1,"max-height"],triggerWidth:[1,"trigger-width"],minWidth:[1,"min-width"],panelWidth:[1,"panel-width"],hideLabel:[4,"hide-label"],hideSelectedItems:[4,"hide-selected-items"],selectedDisplay:[1,"selected-display"],pillPosition:[1,"pill-position"],maxInlinePills:[2,"max-inline-pills"],optionDisplay:[1,"option-display"],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],required:[4],loading:[1028],options:[16],formatResult:[16],createUrl:[1,"create-url"],csrfToken:[1,"csrf-token"],csrfHeaderName:[1,"csrf-header-name"],optionActions:[4,"option-actions"],optionActionLabel:[1,"option-action-label"],optionActionDescription:[1,"option-action-description"],isOpen:[32],searchQuery:[32],highlightedIndex:[32],internalOptions:[32],selectedItems:[32],currentPage:[32],hasMore:[32],creating:[32],removalAnnouncement:[32],slottedTriggerEl:[32],setFocus:[64],clear:[64],refreshOptions:[64]},[[6,"keydown","handleWindowKeyDown"]],{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}],isOpen:[{isOpenChanged:0}],disabled:[{disabledChanged:0}]}]),D=E,F=function(){"undefined"!=typeof customElements&&["pds-multiselect","pds-box","pds-checkbox","pds-chip","pds-icon","pds-loader","pds-text"].forEach((i=>{switch(i){case"pds-multiselect":customElements.get(n(i))||customElements.define(n(i),E);break;case"pds-box":customElements.get(n(i))||w();break;case"pds-checkbox":customElements.get(n(i))||k();break;case"pds-chip":customElements.get(n(i))||O();break;case"pds-icon":customElements.get(n(i))||C();break;case"pds-loader":customElements.get(n(i))||A();break;case"pds-text":customElements.get(n(i))||S()}}))};export{D as PdsMultiselect,F as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as i,createEvent as s,h as e,Host as h,transformTag as o}from"@stencil/core/internal/client";import{a as n,c as r}from"./closest.js";import{r as l}from"./reflected-attribute-default.js";import{l as a,s as d}from"./attributes.js";const c=t=>{const i=t+"",s=i.length,e=i.charCodeAt(0);let h="";for(let t=0;t<s;t++){const o=i.charCodeAt(t);h+=0!==o?o>=1&&o<=31||127===o||0===t&&o>=48&&o<=57||1===t&&o>=48&&o<=57&&45===e?`\\${o.toString(16)} `:0===t&&1===s&&45===o||!(o>=128||45===o||95===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122)?"\\"+i.charAt(t):i.charAt(t):"�"}return h},p=[];function u(){var t;let i=document.activeElement;for(;null===(t=null==i?void 0:i.shadowRoot)||void 0===t?void 0:t.activeElement;)i=i.shadowRoot.activeElement;return i}const v=t(class t extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.pdsPopoverOpen=s(this,"pdsPopoverOpen",7),this.pdsPopoverClose=s(this,"pdsPopoverClose",7),this.active=!1,this.isComponentMounted=!0,this.hasLoaded=!1,this.generatedPortalId=null,this.triggerEl=null,this.triggerObserver=null,this.portalEl=null,this.isRepositioning=!1,this.scrollDebounceTimer=null,this.resizeDebounceTimer=null,this.movedNodes=[],this.openTimestamp=0,this.hoverOpened=!1,this.closeWhenFocusLeaves=!1,this.panelDistance=1/0,this.popoverTargetAction="show",this.openOn="click",this.popoverType="auto",this.maxWidth=352,this.padding="md",this.placement="right",this.handleTriggerSlotChange=t=>{const i=t.target.assignedElements();null!=this.triggerEl&&(this.triggerEl.removeEventListener("click",this.handleTriggerClick),this.stopListeningForHover(this.triggerEl)),i.length>0?(this.triggerEl=i[0],this.linkTriggerToPortal(),this.triggerEl.addEventListener("click",this.handleTriggerClick),this.listenForHover(this.triggerEl)):this.triggerEl=null,this.observeTrigger()},this.handleContentSlotChange=()=>{this.active&&this.updatePortalContent()},this.handleTriggerClick=t=>{if(t.composedPath().find((t=>t instanceof HTMLAnchorElement&&t.href))||t.preventDefault(),"hover"===this.openOn&&"hide"!==this.popoverTargetAction){const t=this.hoverOpened;if(this.pin(),t)return}switch(this.popoverTargetAction){case"show":this.show();break;case"hide":this.hide();break;default:this.toggle()}},this.handleHoverEnter=t=>{"touch"!==t.pointerType&&(this.clearHoverTimers(),this.active||(this.hoverOpenTimer=setTimeout((()=>{this.hoverOpenTimer=void 0,this.active||null==this.portalEl||(this.hoverOpened=!0,this.show())}),120)))},this.handleHoverLeave=t=>{"touch"!==t.pointerType&&(this.clearHoverTimers(),this.hoverOpened&&(this.hoverCloseTimer=setTimeout(this.closeFromHover,200),t.currentTarget===this.triggerEl&&(this.panelDistance=this.distanceToPanel(t),document.addEventListener("pointermove",this.handleMoveTowardPanel))))},this.handleMoveTowardPanel=t=>{const i=this.distanceToPanel(t);i<this.panelDistance&&(clearTimeout(this.hoverCloseTimer),this.hoverCloseTimer=setTimeout(this.closeFromHover,200)),this.panelDistance=i},this.handleHoverFocusOut=t=>{this.closeWhenFocusLeaves&&!n(this.portalEl,t.relatedTarget)&&(this.closeWhenFocusLeaves=!1,this.hoverCloseTimer=setTimeout(this.closeFromHover,200))},this.closeFromHover=()=>{this.clearHoverTimers(),this.hoverOpened&&(n(this.portalEl,u())?this.closeWhenFocusLeaves=!0:this.hide())},this.shadowFocusStyle=null,this.watchedDialog=null,this.onDialogClose=()=>{this.hide()},this.handleSubmitFromPanel=t=>{this.portalEl&&n(t.target,this.portalEl)&&(n(this.portalEl,t.submitter)||n(this.portalEl,u()))&&(t.preventDefault(),t.stopPropagation())}}openOnChanged(){this.pin(),this.stopListeningForHover(this.triggerEl),this.stopListeningForHover(this.portalEl),this.isComponentMounted&&(this.listenForHover(this.triggerEl),this.listenForHover(this.portalEl))}applyPadding(){null!=this.portalEl&&(this.portalEl.style.padding=this.paddingToken())}paddingToken(){switch(this.padding){case"none":return"var(--pine-dimension-none)";case"xs":return"var(--pine-dimension-xs)";case"sm":return"var(--pine-dimension-sm)";default:return"var(--pine-dimension-md)"}}restorePlacementDefault(t){this.placement=l(this.el,"placement",t,"right")}componentDidLoad(){var t;this.boundClickOutsideHandler=this.handleClickOutside.bind(this),this.boundEscapeKeyHandler=this.handleEscapeKey.bind(this),this.boundScrollHandler=this.handleScroll.bind(this),this.boundResizeHandler=this.handleResize.bind(this),this.createPortal(),this.hasLoaded=!0;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector('slot[name="trigger"]');if(i&&null==this.triggerEl){const t=new("undefined"!=typeof window?window.Event:global.Event)("slotchange");Object.defineProperty(t,"target",{value:i,enumerable:!0}),this.handleTriggerSlotChange(t)}else this.linkTriggerToPortal()}observeTrigger(){var t;null===(t=this.triggerObserver)||void 0===t||t.disconnect(),this.triggerObserver=null,null!=this.triggerEl&&"undefined"!=typeof MutationObserver&&(this.triggerObserver=new MutationObserver(a((()=>this.linkTriggerToPortal()),"pds-popover: stopped restoring its trigger ARIA, as another script keeps changing it. It may be wrong until the popover opens or closes.",this.triggerEl)),this.triggerObserver.observe(this.triggerEl,{attributes:!0,attributeFilter:["aria-expanded","aria-controls"]}))}linkTriggerToPortal(){return null!=this.triggerEl&&null!=this.portalEl&&d(this.triggerEl,{"aria-expanded":this.active+"","aria-controls":this.portalEl.id})}listenForHover(t){"hover"===this.openOn&&null!=t&&(t.addEventListener("pointerenter",this.handleHoverEnter),t.addEventListener("pointerleave",this.handleHoverLeave),t.addEventListener("focusout",this.handleHoverFocusOut))}stopListeningForHover(t){null!=t&&(t.removeEventListener("pointerenter",this.handleHoverEnter),t.removeEventListener("pointerleave",this.handleHoverLeave),t.removeEventListener("focusout",this.handleHoverFocusOut))}distanceToPanel({clientX:t,clientY:i}){const s=this.portalEl.getBoundingClientRect();return Math.hypot(Math.max(s.left-t,0,t-s.right),Math.max(s.top-i,0,i-s.bottom))}pin(){var t;this.clearHoverTimers(),this.hoverOpened&&(this.hoverOpened=!1,"auto"!==this.popoverType&&(this.forgetOpen(),null===(t=this.portalEl)||void 0===t||t.removeAttribute("data-pds-popover-open"),document.removeEventListener("keydown",this.boundEscapeKeyHandler)))}clearHoverTimers(){clearTimeout(this.hoverOpenTimer),clearTimeout(this.hoverCloseTimer),this.hoverOpenTimer=void 0,this.hoverCloseTimer=void 0,this.closeWhenFocusLeaves=!1,document.removeEventListener("pointermove",this.handleMoveTowardPanel)}connectedCallback(){var t;this.hasLoaded&&(this.isComponentMounted=!0,this.createPortal(),null===(t=this.triggerEl)||void 0===t||t.addEventListener("click",this.handleTriggerClick),this.listenForHover(this.triggerEl),this.observeTrigger(),this.linkTriggerToPortal(),this.active&&(this.placePortal(),requestAnimationFrame((()=>this.handlePopoverPositioning()))))}disconnectedCallback(){var t;this.el.isConnected||(this.isComponentMounted=!1,this.unwatchDialogClose(),this.forgetOpen(),this.active&&(this.restorePortalContent(),this.active=!1,this.linkTriggerToPortal(),this.pdsPopoverClose.emit({componentId:this.componentId,popoverType:this.popoverType})),null!=this.triggerEl&&this.triggerEl.removeEventListener("click",this.handleTriggerClick),this.stopListeningForHover(this.triggerEl),null===(t=this.triggerObserver)||void 0===t||t.disconnect(),this.triggerObserver=null,this.removeLightDismissListeners(),this.removeScrollAndResizeListeners(),document.removeEventListener("submit",this.handleSubmitFromPanel,!0),this.clearDebounceTimers(),this.clearHoverTimers(),this.hoverOpened=!1,this.removePortal())}clearDebounceTimers(){null!==this.scrollDebounceTimer&&(clearTimeout(this.scrollDebounceTimer),this.scrollDebounceTimer=null),null!==this.resizeDebounceTimer&&(clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=null)}createPortal(){var i;null===this.portalEl&&(this.portalEl=document.createElement("div"),this.portalEl.className="pds-popover",this.portalEl.style.position="fixed",this.portalEl.style.zIndex="var(--pine-z-index-raised)",this.portalEl.style.maxWidth=this.maxWidth+"px",this.portalEl.style.display="none",this.portalEl.style.opacity="0",this.portalEl.style.visibility="hidden",this.portalEl.style.backgroundColor="var(--pine-color-background-overlay)",this.portalEl.style.borderRadius="var(--pine-dimension-125)",this.portalEl.style.boxShadow="var(--pine-box-shadow-200)",this.portalEl.style.margin="var(--pine-dimension-none)",this.portalEl.style.padding=this.paddingToken(),this.componentId?this.portalEl.id=this.componentId+"-portal":(null!==(i=this.generatedPortalId)&&void 0!==i||(this.generatedPortalId="pds-popover-portal-"+t.instanceCounter++),this.portalEl.id=this.generatedPortalId),document.body.appendChild(this.portalEl),this.addPortalFocusStyles(),this.listenForHover(this.portalEl))}addPortalFocusStyles(){if(!this.portalEl)return;const t=this.portalEl.id,i=c(t);if(document.querySelector(`style[data-pds-popover-focus="${i}"]`))return;const s=document.createElement("style");s.setAttribute("data-pds-popover-focus",t),s.textContent=`\n #${i}:focus {\n outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;\n outline-offset: var(--pine-border-width, 1px);\n }\n #${i}:focus:not(:focus-visible) {\n outline: none;\n }\n [data-theme="dark"] #${i} {\n border: var(--pine-border);\n }\n `,document.head.appendChild(s)}updatePortalContent(){var t;if(!this.portalEl)return;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".pds-popover__content-slot-wrapper"),s=null==i?void 0:i.querySelector("slot");s&&s.assignedNodes().forEach((t=>{var i;const s=t.parentNode===this.portalEl,e=this.movedNodes.some((i=>i.node===t));if(s||e)return;const h=document.createComment("pds-popover-placeholder");null===(i=t.parentNode)||void 0===i||i.insertBefore(h,t),this.portalEl.appendChild(t),this.movedNodes.push({node:t,placeholder:h})}))}restorePortalContent(){this.movedNodes.forEach((({node:t,placeholder:i})=>{i.parentNode&&(i.parentNode.insertBefore(t,i),i.parentNode.removeChild(i))})),this.movedNodes=[]}copyFocusStylesInto(t){var i,s,e;if(!(t instanceof ShadowRoot))return null===(i=this.shadowFocusStyle)||void 0===i||i.remove(),void(this.shadowFocusStyle=null);if((null===(s=this.shadowFocusStyle)||void 0===s?void 0:s.parentNode)===t||!this.portalEl)return;const h=document.querySelector(`style[data-pds-popover-focus="${c(this.portalEl.id)}"]`);h&&(null===(e=this.shadowFocusStyle)||void 0===e||e.remove(),this.shadowFocusStyle=h.cloneNode(!0),t.appendChild(this.shadowFocusStyle))}removePortal(){var t;if(null===(t=this.shadowFocusStyle)||void 0===t||t.remove(),this.shadowFocusStyle=null,this.portalEl){this.portalEl.parentNode&&this.portalEl.parentNode.removeChild(this.portalEl);const t=document.querySelector(`style[data-pds-popover-focus="${c(this.portalEl.id)}"]`);t&&t.parentNode&&t.parentNode.removeChild(t)}this.portalEl=null}async show(){!this.active&&this.portalEl&&(this.active=!0,this.openTimestamp=Date.now(),this.linkTriggerToPortal(),this.placePortal(),this.updatePortalContent(),("auto"===this.popoverType||this.hoverOpened)&&this.portalEl.setAttribute("data-pds-popover-open",""),this.portalEl.style.display="block",this.portalEl.style.opacity="1",this.portalEl.style.visibility="visible",requestAnimationFrame((()=>{this.isComponentMounted&&this.handlePopoverPositioning()})),this.addScrollAndResizeListeners(),document.addEventListener("submit",this.handleSubmitFromPanel,!0),"auto"===this.popoverType?(p.push(this),this.addLightDismissListeners()):this.hoverOpened&&(p.push(this),document.addEventListener("keydown",this.boundEscapeKeyHandler)),this.pdsPopoverOpen.emit({componentId:this.componentId,popoverType:this.popoverType}))}async hide(){if(this.clearHoverTimers(),!this.active||!this.portalEl)return;this.active=!1,this.hoverOpened=!1,this.unwatchDialogClose();const t=n(this.portalEl,u());this.linkTriggerToPortal(),this.restorePortalContent(),this.portalEl.style.border="",this.portalEl.removeAttribute("data-pds-popover-open"),this.portalEl.style.display="none",this.portalEl.style.opacity="0",this.portalEl.style.visibility="hidden",t&&this.returnFocusToTrigger(),this.forgetOpen(),this.removeLightDismissListeners(),this.removeScrollAndResizeListeners(),document.removeEventListener("submit",this.handleSubmitFromPanel,!0),this.clearDebounceTimers(),this.pdsPopoverClose.emit({componentId:this.componentId,popoverType:this.popoverType})}async toggle(){this.active?this.hide():this.show()}placePortal(){var t,i;if(!this.portalEl)return;const s=r("dialog[open]",this.el);if(!s)return this.unwatchDialogClose(),this.portalEl.style.border="",this.portalEl.parentElement!==document.body&&document.body.appendChild(this.portalEl),void this.copyFocusStylesInto(document);const e=r("form",this.el);(null===(t=this.el.parentElement)||void 0===t?void 0:t.shadowRoot)||e&&n(s,e)?this.portalEl.parentNode!==s&&s.appendChild(this.portalEl):this.el.nextElementSibling!==this.portalEl&&(null===(i=this.el.parentNode)||void 0===i||i.insertBefore(this.portalEl,this.el.nextSibling)),this.watchDialogClose(s);const h=this.portalEl.getRootNode();this.copyFocusStylesInto(h),this.portalEl.style.border=h instanceof ShadowRoot&&r('[data-theme="dark"]',this.el)?"var(--pine-border)":""}forgetOpen(){const t=p.indexOf(this);t>=0&&p.splice(t,1)}takesEscapeFrom(t){var i,s;const e=null!==(s=null===(i=t.composedPath)||void 0===i?void 0:i.call(t)[0])&&void 0!==s?s:t.target,h=r("dialog[open]",e);return!(h&&!n(h,this.portalEl)&&(h.classList.contains("pds-modal__backdrop")||h.matches(":modal")))}addLightDismissListeners(){document.addEventListener("click",this.boundClickOutsideHandler,!0),document.addEventListener("keydown",this.boundEscapeKeyHandler)}watchDialogClose(t){this.watchedDialog!==t&&(this.unwatchDialogClose(),this.watchedDialog=t,t.addEventListener("close",this.onDialogClose))}unwatchDialogClose(){var t;null===(t=this.watchedDialog)||void 0===t||t.removeEventListener("close",this.onDialogClose),this.watchedDialog=null}removeLightDismissListeners(){document.removeEventListener("click",this.boundClickOutsideHandler,!0),document.removeEventListener("keydown",this.boundEscapeKeyHandler)}addScrollAndResizeListeners(){window.addEventListener("scroll",this.boundScrollHandler,!0),window.addEventListener("resize",this.boundResizeHandler)}removeScrollAndResizeListeners(){window.removeEventListener("scroll",this.boundScrollHandler,!0),window.removeEventListener("resize",this.boundResizeHandler)}handleClickOutside(t){var i,s;if((t.timeStamp?Date.now()-(performance.now()-t.timeStamp):Date.now())<=this.openTimestamp)return;const e=null!==(s=null===(i=t.composedPath)||void 0===i?void 0:i.call(t)[0])&&void 0!==s?s:t.target,h=r(".pds-datepicker-calendar-portal",e),o=null==h?void 0:h.pdsDatepicker;if(o&&(n(this.portalEl,o)||n(this.triggerEl,o)))return;const l=n(this.portalEl,e),a=n(this.triggerEl,e);l||a||this.hide()}returnFocusToTrigger(){this.triggerEl&&this.triggerEl.focus({preventScroll:!0})}handleEscapeKey(t){"Escape"!==t.key||t.defaultPrevented||[...p].reverse().find((i=>i.takesEscapeFrom(t)))===this&&(t.preventDefault(),t.stopPropagation(),this.hide())}handleScroll(){this.active&&(null!==this.scrollDebounceTimer&&clearTimeout(this.scrollDebounceTimer),this.scrollDebounceTimer=setTimeout((()=>{this.handlePopoverPositioning(),this.scrollDebounceTimer=null}),10))}handleResize(){this.active&&(null!==this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=setTimeout((()=>{this.handlePopoverPositioning(),this.resizeDebounceTimer=null}),100))}handlePopoverPositioning(){if(this.isRepositioning)return;if(this.isRepositioning=!0,null==this.triggerEl||null==this.portalEl)return void(this.isRepositioning=!1);const t=this.triggerEl.getBoundingClientRect(),i=this.portalEl.getBoundingClientRect();if(0===t.width||0===t.height)return void(this.isRepositioning=!1);let s=0,e=0;switch(this.placement){case"top":s=t.top-i.height-8,e=t.left+(t.width-i.width)/2;break;case"top-start":s=t.top-i.height-8,e=t.left;break;case"top-end":s=t.top-i.height-8,e=t.right-i.width;break;case"right":s=t.top+(t.height-i.height)/2,e=t.right+8;break;case"right-start":s=t.top,e=t.right+8;break;case"right-end":s=t.bottom-i.height,e=t.right+8;break;case"bottom":s=t.bottom+8,e=t.left+(t.width-i.width)/2;break;case"bottom-start":s=t.bottom+8,e=t.left;break;case"bottom-end":s=t.bottom+8,e=t.right-i.width;break;case"left":s=t.top+(t.height-i.height)/2,e=t.left-i.width-8;break;case"left-start":s=t.top,e=t.left-i.width-8;break;case"left-end":s=t.bottom-i.height,e=t.left-i.width-8}this.portalEl.style.top=s+"px",this.portalEl.style.left=e+"px";const h=this.portalEl.getBoundingClientRect();(Math.abs(h.top-s)>.5||Math.abs(h.left-e)>.5)&&(this.portalEl.style.top=2*s-h.top+"px",this.portalEl.style.left=2*e-h.left+"px"),setTimeout((()=>{this.isRepositioning=!1}),16)}render(){return e(h,{key:"e48b897acdc9e89f2e6b1449e7a358da7da1060c",id:this.componentId},e("span",{key:"b83b2c234b07703c2c850a9991c94939ed2fdaf7",class:"pds-popover__trigger-wrapper"},e("slot",{key:"0a7f7829ee445fd57cf824ebee1409b3c571f983",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),e("div",{key:"8c1fe2d4d7c4342b4bd5eb4c56e596f17b4e14fa",class:"pds-popover__content-slot-wrapper"},e("slot",{key:"4ccfce1f335acbc436f7942e497f5d360f849d48",onSlotchange:this.handleContentSlotChange})))}get el(){return this}static get watchers(){return{openOn:[{openOnChanged:0}],padding:[{applyPadding:0}],placement:[{restorePlacementDefault:0}]}}static get style(){return":host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__content-slot-wrapper{display:none}"}},[257,"pds-popover",{popoverTargetAction:[1,"popover-target-action"],openOn:[1,"open-on"],popoverType:[1,"popover-type"],componentId:[1,"component-id"],maxWidth:[2,"max-width"],padding:[1],placement:[1537],active:[32],show:[64],hide:[64],toggle:[64]},void 0,{openOn:[{openOnChanged:0}],padding:[{applyPadding:0}],placement:[{restorePlacementDefault:0}]}]);v.instanceCounter=0;const m=v,f=function(){"undefined"!=typeof customElements&&["pds-popover"].forEach((t=>{"pds-popover"===t&&(customElements.get(o(t))||customElements.define(o(t),v))}))};export{m as PdsPopover,f as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as i,createEvent as s,h as e,Host as h,transformTag as o}from"@stencil/core/internal/client";import{p as n,a as r,c as l,o as a,f as d,s as p}from"./floating-ui.dom.js";import{a as c,c as u}from"./closest.js";import{r as v}from"./reflected-attribute-default.js";import{s as m}from"./attributes.js";import{l as f}from"./keep-hydrated.js";import{t as g}from"./tabbable.js";const b=t=>{const i=t+"",s=i.length,e=i.charCodeAt(0);let h="";for(let t=0;t<s;t++){const o=i.charCodeAt(t);h+=0!==o?o>=1&&o<=31||127===o||0===t&&o>=48&&o<=57||1===t&&o>=48&&o<=57&&45===e?`\\${o.toString(16)} `:0===t&&1===s&&45===o||!(o>=128||45===o||95===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122)?"\\"+i.charAt(t):i.charAt(t):"�"}return h},w=[],y=Object.assign(Object.assign({},n),{getOffsetParent:()=>window});function k(){var t;let i=document.activeElement;for(;null===(t=null==i?void 0:i.shadowRoot)||void 0===t?void 0:t.activeElement;)i=i.shadowRoot.activeElement;return i}function T(t,i){let s=t;for(;s.getRootNode()!==i.getRootNode()&&s.getRootNode()instanceof ShadowRoot;)s=s.getRootNode().host;return s}const x=new WeakMap,P=t(class t extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.pdsPopoverOpen=s(this,"pdsPopoverOpen",7),this.pdsPopoverClose=s(this,"pdsPopoverClose",7),this.active=!1,this.isComponentMounted=!0,this.hasLoaded=!1,this.generatedPortalId=null,this.triggerEl=null,this.triggerObserver=null,this.portalEl=null,this.stopAutoUpdate=null,this.positioningRun=0,this.positioning=Promise.resolve(),this.openEventPending=!1,this.movedNodes=[],this.openTimestamp=0,this.hoverOpened=!1,this.closeWhenFocusLeaves=!1,this.panelDistance=1/0,this.tabGuardEl=null,this.leavingPanel=!1,this.tabDirection=null,this.popoverTargetAction="show",this.openOn="click",this.popoverType="auto",this.maxWidth=352,this.padding="md",this.placement="right",this.handleTriggerSlotChange=t=>{const i=t.target.assignedElements();null!=this.triggerEl&&(this.triggerEl.removeEventListener("click",this.handleTriggerClick),this.stopListeningForHover(this.triggerEl)),i.length>0?(this.triggerEl=i[0],this.linkTriggerToPortal(),this.triggerEl.addEventListener("click",this.handleTriggerClick),this.listenForHover(this.triggerEl)):this.triggerEl=null,this.active&&this.addScrollAndResizeListeners(),this.observeTrigger()},this.handleContentSlotChange=()=>{this.active&&this.updatePortalContent()},this.handleTriggerClick=t=>{if(t.composedPath().find((t=>t instanceof HTMLAnchorElement&&t.href))||t.preventDefault(),"hover"===this.openOn&&"hide"!==this.popoverTargetAction){const t=this.hoverOpened;if(this.pin(),t)return}switch(this.popoverTargetAction){case"show":this.show();break;case"hide":this.hide();break;default:this.toggle()}},this.handleHoverEnter=t=>{"touch"!==t.pointerType&&(this.clearHoverTimers(),this.active||(this.hoverOpenTimer=setTimeout((()=>{this.hoverOpenTimer=void 0,this.active||null==this.portalEl||(this.hoverOpened=!0,this.show())}),120)))},this.handleHoverLeave=t=>{"touch"!==t.pointerType&&(this.clearHoverTimers(),this.hoverOpened&&(this.hoverCloseTimer=setTimeout(this.closeFromHover,200),t.currentTarget===this.triggerEl&&(this.panelDistance=this.distanceToPanel(t),document.addEventListener("pointermove",this.handleMoveTowardPanel))))},this.handleMoveTowardPanel=t=>{const i=this.distanceToPanel(t);i<this.panelDistance&&(clearTimeout(this.hoverCloseTimer),this.hoverCloseTimer=setTimeout(this.closeFromHover,200)),this.panelDistance=i},this.handleHoverFocusOut=t=>{this.closeWhenFocusLeaves&&!c(this.portalEl,t.relatedTarget)&&(this.closeWhenFocusLeaves=!1,this.hoverCloseTimer=setTimeout(this.closeFromHover,200))},this.closeFromHover=()=>{this.clearHoverTimers(),this.hoverOpened&&(c(this.portalEl,k())?this.closeWhenFocusLeaves=!0:this.hide())},this.shadowFocusStyle=null,this.watchedDialog=null,this.onDialogClose=()=>{this.hide()},this.handleSubmitFromPanel=t=>{this.portalEl&&c(t.target,this.portalEl)&&(c(this.portalEl,t.submitter)||c(this.portalEl,k()))&&(t.preventDefault(),t.stopPropagation())},this.syncTabGuard=t=>{if("Tab"!==t.key)return;this.releasePanel(),this.tabDirection=t.shiftKey?"backward":"forward",setTimeout(this.endTabKey);const i=this.guardedTabbables().length>0;null!=this.tabGuardEl&&(this.tabGuardEl.tabIndex=i?0:-1);const s=k();!i||c(this.portalEl,s)||u(".pds-popover, .pds-datepicker-calendar-portal, .pds-combobox-dropdown-portal",null!=s?s:document)||(this.portalEl.inert=!0)},this.endTabKey=()=>{this.tabDirection=null,this.releasePanel()},this.handleTabGuardFocus=t=>{if(this.leavingPanel)return;this.releasePanel();const i=this.guardedTabbables(),s=t.relatedTarget,e=(null!=this.tabDirection?"backward"===this.tabDirection:null!=s&&this.isAfterPopover(s))?i[i.length-1]:i[0];null==e?this.returnFocusToTrigger():e.focus()},this.handleTabFromPanel=t=>{if("Tab"!==t.key||t.defaultPrevented||null==this.tabGuardEl)return;const i=this.guardedTabbables(),s=t.shiftKey?i[0]:i[i.length-1];null!=s&&k()===s&&this.leavePanel(s,t.shiftKey)},this.releasePanel=()=>{null!=this.portalEl&&(this.portalEl.inert=!1)}}openOnChanged(){this.pin(),this.stopListeningForHover(this.triggerEl),this.stopListeningForHover(this.portalEl),this.isComponentMounted&&(this.listenForHover(this.triggerEl),this.listenForHover(this.portalEl))}applyPadding(){null!=this.portalEl&&(this.portalEl.style.padding=this.paddingToken())}paddingToken(){switch(this.padding){case"none":return"var(--pine-dimension-none)";case"xs":return"var(--pine-dimension-xs)";case"sm":return"var(--pine-dimension-sm)";default:return"var(--pine-dimension-md)"}}restorePlacementDefault(t){this.placement=v(this.el,"placement",t,"right")}componentDidLoad(){var t;this.boundClickOutsideHandler=this.handleClickOutside.bind(this),this.boundEscapeKeyHandler=this.handleEscapeKey.bind(this),this.createPortal(),this.hasLoaded=!0;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector('slot[name="trigger"]');if(i&&null==this.triggerEl){const t=new("undefined"!=typeof window?window.Event:global.Event)("slotchange");Object.defineProperty(t,"target",{value:i,enumerable:!0}),this.handleTriggerSlotChange(t)}else this.linkTriggerToPortal()}observeTrigger(){var t;null===(t=this.triggerObserver)||void 0===t||t.disconnect(),this.triggerObserver=null,null!=this.triggerEl&&"undefined"!=typeof MutationObserver&&(this.triggerObserver=new MutationObserver(f((()=>this.linkTriggerToPortal()),"pds-popover: stopped restoring its trigger ARIA, as another script keeps changing it. It may be wrong until the popover opens or closes.",this.triggerEl)),this.triggerObserver.observe(this.triggerEl,{attributes:!0,attributeFilter:["aria-expanded","aria-controls"]}))}linkTriggerToPortal(){return null!=this.triggerEl&&null!=this.portalEl&&m(this.triggerEl,{"aria-expanded":this.active+"","aria-controls":this.portalEl.id})}listenForHover(t){"hover"===this.openOn&&null!=t&&(t.addEventListener("pointerenter",this.handleHoverEnter),t.addEventListener("pointerleave",this.handleHoverLeave),t.addEventListener("focusout",this.handleHoverFocusOut))}stopListeningForHover(t){null!=t&&(t.removeEventListener("pointerenter",this.handleHoverEnter),t.removeEventListener("pointerleave",this.handleHoverLeave),t.removeEventListener("focusout",this.handleHoverFocusOut))}distanceToPanel({clientX:t,clientY:i}){const s=this.portalEl.getBoundingClientRect();return Math.hypot(Math.max(s.left-t,0,t-s.right),Math.max(s.top-i,0,i-s.bottom))}pin(){var t;this.clearHoverTimers(),this.hoverOpened&&(this.hoverOpened=!1,"auto"!==this.popoverType&&(this.forgetOpen(),null===(t=this.portalEl)||void 0===t||t.removeAttribute("data-pds-popover-open"),document.removeEventListener("keydown",this.boundEscapeKeyHandler)))}clearHoverTimers(){clearTimeout(this.hoverOpenTimer),clearTimeout(this.hoverCloseTimer),this.hoverOpenTimer=void 0,this.hoverCloseTimer=void 0,this.closeWhenFocusLeaves=!1,document.removeEventListener("pointermove",this.handleMoveTowardPanel)}connectedCallback(){var t;this.hasLoaded&&(this.isComponentMounted=!0,this.createPortal(),null===(t=this.triggerEl)||void 0===t||t.addEventListener("click",this.handleTriggerClick),this.listenForHover(this.triggerEl),this.observeTrigger(),this.linkTriggerToPortal(),this.active&&(this.placePortal(),this.addScrollAndResizeListeners()))}disconnectedCallback(){var t,i;this.el.isConnected||(this.isComponentMounted=!1,this.unwatchDialogClose(),this.forgetOpen(),this.active&&(this.restorePortalContent(),this.active=!1,this.linkTriggerToPortal(),this.emitOpenEvent(),this.pdsPopoverClose.emit({componentId:this.componentId,popoverType:this.popoverType})),null!=this.triggerEl&&this.triggerEl.removeEventListener("click",this.handleTriggerClick),this.stopListeningForHover(this.triggerEl),null===(t=this.triggerObserver)||void 0===t||t.disconnect(),this.triggerObserver=null,this.removeLightDismissListeners(),this.removeScrollAndResizeListeners(),document.removeEventListener("submit",this.handleSubmitFromPanel,!0),document.removeEventListener("keydown",this.syncTabGuard,!0),null===(i=this.tabGuardEl)||void 0===i||i.removeAttribute("tabindex"),this.clearHoverTimers(),this.hoverOpened=!1,this.removePortal())}createPortal(){var i;null===this.portalEl&&(this.portalEl=document.createElement("div"),this.portalEl.className="pds-popover",x.set(this.portalEl,this),this.portalEl.style.position="fixed",this.portalEl.style.zIndex="var(--pine-z-index-raised)",this.portalEl.style.maxWidth=this.maxWidth+"px",this.portalEl.style.display="none",this.portalEl.style.opacity="0",this.portalEl.style.visibility="hidden",this.portalEl.style.backgroundColor="var(--pine-color-background-overlay)",this.portalEl.style.borderRadius="var(--pine-dimension-125)",this.portalEl.style.boxShadow="var(--pine-box-shadow-200)",this.portalEl.style.margin="var(--pine-dimension-none)",this.portalEl.style.padding=this.paddingToken(),this.componentId?this.portalEl.id=this.componentId+"-portal":(null!==(i=this.generatedPortalId)&&void 0!==i||(this.generatedPortalId="pds-popover-portal-"+t.instanceCounter++),this.portalEl.id=this.generatedPortalId),document.body.appendChild(this.portalEl),this.addPortalFocusStyles(),this.listenForHover(this.portalEl),this.portalEl.addEventListener("keydown",this.handleTabFromPanel))}addPortalFocusStyles(){if(!this.portalEl)return;const t=this.portalEl.id,i=b(t);if(document.querySelector(`style[data-pds-popover-focus="${i}"]`))return;const s=document.createElement("style");s.setAttribute("data-pds-popover-focus",t),s.textContent=`\n #${i}:focus {\n outline: var(--pine-outline-focus, 2px solid var(--pine-color-focus-ring, #6366f1)) !important;\n outline-offset: var(--pine-border-width, 1px);\n }\n #${i}:focus:not(:focus-visible) {\n outline: none;\n }\n [data-theme="dark"] #${i} {\n border: var(--pine-border);\n }\n `,document.head.appendChild(s)}updatePortalContent(){var t;if(!this.portalEl)return;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".pds-popover__content-slot-wrapper"),s=null==i?void 0:i.querySelector("slot");s&&s.assignedNodes().forEach((t=>{var i;const s=t.parentNode===this.portalEl,e=this.movedNodes.some((i=>i.node===t));if(s||e)return;const h=document.createComment("pds-popover-placeholder");null===(i=t.parentNode)||void 0===i||i.insertBefore(h,t),this.portalEl.appendChild(t),this.movedNodes.push({node:t,placeholder:h})}))}restorePortalContent(){this.movedNodes.forEach((({node:t,placeholder:i})=>{i.parentNode&&(i.parentNode.insertBefore(t,i),i.parentNode.removeChild(i))})),this.movedNodes=[]}copyFocusStylesInto(t){var i,s,e;if(!(t instanceof ShadowRoot))return null===(i=this.shadowFocusStyle)||void 0===i||i.remove(),void(this.shadowFocusStyle=null);if((null===(s=this.shadowFocusStyle)||void 0===s?void 0:s.parentNode)===t||!this.portalEl)return;const h=document.querySelector(`style[data-pds-popover-focus="${b(this.portalEl.id)}"]`);h&&(null===(e=this.shadowFocusStyle)||void 0===e||e.remove(),this.shadowFocusStyle=h.cloneNode(!0),t.appendChild(this.shadowFocusStyle))}removePortal(){var t;if(null===(t=this.shadowFocusStyle)||void 0===t||t.remove(),this.shadowFocusStyle=null,this.portalEl){this.portalEl.parentNode&&this.portalEl.parentNode.removeChild(this.portalEl);const t=document.querySelector(`style[data-pds-popover-focus="${b(this.portalEl.id)}"]`);t&&t.parentNode&&t.parentNode.removeChild(t)}this.portalEl=null}async show(){if(this.active||!this.portalEl)return;let t;this.active=!0,this.openTimestamp=Date.now(),this.linkTriggerToPortal(),this.placePortal(),this.updatePortalContent(),("auto"===this.popoverType||this.hoverOpened)&&this.portalEl.setAttribute("data-pds-popover-open",""),this.portalEl.style.display="block",this.portalEl.style.opacity="1",this.portalEl.style.visibility="visible",this.addScrollAndResizeListeners(),document.addEventListener("submit",this.handleSubmitFromPanel,!0),document.addEventListener("keydown",this.syncTabGuard,!0),"auto"===this.popoverType?(w.push(this),this.addLightDismissListeners()):this.hoverOpened&&(w.push(this),document.addEventListener("keydown",this.boundEscapeKeyHandler)),this.openEventPending=!0;do{t=this.positioning,await t}while(t!==this.positioning);this.emitOpenEvent()}emitOpenEvent(){this.openEventPending&&(this.openEventPending=!1,this.pdsPopoverOpen.emit({componentId:this.componentId,popoverType:this.popoverType}))}async hide(){var t;if(this.clearHoverTimers(),!this.active||!this.portalEl)return;this.active=!1,this.hoverOpened=!1,this.unwatchDialogClose();const i=c(this.portalEl,k());this.linkTriggerToPortal(),this.restorePortalContent(),this.portalEl.style.border="",this.portalEl.removeAttribute("data-pds-popover-open"),this.portalEl.removeAttribute("data-pds-popover-placement"),this.portalEl.style.display="none",this.portalEl.style.opacity="0",this.portalEl.style.visibility="hidden",i&&this.returnFocusToTrigger(),this.forgetOpen(),this.removeLightDismissListeners(),this.removeScrollAndResizeListeners(),document.removeEventListener("submit",this.handleSubmitFromPanel,!0),document.removeEventListener("keydown",this.syncTabGuard,!0),null===(t=this.tabGuardEl)||void 0===t||t.removeAttribute("tabindex"),this.releasePanel(),this.emitOpenEvent(),this.pdsPopoverClose.emit({componentId:this.componentId,popoverType:this.popoverType})}async toggle(){this.active?await this.hide():await this.show()}placePortal(){var t,i;if(!this.portalEl)return;const s=u("dialog[open]",this.el);if(!s)return this.unwatchDialogClose(),this.portalEl.style.border="",this.portalEl.parentElement!==document.body&&document.body.appendChild(this.portalEl),void this.copyFocusStylesInto(document);const e=u("form",this.el);(null===(t=this.el.parentElement)||void 0===t?void 0:t.shadowRoot)||e&&c(s,e)?this.portalEl.parentNode!==s&&s.appendChild(this.portalEl):this.el.nextElementSibling!==this.portalEl&&(null===(i=this.el.parentNode)||void 0===i||i.insertBefore(this.portalEl,this.el.nextSibling)),this.watchDialogClose(s);const h=this.portalEl.getRootNode();this.copyFocusStylesInto(h),this.portalEl.style.border=h instanceof ShadowRoot&&u('[data-theme="dark"]',this.el)?"var(--pine-border)":""}forgetOpen(){const t=w.indexOf(this);t>=0&&w.splice(t,1)}takesEscapeFrom(t){var i,s;const e=null!==(s=null===(i=t.composedPath)||void 0===i?void 0:i.call(t)[0])&&void 0!==s?s:t.target,h=u("dialog[open]",e);return!(h&&!c(h,this.portalEl)&&(h.classList.contains("pds-modal__backdrop")||h.matches(":modal")))}addLightDismissListeners(){document.addEventListener("click",this.boundClickOutsideHandler,!0),document.addEventListener("keydown",this.boundEscapeKeyHandler)}watchDialogClose(t){this.watchedDialog!==t&&(this.unwatchDialogClose(),this.watchedDialog=t,t.addEventListener("close",this.onDialogClose))}unwatchDialogClose(){var t;null===(t=this.watchedDialog)||void 0===t||t.removeEventListener("close",this.onDialogClose),this.watchedDialog=null}removeLightDismissListeners(){document.removeEventListener("click",this.boundClickOutsideHandler,!0),document.removeEventListener("keydown",this.boundEscapeKeyHandler)}guardedTabbables(){return null==this.portalEl||this.el.nextElementSibling===this.portalEl?[]:g(this.portalEl)}isAfterPopover(t){return!c(this.el,t)&&((t,i)=>!(t&Node.DOCUMENT_POSITION_DISCONNECTED||!(t&i)))(function(t,i){const s=T(i,t);return T(t,s).compareDocumentPosition(s)}(this.el,t),Node.DOCUMENT_POSITION_FOLLOWING)}leavePanel(t,i){var s,e;this.leavingPanel=!0,null===(s=this.tabGuardEl)||void 0===s||s.focus(),this.leavingPanel=!1,this.portalEl.inert=!0,setTimeout((()=>this.finishLeavingPanel(t)));const h=x.get(u(".pds-popover",this.el)),o=null!==(e=null==h?void 0:h.guardedTabbables())&&void 0!==e?e:[];i||o[o.length-1]!==this.tabGuardEl||h.leavePanel(t,!1)}finishLeavingPanel(t){var i;this.releasePanel(),this.active&&(null===(i=this.el.shadowRoot)||void 0===i?void 0:i.activeElement)===this.tabGuardEl&&t.focus()}addScrollAndResizeListeners(){this.removeScrollAndResizeListeners(),null!=this.triggerEl&&null!=this.portalEl&&(this.stopAutoUpdate=r(this.triggerEl,this.portalEl,(()=>{this.positioning=this.handlePopoverPositioning().catch((t=>console.warn("pds-popover: failed to position the panel",t)))})))}removeScrollAndResizeListeners(){var t;null===(t=this.stopAutoUpdate)||void 0===t||t.call(this),this.stopAutoUpdate=null}handleClickOutside(t){var i,s;if((t.timeStamp?Date.now()-(performance.now()-t.timeStamp):Date.now())<=this.openTimestamp)return;const e=null!==(s=null===(i=t.composedPath)||void 0===i?void 0:i.call(t)[0])&&void 0!==s?s:t.target,h=u(".pds-datepicker-calendar-portal",e),o=null==h?void 0:h.pdsDatepicker;if(o&&(c(this.portalEl,o)||c(this.triggerEl,o)))return;const n=c(this.portalEl,e),r=c(this.triggerEl,e);n||r||this.hide()}returnFocusToTrigger(){this.triggerEl&&this.triggerEl.focus({preventScroll:!0})}handleEscapeKey(t){"Escape"!==t.key||t.defaultPrevented||[...w].reverse().find((i=>i.takesEscapeFrom(t)))===this&&(t.preventDefault(),t.stopPropagation(),this.hide())}async handlePopoverPositioning(){const t=++this.positioningRun;if(null==this.triggerEl||null==this.portalEl)return;const i=this.triggerEl.getBoundingClientRect();if(0===i.width||0===i.height)return;const s=this.portalEl,{x:e,y:h,placement:o}=await l(this.triggerEl,s,{placement:this.placement,strategy:"fixed",middleware:[a(8),d({fallbackStrategy:"initialPlacement"}),p({padding:8})],platform:y});if(!this.active||t!==this.positioningRun||s!==this.portalEl)return;s.setAttribute("data-pds-popover-placement",o);const n=(t=>{var i;const s=document.createElement("div");s.style.cssText="all: initial; position: fixed; top: 0; left: 0;",null===(i=t.parentNode)||void 0===i||i.insertBefore(s,t);const{top:e,left:h}=s.getBoundingClientRect();return s.remove(),{top:e,left:h}})(s);s.style.top=h-n.top+"px",s.style.left=e-n.left+"px"}render(){return e(h,{key:"85422eb7544a4795ce78b51684b7224a5d856a4e",id:this.componentId},e("span",{key:"6fe9c827ed4d46ca723d6013f296faf80ba31366",class:"pds-popover__trigger-wrapper"},e("slot",{key:"970d1974d2be1451e670a36e7d2ccdc5979595bb",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),e("span",{key:"0c76f76286a30d8e6e948bd0abab3317b3673aa6",class:"pds-popover__tab-guard",ref:t=>this.tabGuardEl=null!=t?t:null,onFocus:this.handleTabGuardFocus}),e("div",{key:"692c45e93899e74a3d5970f3a3625f6115ab63b0",class:"pds-popover__content-slot-wrapper"},e("slot",{key:"f1566e0eb1eb08626f2a8285447702ce96b09f4d",onSlotchange:this.handleContentSlotChange})))}get el(){return this}static get watchers(){return{openOn:[{openOnChanged:0}],padding:[{applyPadding:0}],placement:[{restorePlacementDefault:0}]}}static get style(){return":host{--sizing-max-width-default:352px;display:inline-block}:host .pds-popover__trigger-wrapper{display:inline-block}:host .pds-popover__tab-guard{opacity:0;outline:none;pointer-events:none;position:fixed}:host .pds-popover__content-slot-wrapper{display:none}"}},[257,"pds-popover",{popoverTargetAction:[1,"popover-target-action"],openOn:[1,"open-on"],popoverType:[1,"popover-type"],componentId:[1,"component-id"],maxWidth:[2,"max-width"],padding:[1],placement:[1537],active:[32],show:[64],hide:[64],toggle:[64]},void 0,{openOn:[{openOnChanged:0}],padding:[{applyPadding:0}],placement:[{restorePlacementDefault:0}]}]);P.instanceCounter=0;const O=P,_=function(){"undefined"!=typeof customElements&&["pds-popover"].forEach((t=>{"pds-popover"===t&&(customElements.get(o(t))||customElements.define(o(t),P))}))};export{O as PdsPopover,_ as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as r,h as s,Host as i,transformTag as o}from"@stencil/core/internal/client";import{H as t}from"./attributes.js";import{n as a}from"./utils.js";const n=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.hostKeeper=new t,this.animated=!1,this.percent=0,this.showPercent=!1}connectedCallback(){this.hostKeeper.connect(this.el)}disconnectedCallback(){this.hostKeeper.disconnect()}render(){const e=a(this.fillColor),r=this.animated?{"is-animated":this.animated}:"";return this.hostKeeper.record(r),s(i,{key:"a224e1e9bc50433553ab8bf4b0d772f01148ee76",class:r},s("div",{key:"261742044f3d68c204cbf640cc4447eb6d74df11",class:"pds-progress"},s("label",{key:"d686bdc6ab450bf8c14dd56077525a3139593f46",class:"pds-progress__label",htmlFor:this.componentId},this.label),s("progress",{key:"c716e977a952a628aec600fa680aa9c3b8d0e996",id:this.componentId,max:"100",style:e?{"--color-progress-fill":e}:{},value:this.percent})),this.showPercent&&s("div",{key:"44176a580b435f69993be4a60ee2e888b87e10fb",class:"pds-progress__percentage"},this.percent,"%"))}get el(){return this}static get style(){return":host{--color-progress-fill:var(--pine-color-primary);--sizing-progress-bar-width:100%;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:var(--sizing-progress-bar-width)}@-webkit-keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}@keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}.pds-progress{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-background-muted);border-radius:var(--pine-dimension-2xs);display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:var(--pine-dimension-xs);position:relative;width:100%}:host(.is-animated) progress,:host(.is-animated) progress::-webkit-progress-bar{-webkit-animation:progressBar 3s ease;animation:progressBar 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}progress,progress::-webkit-progress-bar{background-color:transparent;border:0;height:var(--pine-dimension-xs);width:100%}progress::-webkit-progress-value{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}progress::-moz-progress-bar{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}.pds-progress__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pds-progress__percentage{font-weight:var(--pine-font-weight-medium);-webkit-margin-start:calc(var(--pine-dimension-md) / 2);margin-inline-start:calc(var(--pine-dimension-md) / 2)}"}},[1,"pds-progress",{animated:[4],componentId:[1,"component-id"],fillColor:[1,"fill-color"],label:[1],percent:[2],showPercent:[4,"show-percent"]}]),d=n,l=function(){"undefined"!=typeof customElements&&["pds-progress"].forEach((e=>{"pds-progress"===e&&(customElements.get(o(e))||customElements.define(o(e),n))}))};export{d as PdsProgress,l as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as r,h as s,Host as i,transformTag as o}from"@stencil/core/internal/client";import{H as t}from"./attributes.js";import{n as a}from"./utils.js";const n=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.hostKeeper=new t,this.animated=!1,this.percent=0,this.showPercent=!1}connectedCallback(){this.hostKeeper.connect(this.el)}disconnectedCallback(){this.hostKeeper.disconnect()}render(){const e=a(this.fillColor),r=this.animated?{"is-animated":this.animated}:"";return this.hostKeeper.record(r),s(i,{key:"6d2151cdd1f65b33a7478e5ac12df711d8252d1f",class:r},s("div",{key:"4a902c6c7d51fe8e8a778e1fa24bdbf95d625b1f",class:"pds-progress"},s("label",{key:"c50955234a7eee05cdf47531e25b4413f206e416",class:"pds-progress__label",htmlFor:this.componentId},this.label),s("progress",{key:"c54ad90f7b3fcf3368afca4c5618949f1a370114",id:this.componentId,max:"100",style:e?{"--color-progress-fill":e}:{},value:this.percent})),this.showPercent&&s("div",{key:"6b3e3f42f04a516ef7992d1f8bc967be432f55bb",class:"pds-progress__percentage"},this.percent,"%"))}get el(){return this}static get style(){return":host{--color-progress-fill:var(--pine-color-primary);--sizing-progress-bar-width:100%;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:var(--sizing-progress-bar-width)}@-webkit-keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}@keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}.pds-progress{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-background-muted);border-radius:var(--pine-dimension-2xs);display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:var(--pine-dimension-xs);position:relative;width:100%}:host(.is-animated) progress,:host(.is-animated) progress::-webkit-progress-bar{-webkit-animation:progressBar 3s ease;animation:progressBar 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}progress,progress::-webkit-progress-bar{background-color:transparent;border:0;height:var(--pine-dimension-xs);width:100%}progress::-webkit-progress-value{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}progress::-moz-progress-bar{background:var(--color-progress-fill, var(--pine-color-primary));border-radius:var(--pine-dimension-2xs)}.pds-progress__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pds-progress__percentage{font-weight:var(--pine-font-weight-medium);-webkit-margin-start:calc(var(--pine-dimension-md) / 2);margin-inline-start:calc(var(--pine-dimension-md) / 2)}"}},[1,"pds-progress",{animated:[4],componentId:[1,"component-id"],fillColor:[1,"fill-color"],label:[1],percent:[2],showPercent:[4,"show-percent"]}]),d=n,l=function(){"undefined"!=typeof customElements&&["pds-progress"].forEach((e=>{"pds-progress"===e&&(customElements.get(o(e))||customElements.define(o(e),n))}))};export{d as PdsProgress,l as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as s,h as t,Host as o,transformTag as c}from"@stencil/core/internal/client";import{d as n}from"./pds-box2.js";import{d}from"./pds-icon2.js";const r=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.icon="star"}render(){return t(o,{key:"d599b62be4bacf1d89afcc26b14fc93bdc9bb3a4",id:this.componentId},t("pds-box",{key:"d7f80f6598615c761d672893c8acab09bd9ea33f","align-items":"center",gap:"xs"},t("pds-icon",{key:"15a6a6545c2cd2332bd830451106b7b08adc39ff",icon:this.icon,size:"var(--pine-dimension-sm)","aria-hidden":"true"}),t("slot",{key:"4e5661563b99ec56189447faabcdd1ae631159b2"})))}static get style(){return":host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}"}},[257,"pds-property",{componentId:[1,"component-id"],icon:[1]}]),i=r,a=function(){"undefined"!=typeof customElements&&["pds-property","pds-box","pds-icon"].forEach((e=>{switch(e){case"pds-property":customElements.get(c(e))||customElements.define(c(e),r);break;case"pds-box":customElements.get(c(e))||n();break;case"pds-icon":customElements.get(c(e))||d()}}))};export{i as PdsProperty,a as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as s,h as t,Host as o,transformTag as d}from"@stencil/core/internal/client";import{d as n}from"./pds-box2.js";import{d as r}from"./pds-icon2.js";const c=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.icon="star"}render(){return t(o,{key:"198ffd747b7a84a6f58a1b072890fc8bd3ed93aa",id:this.componentId},t("pds-box",{key:"be71f3d96efea0a45f357d888f71dbe5ad8b68d6","align-items":"center",gap:"xs"},t("pds-icon",{key:"1a52407e00b158d5e6a515ad4b07ed3407d31f75",icon:this.icon,size:"var(--pine-dimension-sm)","aria-hidden":"true"}),t("slot",{key:"46ac5019b27bdd079c7853abeef8f7c240d19c2c"})))}static get style(){return":host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}"}},[257,"pds-property",{componentId:[1,"component-id"],icon:[1]}]),i=c,a=function(){"undefined"!=typeof customElements&&["pds-property","pds-box","pds-icon"].forEach((e=>{switch(e){case"pds-property":customElements.get(d(e))||customElements.define(d(e),c);break;case"pds-box":customElements.get(d(e))||n();break;case"pds-icon":customElements.get(d(e))||r()}}))};export{i as PdsProperty,a as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as r,Host as o,transformTag as a}from"@stencil/core/internal/client";import{m as d}from"./form.js";import{h as n}from"./index2.js";import{d as p}from"./pds-icon2.js";const t=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioGroupChange=i(this,"pdsRadioGroupChange",7),this.direction="column",this.gap="xs",this.disabled=!1,this.invalid=!1,this.required=!1}handlePropsChange(){this.updateChildRadios()}handleRadioChange(e){const s=e.target;if("radio"===s.type&&s.checked){const e=s.closest("pds-radio");e&&this.pdsRadioGroupChange.emit({checked:!0,value:e.value,componentId:e.componentId})}}updateChildRadios(){this.el.querySelectorAll("pds-radio").forEach((e=>{this.name?e.setAttribute("name",this.name):e.removeAttribute("name"),this.disabled?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),this.invalid?e.setAttribute("invalid","true"):e.removeAttribute("invalid"),this.required?e.setAttribute("required","true"):e.removeAttribute("required")}))}componentWillLoad(){if(this.componentId)this._groupId=this.componentId;else{const e="undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).substring(2,9)}`;this._groupId="radio-group-"+e}}componentDidLoad(){this.name||console.warn("pds-radio-group: name prop is required for proper radio group functionality"),this.updateChildRadios()}componentDidRender(){const e=this.el.querySelector(".pds-radio-group__radios");if(null===e)return;const s=()=>Array.from(e.children).find((e=>e.matches(".pds-radio-group__radios, .pds-radio-group__label, .pds-radio-group__message")));let i=s();for(;void 0!==i;)i.matches(".pds-radio-group__radios")&&Array.from(i.childNodes).forEach((s=>e.insertBefore(s,i))),i.remove(),i=s()}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),e.join(" ")}getGapValue(){const e={none:"0",xxs:"var(--pine-dimension-xxs)",xs:"var(--pine-dimension-xs)",sm:"var(--pine-dimension-sm)",md:"var(--pine-dimension-md)",lg:"var(--pine-dimension-lg)",xl:"var(--pine-dimension-xl)",xxl:"var(--pine-dimension-xxl)"};return e[this.gap]?e[this.gap]:`var(--pine-dimension-${this.gap})`}getAriaDescribedBy(){const e=[];return this.errorMessage&&e.push(d(this._groupId,"error")),this.helperMessage&&e.push(d(this._groupId,"helper")),e.length>0?e.join(" "):void 0}render(){const e=this.getGapValue(),s=this.getAriaDescribedBy();return r(o,{key:"bf8063c1a99e272bb3f6bc647998a6ef103f8a71",class:this.classNames(),id:this._groupId,role:"group","aria-describedby":s,style:{"--pds-radio-group-gap":e}},this.groupLabel&&r("div",{key:"8564ed3f8f99cdc1a0e5b189aacc6960923eb5f7",class:"pds-radio-group__label"},this.groupLabel),r("div",{key:"2309c9373790182cde030c1dbda88fa3bdcaaf12",class:{"pds-radio-group__radios":!0,"pds-radio-group__radios--row":"row"===this.direction,"pds-radio-group__radios--column":"column"===this.direction}},r("slot",{key:"d88dde3c631e25c01bc7b6d3ef5d517255fabd1a",onSlotchange:()=>this.updateChildRadios()})),this.helperMessage&&r("div",{key:"a229214ed01663b0fc34f35e27c7148b4eb412ab",class:"pds-radio-group__message",id:d(this._groupId,"helper")},this.helperMessage),this.errorMessage&&r("div",{key:"dc092f2e6dbef0cb369cf00a6eccf9a095a0313d",class:"pds-radio-group__message pds-radio-group__message--error",id:d(this._groupId,"error"),"aria-live":"assertive"},r("pds-icon",{key:"83b0129d3d45b74ef1f53acc923387b2de7f079b","aria-hidden":"true",icon:n,size:"small"}),this.errorMessage))}get el(){return this}static get watchers(){return{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}}static get style(){return".sc-pds-radio-group-h{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-sm)}.is-invalid.sc-pds-radio-group-h .pds-radio-group__message--error.sc-pds-radio-group{color:var(--pine-color-text-message-danger)}.pds-radio-group__label.sc-pds-radio-group{color:var(--pine-color-text-label);font:var(--pine-typography-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}.pds-radio-group__radios.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pds-radio-group-gap, var(--pine-dimension-xs))}.pds-radio-group__radios--row.sc-pds-radio-group{-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.pds-radio-group__radios--column.sc-pds-radio-group{-ms-flex-direction:column;flex-direction:column}.pds-radio-group__message.sc-pds-radio-group{color:var(--pine-color-text-message);font:var(--pine-typography-body);width:100%}.pds-radio-group__message--error.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio-group__message--error.sc-pds-radio-group pds-icon.sc-pds-radio-group{-webkit-margin-before:var(--pine-dimension-050);margin-block-start:var(--pine-dimension-050)}"}},[262,"pds-radio-group",{componentId:[1,"component-id"],direction:[1],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],gap:[1],disabled:[4],invalid:[4],groupLabel:[1,"group-label"],name:[1],required:[4]},[[0,"change","handleRadioChange"]],{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}]),l=t,c=function(){"undefined"!=typeof customElements&&["pds-radio-group","pds-icon"].forEach((e=>{switch(e){case"pds-radio-group":customElements.get(a(e))||customElements.define(a(e),t);break;case"pds-icon":customElements.get(a(e))||p()}}))};export{l as PdsRadioGroup,c as defineCustomElement}
1
+ import{proxyCustomElement as i,HTMLElement as e,createEvent as s,forceUpdate as r,h as a,Host as o,transformTag as d}from"@stencil/core/internal/client";import{H as t}from"./attributes.js";import{m as n}from"./form.js";import{h as p}from"./index2.js";import{d as l}from"./pds-icon2.js";const h=i(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.pdsRadioGroupChange=s(this,"pdsRadioGroupChange",7),this.direction="column",this.gap="xs",this.disabled=!1,this.invalid=!1,this.required=!1,this.hostKeeper=new t}handlePropsChange(){this.updateChildRadios()}handleRadioChange(i){const e=i.target;if("radio"===e.type&&e.checked){const i=e.closest("pds-radio");i&&this.pdsRadioGroupChange.emit({checked:!0,value:i.value,componentId:i.componentId})}}updateChildRadios(){this.el.querySelectorAll("pds-radio").forEach((i=>{this.name?i.setAttribute("name",this.name):i.removeAttribute("name"),this.disabled?i.setAttribute("disabled","true"):i.removeAttribute("disabled"),this.invalid?i.setAttribute("invalid","true"):i.removeAttribute("invalid"),this.required?i.setAttribute("required","true"):i.removeAttribute("required")}))}connectedCallback(){this.hostKeeper.connect(this.el),this.syncName(),"undefined"!=typeof MutationObserver&&(this.hostAriaObserver=new MutationObserver((()=>this.syncName())),this.hostAriaObserver.observe(this.el,{attributeFilter:["aria-label","aria-labelledby"]}))}disconnectedCallback(){var i;this.hostKeeper.disconnect(),null===(i=this.hostAriaObserver)||void 0===i||i.disconnect(),this.hostAriaObserver=void 0}syncName(){void 0!==this._groupId&&this.getAriaLabelledBy()!==this.renderedLabelledBy&&r(this)}componentWillLoad(){if(this.componentId)this._groupId=this.componentId;else{const i="undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).substring(2,9)}`;this._groupId="radio-group-"+i}const i=this.el.getAttribute("id");i&&i!==this._groupId&&["aria-labelledby","aria-describedby"].forEach((e=>{var s,r;(null!==(r=null===(s=this.el.getAttribute(e))||void 0===s?void 0:s.split(/\s+/))&&void 0!==r?r:[]).some((e=>e.startsWith(i+"__")))&&this.el.removeAttribute(e)}))}componentDidLoad(){this.name||console.warn("pds-radio-group: name prop is required for proper radio group functionality"),this.updateChildRadios()}componentDidRender(){const i=this.el.querySelector(".pds-radio-group__radios");if(null===i)return;const e=()=>Array.from(i.children).find((i=>i.matches(".pds-radio-group__radios, .pds-radio-group__label, .pds-radio-group__message")));let s=e();for(;void 0!==s;)s.matches(".pds-radio-group__radios")&&Array.from(s.childNodes).forEach((e=>i.insertBefore(e,s))),s.remove(),s=e()}classNames(){const i=[];return this.invalid&&i.push("is-invalid"),i.join(" ")}getGapValue(){const i={none:"0",xxs:"var(--pine-dimension-xxs)",xs:"var(--pine-dimension-xs)",sm:"var(--pine-dimension-sm)",md:"var(--pine-dimension-md)",lg:"var(--pine-dimension-lg)",xl:"var(--pine-dimension-xl)",xxl:"var(--pine-dimension-xxl)"};return i[this.gap]?i[this.gap]:`var(--pine-dimension-${this.gap})`}get labelId(){return this._groupId+"__label"}getAriaLabelledBy(){var i;const e=this.el.getAttribute("aria-labelledby");return(null==e?void 0:e.trim())&&e!==this.labelId?e:(null===(i=this.el.getAttribute("aria-label"))||void 0===i?void 0:i.trim())?void 0:this.groupLabel?this.labelId:void 0}getAriaDescribedBy(){const i=[];return this.errorMessage&&i.push(n(this._groupId,"error")),this.helperMessage&&i.push(n(this._groupId,"helper")),i.length>0?i.join(" "):void 0}render(){const i=this.getGapValue(),e=this.getAriaDescribedBy(),s=this.getAriaLabelledBy(),r=this.classNames();return this.renderedLabelledBy=s,this.hostKeeper.record(r,{"--pds-radio-group-gap":i},{role:"radiogroup","aria-describedby":e,"aria-labelledby":s===this.labelId?s:void 0}),a(o,{key:"0fe381f99dddae0aeb9189a13b0e2195f1c79886",class:r,id:this._groupId,role:"radiogroup","aria-labelledby":s,"aria-describedby":e,style:{"--pds-radio-group-gap":i}},this.groupLabel&&a("div",{key:"4967dc22fa0265dbfbabf94a49b182b8c06d0bd5",class:"pds-radio-group__label",id:this.labelId},this.groupLabel),a("div",{key:"7a782a6920de7eda76ab0060c7512f093671ad41",class:{"pds-radio-group__radios":!0,"pds-radio-group__radios--row":"row"===this.direction,"pds-radio-group__radios--column":"column"===this.direction}},a("slot",{key:"48a8d2d74961a402e3a1b053b2f0314e74b4b289",onSlotchange:()=>this.updateChildRadios()})),this.helperMessage&&a("div",{key:"58db96d62b8d89f03ab245990d2d6bbd3b1b5f85",class:"pds-radio-group__message",id:n(this._groupId,"helper")},this.helperMessage),this.errorMessage&&a("div",{key:"ad3aafe5f7ed45853c36b537525a8fff68452f55",class:"pds-radio-group__message pds-radio-group__message--error",id:n(this._groupId,"error"),"aria-live":"assertive"},a("pds-icon",{key:"80ce92868703c5e01434e7e83a7668e320bcbee1","aria-hidden":"true",icon:p,size:"small"}),this.errorMessage))}get el(){return this}static get watchers(){return{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}}static get style(){return".sc-pds-radio-group-h{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-sm)}.is-invalid.sc-pds-radio-group-h .pds-radio-group__message--error.sc-pds-radio-group{color:var(--pine-color-text-message-danger)}.pds-radio-group__label.sc-pds-radio-group{color:var(--pine-color-text-label);font:var(--pine-typography-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}.pds-radio-group__radios.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pds-radio-group-gap, var(--pine-dimension-xs))}.pds-radio-group__radios--row.sc-pds-radio-group{-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.pds-radio-group__radios--column.sc-pds-radio-group{-ms-flex-direction:column;flex-direction:column}.pds-radio-group__message.sc-pds-radio-group{color:var(--pine-color-text-message);font:var(--pine-typography-body);width:100%}.pds-radio-group__message--error.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio-group__message--error.sc-pds-radio-group pds-icon.sc-pds-radio-group{-webkit-margin-before:var(--pine-dimension-050);margin-block-start:var(--pine-dimension-050)}"}},[262,"pds-radio-group",{componentId:[1,"component-id"],direction:[1],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],gap:[1],disabled:[4],invalid:[4],groupLabel:[1,"group-label"],name:[1],required:[4]},[[0,"change","handleRadioChange"]],{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}]),c=h,g=function(){"undefined"!=typeof customElements&&["pds-radio-group","pds-icon"].forEach((i=>{switch(i){case"pds-radio-group":customElements.get(d(i))||customElements.define(d(i),h);break;case"pds-icon":customElements.get(d(i))||l()}}))};export{c as PdsRadioGroup,g as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as r,h as a,Host as s,transformTag as o}from"@stencil/core/internal/client";import{H as d}from"./attributes.js";import{e as n,a as t,m as l}from"./form.js";import{h as c}from"./index2.js";import{d as p}from"./pds-icon2.js";const h=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioChange=r(this,"pdsRadioChange",7),this._type="radio",this.hostKeeper=new d,this._hasImage=!1,this.checked=!1,this.disabled=!1,this.hasBorder=!1,this.invalid=!1,this.required=!1,this.handleRadioChange=e=>{if(this.disabled)return;const i=e.target.checked;this.el.closest("pds-radio-group")||this.pdsRadioChange.emit(i)}}hasImageSlot(){return!!this.el.querySelector('[slot="image"]')}hasImage(){return this._hasImage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),this.hasBorder&&e.push("has-border"),this.hasImage()&&e.push("has-image"),e.join(" ")}componentWillLoad(){this._hasImage=this.hasImageSlot()}connectedCallback(){this.hostKeeper.connect(this.el),n(this.el,(()=>this._type))}disconnectedCallback(){this.hostKeeper.disconnect()}componentDidRender(){const e=this.el.querySelector(".pds-radio__image-container:not([hidden])");Array.from(this.el.querySelectorAll(".pds-radio__image-container[hidden], .pds-radio__content-wrapper[hidden], label[hidden], .pds-radio__message[hidden]")).forEach((i=>{const r=i.querySelector('[slot="image"]');null!==r&&null!==e&&e.appendChild(r),i.remove()}))}render(){const e=()=>[a("label",{htmlFor:this.componentId,key:this.componentId+"-label"},a("input",{key:"ccd618855831bcee309e815f2cd2712fd4e8fe1f","aria-describedby":t(this.componentId,this.invalid,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid?"true":void 0,type:"radio",id:this.componentId,name:this.name,value:this.value,checked:this.checked,required:this.required,disabled:this.disabled,onChange:this.handleRadioChange,class:this.hasImage()?"visually-hidden":""}),a("span",{key:"2e372a880c28f48fb804bac2518208082c141fad",class:this.hideLabel?"visually-hidden":""},this.label)),this.helperMessage&&a("div",{key:this.componentId+"-helper",class:"pds-radio__message",id:l(this.componentId,"helper")},this.helperMessage),this.errorMessage&&a("div",{key:this.componentId+"-error",class:"pds-radio__message pds-radio__message--error",id:l(this.componentId,"error"),"aria-live":"assertive"},a("pds-icon",{key:"08e7a2319eddc1d314ee9dddd51a5ce88cd4ae48","aria-hidden":"true",icon:c,size:"small"}),this.errorMessage)],i=this.classNames();return this.hostKeeper.record(i),a(s,{key:"351376552abee90f50c3aceb03ecf8a81ae1b82b",class:i},this.hasImage()&&a("div",{key:"fd85fd36b2ebd99b12c3bb2a13cf3d3e3c26530f",class:"pds-radio__image-container",part:"image-container"},a("slot",{key:"abe75dbe38d29340b805f70861b084c1b3836be9",name:"image",onSlotchange:()=>this._hasImage=this.hasImageSlot()})),this.hasImage()?a("div",{class:"pds-radio__content-wrapper"},e()):e())}get el(){return this}static get style(){return'.sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}.sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;position:relative}.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}.has-border.sc-pds-radio-h{-ms-flex-align:start;align-items:flex-start;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-border.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-border.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-border.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-border.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);font-weight:var(--pine-font-weight-semi-bold)}.has-border.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-border.sc-pds-radio-h:has(input:disabled){background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio::after{cursor:not-allowed}.has-border.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-text-primary);border-radius:var(--pine-border-radius-full);content:"";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}label.sc-pds-radio:has(input:disabled){color:var(--pine-color-text-label-disabled);cursor:not-allowed}.sc-pds-radio-h:has(input:disabled) .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-ms-flex-preferred-size:100%;flex-basis:100%;font:var(--pine-typography-body);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.has-image.sc-pds-radio-h{-ms-flex-align:center;align-items:center;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:row;flex-direction:row;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-image.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-image.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-image.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-image.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);display:-ms-flexbox;display:flex;font-weight:var(--pine-font-weight-semi-bold);gap:var(--pine-dimension-xs)}.has-image.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{-ms-flex-align:center;align-items:center;align-self:center;border:var(--pine-border);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex:none;flex:none;grid-area:image;-ms-flex-pack:center;justify-content:center;overflow:hidden;position:relative;-webkit-transition:all var(--pine-motion-duration-base) ease;transition:all var(--pine-motion-duration-base) ease}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-hover)}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio .pds-radio__image.sc-pds-radio{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.has-image.sc-pds-radio-h .pds-radio__content-wrapper.sc-pds-radio{-ms-flex:1;flex:1;min-width:0;overflow-wrap:anywhere}.has-image.sc-pds-radio-h .pds-radio__message.sc-pds-radio{grid-area:message;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-start:0;margin-inline-start:0}.has-image.is-disabled.sc-pds-radio-h{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{border-color:var(--pine-color-border-disabled);cursor:not-allowed;opacity:0.5}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-disabled)}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio::after{cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.has-image.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}'}},[262,"pds-radio",{checked:[4],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],hasBorder:[4,"has-border"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],name:[1],required:[4],value:[1],_hasImage:[32]}]),b=h,m=function(){"undefined"!=typeof customElements&&["pds-radio","pds-icon"].forEach((e=>{switch(e){case"pds-radio":customElements.get(o(e))||customElements.define(o(e),h);break;case"pds-icon":customElements.get(o(e))||p()}}))};export{b as PdsRadio,m as defineCustomElement}
1
+ import{proxyCustomElement as i,HTMLElement as e,createEvent as r,h as a,Host as o,transformTag as s}from"@stencil/core/internal/client";import{H as d}from"./attributes.js";import{e as n,a as t,m as l}from"./form.js";import{h as p}from"./index2.js";import{d as c}from"./pds-icon2.js";const h=i(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.pdsRadioChange=r(this,"pdsRadioChange",7),this._type="radio",this.hostKeeper=new d,this._hasImage=!1,this.checked=!1,this.disabled=!1,this.hasBorder=!1,this.invalid=!1,this.required=!1,this.variant="default",this.handleRadioChange=i=>{if(this.disabled)return;const e=i.target.checked;this.el.closest("pds-radio-group")||this.pdsRadioChange.emit(e)}}hasImageSlot(){return!!this.el.querySelector('[slot="image"]')}hasImage(){return this._hasImage}isPill(){return"pill"===this.variant}classNames(){const i=[];return this.invalid&&i.push("is-invalid"),this.disabled&&i.push("is-disabled"),this.hasBorder&&!this.isPill()&&i.push("has-border"),this.isPill()&&i.push("pds-radio--pill"),this.hasImage()&&!this.isPill()&&i.push("has-image"),i.join(" ")}componentWillLoad(){this._hasImage=this.hasImageSlot()}connectedCallback(){this.hostKeeper.connect(this.el),n(this.el,(()=>this._type))}disconnectedCallback(){this.hostKeeper.disconnect()}componentDidRender(){const i=this.el.querySelector(".pds-radio__image-container:not([hidden])");Array.from(this.el.querySelectorAll(".pds-radio__image-container[hidden], .pds-radio__content-wrapper[hidden], label[hidden], .pds-radio__message[hidden]")).forEach((e=>{const r=e.querySelector('[slot="image"]');null!==r&&null!==i&&i.appendChild(r),e.remove()}))}render(){const i=()=>[a("label",{htmlFor:this.componentId,key:this.componentId+"-label"},a("input",{key:"fdd83248666907fa25c5406cdedcd0e6f8d45f50","aria-describedby":t(this.componentId,this.invalid,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid?"true":void 0,type:"radio",id:this.componentId,name:this.name,value:this.value,checked:this.checked,required:this.required,disabled:this.disabled,onChange:this.handleRadioChange,class:this.hasImage()||this.isPill()?"visually-hidden":""}),a("span",{key:"73166ffd57cdb1f3b9e2b61fe880216b23a6510b",class:this.hideLabel&&!this.isPill()?"visually-hidden":""},this.label)),this.helperMessage&&a("div",{key:this.componentId+"-helper",class:"pds-radio__message",id:l(this.componentId,"helper")},this.helperMessage),this.errorMessage&&a("div",{key:this.componentId+"-error",class:"pds-radio__message pds-radio__message--error",id:l(this.componentId,"error"),"aria-live":"assertive"},a("pds-icon",{key:"e5bca81578382181b6fce61fa6830fd60e54234a","aria-hidden":"true",icon:p,size:"small"}),this.errorMessage)],e=this.classNames();this.hostKeeper.record(e);const r=this.hasImage()&&!this.isPill();return a(o,{key:"4cf39a988cc7642234ff62e7fa2f0d08b09e7d25",class:e},r&&a("div",{key:"7a88d32f896ad4696ea46b13f9ef01e7df0a1c3e",class:"pds-radio__image-container",part:"image-container"},a("slot",{key:"eb8399263443d36ab91c0875602d0dc31f036058",name:"image",onSlotchange:()=>this._hasImage=this.hasImageSlot()})),r?a("div",{class:"pds-radio__content-wrapper"},i()):i())}get el(){return this}static get style(){return'.sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}.sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;position:relative}.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}.has-border.sc-pds-radio-h{-ms-flex-align:start;align-items:flex-start;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-border.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-border.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-border.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-border.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);font-weight:var(--pine-font-weight-semi-bold)}.has-border.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-border.sc-pds-radio-h:has(input:disabled){background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio::after{cursor:not-allowed}.has-border.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-text-primary);border-radius:var(--pine-border-radius-full);content:"";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}label.sc-pds-radio:has(input:disabled){color:var(--pine-color-text-label-disabled);cursor:not-allowed}.sc-pds-radio-h:has(input:disabled) .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.visually-hidden.sc-pds-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-ms-flex-preferred-size:100%;flex-basis:100%;font:var(--pine-typography-body);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.has-image.sc-pds-radio-h{-ms-flex-align:center;align-items:center;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:row;flex-direction:row;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-image.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-image.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-image.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-image.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);display:-ms-flexbox;display:flex;font-weight:var(--pine-font-weight-semi-bold);gap:var(--pine-dimension-xs)}.has-image.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{-ms-flex-align:center;align-items:center;align-self:center;border:var(--pine-border);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex:none;flex:none;grid-area:image;-ms-flex-pack:center;justify-content:center;overflow:hidden;position:relative;-webkit-transition:all var(--pine-motion-duration-base) ease;transition:all var(--pine-motion-duration-base) ease}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-hover)}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio .pds-radio__image.sc-pds-radio{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.has-image.sc-pds-radio-h .pds-radio__content-wrapper.sc-pds-radio{-ms-flex:1;flex:1;min-width:0;overflow-wrap:anywhere}.has-image.sc-pds-radio-h .pds-radio__message.sc-pds-radio{grid-area:message;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-start:0;margin-inline-start:0}.has-image.is-disabled.sc-pds-radio-h{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{border-color:var(--pine-color-border-disabled);cursor:not-allowed;opacity:0.5}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-disabled)}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio::after{cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.has-image.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text-active);cursor:pointer;font:var(--pine-typography-body);min-block-size:var(--pine-dimension-xl);padding:0 var(--pine-dimension-sm);-webkit-transition:border-color var(--pine-motion-duration-fast) ease;transition:border-color var(--pine-motion-duration-fast) ease}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio span.sc-pds-radio{min-width:0;overflow-wrap:anywhere}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:hover{border-color:var(--pine-color-text)}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:checked){border-color:var(--pine-color-text-active);-webkit-box-shadow:inset 0 0 0 var(--pine-border-width) var(--pine-color-text-active);box-shadow:inset 0 0 0 var(--pine-border-width) var(--pine-color-text-active)}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:focus-visible){outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick)}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:disabled){background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-label-disabled);cursor:not-allowed}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:disabled:checked){border-color:var(--pine-color-text-label-disabled);-webkit-box-shadow:inset 0 0 0 var(--pine-border-width) var(--pine-color-text-label-disabled);box-shadow:inset 0 0 0 var(--pine-border-width) var(--pine-color-text-label-disabled)}@media (forced-colors: active){.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:disabled){border-color:GrayText}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:checked){border-color:Highlight;border-width:var(--pine-border-width-thick);padding-inline:calc(var(--pine-dimension-sm) - (var(--pine-border-width-thick) - var(--pine-border-width)))}.pds-radio--pill.sc-pds-radio-h label.sc-pds-radio:has(input:disabled:checked){border-color:GrayText;border-width:var(--pine-border-width-thick);padding-inline:calc(var(--pine-dimension-sm) - (var(--pine-border-width-thick) - var(--pine-border-width)))}}.pds-radio--pill.sc-pds-radio-h .pds-radio__message.sc-pds-radio{-webkit-margin-start:0;margin-inline-start:0}'}},[262,"pds-radio",{checked:[4],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],hasBorder:[4,"has-border"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],name:[1],required:[4],value:[1],variant:[1],_hasImage:[32]}]),b=h,m=function(){"undefined"!=typeof customElements&&["pds-radio","pds-icon"].forEach((i=>{switch(i){case"pds-radio":customElements.get(s(i))||customElements.define(s(i),h);break;case"pds-icon":customElements.get(s(i))||c()}}))};export{b as PdsRadio,m as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as n,h as i,Host as a,transformTag as t}from"@stencil/core/internal/client";import{H as s}from"./attributes.js";const r=e(class extends n{constructor(e){super(),!1!==e&&this.__registerHost(),this.hostKeeper=new s,this.border=!1,this.noWrap=!1,this.colGapMap={none:"0",xxs:".25rem",xs:".5rem",sm:"1rem",md:"1.5rem",lg:"2.25rem",xl:"3rem",xxl:"4rem","025":"var(--pine-dimension-025)","050":"var(--pine-dimension-050)",100:"var(--pine-dimension-100)",125:"var(--pine-dimension-125)",150:"var(--pine-dimension-150)",200:"var(--pine-dimension-200)",250:"var(--pine-dimension-250)",300:"var(--pine-dimension-300)",350:"var(--pine-dimension-350)",400:"var(--pine-dimension-400)",450:"var(--pine-dimension-450)",500:"var(--pine-dimension-500)",550:"var(--pine-dimension-550)",600:"var(--pine-dimension-600)",650:"var(--pine-dimension-650)",700:"var(--pine-dimension-700)",750:"var(--pine-dimension-750)",800:"var(--pine-dimension-800)"}}connectedCallback(){this.hostKeeper.connect(this.el)}disconnectedCallback(){this.hostKeeper.disconnect()}render(){const e=`\n ${null!=this.alignItems&&""!==this.alignItems.trim()?"pds-align-items-"+this.alignItems:""}\n ${this.border?"pds-row--border":""}\n ${null!=this.justifyContent&&""!==this.justifyContent.trim()?"pds-justify-content-"+this.justifyContent:""}\n ${this.noWrap?"pds-row--no-wrap":""}\n `,n=Object.assign(Object.assign(Object.assign(Object.assign({},this.colGap&&{"--row-gap-x":null!=this.colGap&&""!==this.colGap.trim()?this.colGapMap[this.colGap]:"","--row-gap-y":null!=this.colGap&&""!==this.colGap.trim()?this.colGapMap[this.colGap]:""}),this.colGapBlock&&{"--row-gap-y":null!=this.colGapBlock&&""!==this.colGapBlock.trim()?this.colGapMap[this.colGapBlock]:""}),this.colGapInline&&{"--row-gap-x":null!=this.colGapInline&&""!==this.colGapInline.trim()?this.colGapMap[this.colGapInline]:""}),this.minHeight&&{"min-height":this.minHeight});return this.hostKeeper.record("pds-row "+e,n),i(a,{key:"452882c1105868f5d392e7cb165311b1abc4a243",class:"pds-row "+e,style:n})}get el(){return this}static get style(){return":host{--row-gap-y:var(--pine-dimension-125);--row-gap-x:var(--pine-dimension-125);display:block;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -0.5);margin-inline-end:calc(var(--row-gap-x) * -0.5);-webkit-margin-start:calc(var(--row-gap-x) * -0.5);margin-inline-start:calc(var(--row-gap-x) * -0.5)}.pds-row{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -1);margin-inline-end:calc(var(--row-gap-x) * -1);-webkit-margin-start:calc(var(--row-gap-x) * -1);margin-inline-start:calc(var(--row-gap-x) * -1)}@layer layout{.pds-row>*{-webkit-padding-after:calc(var(--row-gap-y));padding-block-end:calc(var(--row-gap-y));-webkit-padding-before:calc(var(--row-gap-y));padding-block-start:calc(var(--row-gap-y));-webkit-padding-end:calc(var(--row-gap-x));padding-inline-end:calc(var(--row-gap-x));-webkit-padding-start:calc(var(--row-gap-x));padding-inline-start:calc(var(--row-gap-x))}}.pds-row--no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pds-row--border{border:var(--pine-border)}.pds-justify-content-start{-ms-flex-pack:start;justify-content:start}.pds-justify-content-center{-ms-flex-pack:center;justify-content:center}.pds-justify-content-end{-ms-flex-pack:end;justify-content:end}.pds-justify-content-space-between{-ms-flex-pack:justify;justify-content:space-between}.pds-justify-content-space-around{-ms-flex-pack:distribute;justify-content:space-around}.pds-justify-content-space-evenly{-ms-flex-pack:space-evenly;justify-content:space-evenly}.pds-align-items-start{-ms-flex-align:start;align-items:start}.pds-align-items-center{-ms-flex-align:center;align-items:center}.pds-align-items-end{-ms-flex-align:end;align-items:end}.pds-align-items-stretch{-ms-flex-align:stretch;align-items:stretch}.pds-align-items-baseline{-ms-flex-align:baseline;align-items:baseline}"}},[0,"pds-row",{alignItems:[1,"align-items"],border:[4],colGap:[1,"col-gap"],colGapBlock:[1,"col-gap-block"],colGapInline:[1,"col-gap-inline"],componentId:[1,"component-id"],justifyContent:[1,"justify-content"],minHeight:[1,"min-height"],noWrap:[4,"no-wrap"]}]),o=r,c=function(){"undefined"!=typeof customElements&&["pds-row"].forEach((e=>{"pds-row"===e&&(customElements.get(t(e))||customElements.define(t(e),r))}))};export{o as PdsRow,c as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as n,h as i,Host as a,transformTag as t}from"@stencil/core/internal/client";import{H as s}from"./attributes.js";const r=e(class extends n{constructor(e){super(),!1!==e&&this.__registerHost(),this.hostKeeper=new s,this.border=!1,this.noWrap=!1,this.colGapMap={none:"0",xxs:".25rem",xs:".5rem",sm:"1rem",md:"1.5rem",lg:"2.25rem",xl:"3rem",xxl:"4rem","025":"var(--pine-dimension-025)","050":"var(--pine-dimension-050)",100:"var(--pine-dimension-100)",125:"var(--pine-dimension-125)",150:"var(--pine-dimension-150)",200:"var(--pine-dimension-200)",250:"var(--pine-dimension-250)",300:"var(--pine-dimension-300)",350:"var(--pine-dimension-350)",400:"var(--pine-dimension-400)",450:"var(--pine-dimension-450)",500:"var(--pine-dimension-500)",550:"var(--pine-dimension-550)",600:"var(--pine-dimension-600)",650:"var(--pine-dimension-650)",700:"var(--pine-dimension-700)",750:"var(--pine-dimension-750)",800:"var(--pine-dimension-800)"}}connectedCallback(){this.hostKeeper.connect(this.el)}disconnectedCallback(){this.hostKeeper.disconnect()}render(){const e=`\n ${null!=this.alignItems&&""!==this.alignItems.trim()?"pds-align-items-"+this.alignItems:""}\n ${this.border?"pds-row--border":""}\n ${null!=this.justifyContent&&""!==this.justifyContent.trim()?"pds-justify-content-"+this.justifyContent:""}\n ${this.noWrap?"pds-row--no-wrap":""}\n `,n=Object.assign(Object.assign(Object.assign(Object.assign({},this.colGap&&{"--row-gap-x":null!=this.colGap&&""!==this.colGap.trim()?this.colGapMap[this.colGap]:"","--row-gap-y":null!=this.colGap&&""!==this.colGap.trim()?this.colGapMap[this.colGap]:""}),this.colGapBlock&&{"--row-gap-y":null!=this.colGapBlock&&""!==this.colGapBlock.trim()?this.colGapMap[this.colGapBlock]:""}),this.colGapInline&&{"--row-gap-x":null!=this.colGapInline&&""!==this.colGapInline.trim()?this.colGapMap[this.colGapInline]:""}),this.minHeight&&{"min-height":this.minHeight});return this.hostKeeper.record("pds-row "+e,n),i(a,{key:"589ee3251a4ee1d7824c8e2fa3e214de5466c3db",class:"pds-row "+e,style:n})}get el(){return this}static get style(){return":host{--row-gap-y:var(--pine-dimension-125);--row-gap-x:var(--pine-dimension-125);display:block;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -0.5);margin-inline-end:calc(var(--row-gap-x) * -0.5);-webkit-margin-start:calc(var(--row-gap-x) * -0.5);margin-inline-start:calc(var(--row-gap-x) * -0.5)}.pds-row{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-margin-after:calc(var(--row-gap-y) * -1);margin-block-end:calc(var(--row-gap-y) * -1);-webkit-margin-before:calc(var(--row-gap-y) * -1);margin-block-start:calc(var(--row-gap-y) * -1);-webkit-margin-end:calc(var(--row-gap-x) * -1);margin-inline-end:calc(var(--row-gap-x) * -1);-webkit-margin-start:calc(var(--row-gap-x) * -1);margin-inline-start:calc(var(--row-gap-x) * -1)}@layer layout{.pds-row>*{-webkit-padding-after:calc(var(--row-gap-y));padding-block-end:calc(var(--row-gap-y));-webkit-padding-before:calc(var(--row-gap-y));padding-block-start:calc(var(--row-gap-y));-webkit-padding-end:calc(var(--row-gap-x));padding-inline-end:calc(var(--row-gap-x));-webkit-padding-start:calc(var(--row-gap-x));padding-inline-start:calc(var(--row-gap-x))}}.pds-row--no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.pds-row--border{border:var(--pine-border)}.pds-justify-content-start{-ms-flex-pack:start;justify-content:start}.pds-justify-content-center{-ms-flex-pack:center;justify-content:center}.pds-justify-content-end{-ms-flex-pack:end;justify-content:end}.pds-justify-content-space-between{-ms-flex-pack:justify;justify-content:space-between}.pds-justify-content-space-around{-ms-flex-pack:distribute;justify-content:space-around}.pds-justify-content-space-evenly{-ms-flex-pack:space-evenly;justify-content:space-evenly}.pds-align-items-start{-ms-flex-align:start;align-items:start}.pds-align-items-center{-ms-flex-align:center;align-items:center}.pds-align-items-end{-ms-flex-align:end;align-items:end}.pds-align-items-stretch{-ms-flex-align:stretch;align-items:stretch}.pds-align-items-baseline{-ms-flex-align:baseline;align-items:baseline}"}},[0,"pds-row",{alignItems:[1,"align-items"],border:[4],colGap:[1,"col-gap"],colGapBlock:[1,"col-gap-block"],colGapInline:[1,"col-gap-inline"],componentId:[1,"component-id"],justifyContent:[1,"justify-content"],minHeight:[1,"min-height"],noWrap:[4,"no-wrap"]}]),o=r,c=function(){"undefined"!=typeof customElements&&["pds-row"].forEach((e=>{"pds-row"===e&&(customElements.get(t(e))||customElements.define(t(e),r))}))};export{o as PdsRow,c as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as t,Host as r,transformTag as a}from"@stencil/core/internal/client";import{H as o}from"./attributes.js";import{e as n,m as l,i as d,a as c}from"./form.js";import{h as p,g as h}from"./index2.js";import{d as b}from"./pds-icon2.js";const m=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsSelectChange=i(this,"pdsSelectChange",7),this.pdsBlur=i(this,"pdsBlur",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this._type="select-one",this.hostKeeper=new o,this.disabled=!1,this.multiple=!1,this.required=!1,this.onSelectUpdate=e=>{const s=Array.from(e.target.options).filter((e=>e.selected)).map((e=>e.value));this.value=1!==s.length||this.multiple?s:s[0],this.pdsSelectChange.emit(e)},this.onBlur=e=>{this.pdsBlur.emit(e)},this.onFocus=e=>{this.pdsFocus.emit(e)},this.onKeyDown=e=>{this.pdsKeyDown.emit(e)},this.handleSlotChange=()=>{const e=this.slotContainer.querySelector("slot");this.selectEl.innerHTML="",e.assignedElements({flatten:!0}).forEach((e=>{if(["OPTION","OPTGROUP"].includes(e.tagName)){const s=e.cloneNode(!0);"OPTION"===s.tagName&&s.value===this.value&&(s.selected=!0),this.selectEl.appendChild(s)}})),this.updateSelectedOption()}}valueChanged(){this.updateSelectedOption(),this.updateFormValue()}multipleChanged(){this.updateType()}updateType(){this._type=this.multiple?"select-multiple":"select-one"}connectedCallback(){this.hostKeeper.connect(this.el),this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),n(this.el,(()=>this._type))}disconnectedCallback(){this.hostKeeper.disconnect()}componentWillLoad(){this.updateType(),this.updateSelectedOption()}componentDidLoad(){this.updateFormValue()}updateSelectedOption(){this.selectEl&&Array.from(this.selectEl.options).map((e=>{e.selected=Array.isArray(this.value)?this.value.includes(e.value):this.value===e.value}))}getHelperMessage(){return this.helperMessage&&t("p",{class:"pds-select__helper-message",id:l(this.componentId,"helper")},this.helperMessage)}getErrorMessage(){return this.errorMessage&&t("p",{class:"pds-select__error-message",id:l(this.componentId,"error"),"aria-live":"assertive"},t("pds-icon",{"aria-hidden":"true",icon:p,size:"small"}),this.errorMessage)}renderMessages(){return this.helperMessage||this.errorMessage?t("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage()):null}isInvalid(){return!!this.invalid||!!this.errorMessage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),e.join(" ")}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-select__action",part:"action"},t("slot",{name:"action"})):null}updateFormValue(){if(!d()&&this.internals&&this.internals.setFormValue){const e=this.value;if(Array.isArray(e))if(e.length>1){const s=new FormData;e.forEach((e=>s.append(this.name||"",e))),this.internals.setFormValue(s)}else this.internals.setFormValue(e[0]||null);else this.internals.setFormValue(e||null);this.selectEl&&this.internals&&this.internals.setValidity&&this.internals.setValidity(this.selectEl.validity,this.selectEl.validationMessage,this.selectEl)}}formResetCallback(){this.value="",this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const s=e.getAll(this.name);s.length>1?this.value=s.filter((e=>"string"==typeof e)):1===s.length&&"string"==typeof s[0]&&(this.value=s[0])}}render(){const e=null!==this.el.querySelector('[slot="action"]'),s=this.classNames(),i={"aria-disabled":this.disabled?"true":null,"has-action":e&&!this.hideLabel?"true":null};return this.hostKeeper.record(s,{},i),t(r,Object.assign({key:"343ed671e67dd1d6f9eb284b07e06d59877c64e9",class:s},i),t("div",{key:"650aed0869b02f658feb16ee99f17e1cd22e5a8e",class:"pds-select"},!this.hideLabel&&t("div",{key:"74739461acbea33c92279ec8ec9042d6af1773c1",class:"pds-select__label-wrapper"},t("label",{key:"1ad96ffd243000358edfbd79054ee770e1ba97d3",htmlFor:this.componentId},t("span",{key:"b832868db4f9cd4fd2f8313054d2e96e106189ab",class:this.hideLabel?"visually-hidden":""},this.label)),e&&this.renderAction()),t("select",{key:"e83c1a1a0a5646fc8abf9e50bc374f52b56be773","aria-describedby":c(this.componentId,this.isInvalid(),this.helperMessage,this.errorMessage),"aria-invalid":this.isInvalid()?"true":void 0,"aria-label":this.hideLabel?this.label:void 0,autocomplete:this.autocomplete||void 0,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onBlur:this.onBlur,onChange:this.onSelectUpdate,onFocus:this.onFocus,onKeyDown:this.onKeyDown,part:"select",required:this.required,ref:e=>this.selectEl=e}),t("div",{key:"a34880120b88124b5122350856d023368f96abf7","aria-hidden":"true",class:"hidden",ref:e=>this.slotContainer=e},t("slot",{key:"df6abaf6a630761a32b263813181ff3453757e0d",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&t("pds-icon",{key:"f9197284ef9965d693242a652b583f48bc3d7097","aria-hidden":"true",class:"pds-select__select-icon",icon:h})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}}static get style(){return':host{--pine-select-color-background-danger:var(--pine-color-red-050)}:host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{color:var(--pine-color-text);display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-end-end-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-end-start-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-start-end-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));border-start-start-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));color:var(--pine-color-text);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-color-red-950)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-disabled) .pds-select__select-icon{color:var(--pine-color-text-disabled)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) :host(.is-invalid) select{background-color:var(--pine-color-red-950)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-accent);color:var(--pine-color-text-accent)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:hover:not(:disabled){border-color:var(--pine-color-accent-hover)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:focus-visible{outline-color:var(--pine-color-focus-ring)}:host([highlight]:not(.is-disabled):not(.is-invalid)) .pds-select__select-icon{color:var(--pine-color-text-accent)}.pds-select__error-message,.pds-select__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:calc(var(--pine-z-index-raised) - 1)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}'}},[321,"pds-select",{autocomplete:[1],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],hideLabel:[4,"hide-label"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],multiple:[4],name:[1],required:[4],highlight:[516],value:[1025]},void 0,{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}]),g=m,u=function(){"undefined"!=typeof customElements&&["pds-select","pds-icon"].forEach((e=>{switch(e){case"pds-select":customElements.get(a(e))||customElements.define(a(e),m);break;case"pds-icon":customElements.get(a(e))||b()}}))};export{g as PdsSelect,u as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as t,Host as r,transformTag as a}from"@stencil/core/internal/client";import{H as o}from"./attributes.js";import{e as n,m as l,i as d,a as c}from"./form.js";import{h,g as p}from"./index2.js";import{d as b}from"./pds-icon2.js";const m=e=>e.map((e=>e.tagName+("OPTGROUP"===e.tagName?`(${m(Array.from(e.children))})`:""))).join(),u=(e,s)=>{Array.from(e.attributes).forEach((({name:i})=>{s.hasAttribute(i)||e.removeAttribute(i)})),Array.from(s.attributes).forEach((({name:s,value:i})=>{e.getAttribute(s)!==i&&e.setAttribute(s,i)})),"OPTGROUP"===s.tagName?Array.from(s.children).forEach(((s,i)=>u(e.children[i],s))):e.textContent!==s.textContent&&(e.textContent=s.textContent)},g=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsSelectChange=i(this,"pdsSelectChange",7),this.pdsBlur=i(this,"pdsBlur",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this._type="select-one",this.optionObserver=null,this.optionSyncFrame=null,this.hasHadOptions=!1,this.hostKeeper=new o,this.disabled=!1,this.multiple=!1,this.required=!1,this.touchesOption=({target:e})=>{const s=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;return e!==this.el&&null!=(null==s?void 0:s.closest("option, optgroup"))},this.onSelectUpdate=e=>{const s=Array.from(e.target.options).filter((e=>e.selected)).map((e=>e.value));this.value=1!==s.length||this.multiple?s:s[0],this.pdsSelectChange.emit(e)},this.onBlur=e=>{this.pdsBlur.emit(e)},this.onFocus=e=>{this.pdsFocus.emit(e)},this.onKeyDown=e=>{this.pdsKeyDown.emit(e)},this.handleSlotChange=()=>{var e;const s=null===(e=this.slotContainer)||void 0===e?void 0:e.querySelector("slot");if(null==s||void 0===this.selectEl)return;const i=s.assignedElements({flatten:!0}).filter((e=>["OPTION","OPTGROUP"].includes(e.tagName))).map((e=>e.cloneNode(!0))),t=Array.from(this.selectEl.children),r=this.hasHadOptions;i.length>0&&(this.hasHadOptions=!0);const a=e=>e.map((e=>e.outerHTML)).join("");a(i)!==a(t)&&(m(i)===m(t)?i.forEach(((e,s)=>u(t[s],e))):(this.selectEl.innerHTML="",i.forEach((e=>this.selectEl.appendChild(e)))),this.updateSelectedOption(),r&&this.showNoSelectionWithoutMatch(),this.updateFormValue())}}valueChanged(){this.updateSelectedOption(),this.updateFormValue()}multipleChanged(){this.updateType()}updateType(){this._type=this.multiple?"select-multiple":"select-one"}connectedCallback(){this.hostKeeper.connect(this.el),this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),n(this.el,(()=>this._type)),void 0!==this.selectEl&&(this.startOptionSync(),this.scheduleOptionSync())}disconnectedCallback(){this.hostKeeper.disconnect(),this.stopOptionSync()}componentWillLoad(){this.updateType(),this.updateSelectedOption()}componentDidLoad(){this.updateFormValue(),this.startOptionSync(),this.scheduleOptionSync()}startOptionSync(){null===this.optionObserver&&"undefined"!=typeof MutationObserver&&this.el.isConnected&&(this.optionObserver=new MutationObserver((e=>{e.some(this.touchesOption)&&this.scheduleOptionSync()})),this.optionObserver.observe(this.el,{childList:!0,subtree:!0,attributes:!0,characterData:!0}))}scheduleOptionSync(){null===this.optionSyncFrame&&(this.optionSyncFrame=requestAnimationFrame((()=>{this.optionSyncFrame=null,this.handleSlotChange()})))}stopOptionSync(){var e;null===(e=this.optionObserver)||void 0===e||e.disconnect(),this.optionObserver=null,null!==this.optionSyncFrame&&(cancelAnimationFrame(this.optionSyncFrame),this.optionSyncFrame=null)}updateSelectedOption(){this.selectEl&&Array.from(this.selectEl.options).map((e=>{e.selected=Array.isArray(this.value)?this.value.includes(e.value):this.value===e.value}))}showNoSelectionWithoutMatch(){var e;const s=[].concat(null!==(e=this.value)&&void 0!==e?e:[]).filter((e=>""!==e)),i=Array.from(this.selectEl.options);s.length>0&&!i.some((e=>s.includes(e.value)))&&(this.selectEl.selectedIndex=-1)}getHelperMessage(){return this.helperMessage&&t("p",{class:"pds-select__helper-message",id:l(this.componentId,"helper")},this.helperMessage)}getErrorMessage(){return this.errorMessage&&t("p",{class:"pds-select__error-message",id:l(this.componentId,"error"),"aria-live":"assertive"},t("pds-icon",{"aria-hidden":"true",icon:h,size:"small"}),this.errorMessage)}renderMessages(){return this.helperMessage||this.errorMessage?t("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage()):null}isInvalid(){return!!this.invalid||!!this.errorMessage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),e.join(" ")}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-select__action",part:"action"},t("slot",{name:"action"})):null}updateFormValue(){if(!d()&&this.internals&&this.internals.setFormValue){const e=this.value;if(Array.isArray(e))if(e.length>1){const s=new FormData;e.forEach((e=>s.append(this.name||"",e))),this.internals.setFormValue(s)}else this.internals.setFormValue(e[0]||null);else this.internals.setFormValue(e||null);this.selectEl&&this.internals&&this.internals.setValidity&&this.internals.setValidity(this.selectEl.validity,this.selectEl.validationMessage,this.selectEl)}}formResetCallback(){this.value="",this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const s=e.getAll(this.name);s.length>1?this.value=s.filter((e=>"string"==typeof e)):1===s.length&&"string"==typeof s[0]&&(this.value=s[0])}}render(){const e=null!==this.el.querySelector('[slot="action"]'),s=this.classNames(),i={"aria-disabled":this.disabled?"true":null,"has-action":e&&!this.hideLabel?"true":null};return this.hostKeeper.record(s,{},i),t(r,Object.assign({key:"37c2c3b72c13c3c4e3d81da29ddddc86a7300d70",class:s},i),t("div",{key:"ff1c311dca6fc25813e5473d0e8daff4dc12e807",class:"pds-select"},!this.hideLabel&&t("div",{key:"77db17b0beb1fefabb26ffe1df0e5f03a0515996",class:"pds-select__label-wrapper"},t("label",{key:"c4dcba3bc148aada4a3afcca0a30c64a630e441f",htmlFor:this.componentId},t("span",{key:"0fc3424ec1961d3b216c0fabb80cb8acee37f1a2",class:this.hideLabel?"visually-hidden":""},this.label)),e&&this.renderAction()),t("select",{key:"ff343a6653ccd081021cb669a428c780d0162e8b","aria-describedby":c(this.componentId,this.isInvalid(),this.helperMessage,this.errorMessage),"aria-invalid":this.isInvalid()?"true":void 0,"aria-label":this.hideLabel?this.label:void 0,autocomplete:this.autocomplete||void 0,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onBlur:this.onBlur,onChange:this.onSelectUpdate,onFocus:this.onFocus,onKeyDown:this.onKeyDown,part:"select",required:this.required,ref:e=>this.selectEl=e}),t("div",{key:"86fed1916c3b13d079492581a7c6bb621012a4a5","aria-hidden":"true",class:"hidden",ref:e=>this.slotContainer=e},t("slot",{key:"abe06eeef5be13b716573c8a806d6b7795edc65f",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&t("pds-icon",{key:"68c958666828f77114f2edeedb667070106046fa","aria-hidden":"true",class:"pds-select__select-icon",icon:p})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}}static get style(){return':host{--pine-select-color-background-danger:var(--pine-color-red-050)}:host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}:host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{color:var(--pine-color-text);display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-end-end-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-end-start-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-start-end-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));border-start-start-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));color:var(--pine-color-text);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-color-red-950)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-disabled) .pds-select__select-icon{color:var(--pine-color-text-disabled)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) :host(.is-invalid) select{background-color:var(--pine-color-red-950)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-accent);color:var(--pine-color-text-accent)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:hover:not(:disabled){border-color:var(--pine-color-accent-hover)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:focus-visible{outline-color:var(--pine-color-focus-ring)}:host([highlight]:not(.is-disabled):not(.is-invalid)) .pds-select__select-icon{color:var(--pine-color-text-accent)}.pds-select__error-message,.pds-select__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:calc(var(--pine-z-index-raised) - 1)}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}'}},[321,"pds-select",{autocomplete:[1],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],hideLabel:[4,"hide-label"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],multiple:[4],name:[1],required:[4],highlight:[516],value:[1025]},void 0,{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}]),v=g,f=function(){"undefined"!=typeof customElements&&["pds-select","pds-icon"].forEach((e=>{switch(e){case"pds-select":customElements.get(a(e))||customElements.define(a(e),g);break;case"pds-icon":customElements.get(a(e))||b()}}))};export{v as PdsSelect,f as defineCustomElement}