@pine-ds/core 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/components/index.d.ts +20 -0
  2. package/components/index.js +10 -0
  3. package/components/index.js.map +1 -1
  4. package/components/index2.js +1 -1
  5. package/components/index2.js.map +1 -1
  6. package/components/mock-pds-modal.d.ts +11 -0
  7. package/components/mock-pds-modal.js +108 -0
  8. package/components/mock-pds-modal.js.map +1 -0
  9. package/components/pds-alert.d.ts +11 -0
  10. package/components/pds-alert.js +107 -0
  11. package/components/pds-alert.js.map +1 -0
  12. package/components/pds-avatar.js +1 -1
  13. package/components/pds-box.js +1 -110
  14. package/components/pds-box.js.map +1 -1
  15. package/components/pds-box2.js +115 -0
  16. package/components/pds-box2.js.map +1 -0
  17. package/components/pds-button2.js +1 -1
  18. package/components/pds-button2.js.map +1 -1
  19. package/components/pds-checkbox2.js +3 -3
  20. package/components/pds-chip.js +21 -6
  21. package/components/pds-chip.js.map +1 -1
  22. package/components/pds-copytext.js +1 -1
  23. package/components/pds-divider.js +1 -1
  24. package/components/pds-dropdown-menu-item.d.ts +11 -0
  25. package/components/pds-dropdown-menu-item.js +117 -0
  26. package/components/pds-dropdown-menu-item.js.map +1 -0
  27. package/components/pds-dropdown-menu-separator.d.ts +11 -0
  28. package/components/pds-dropdown-menu-separator.js +44 -0
  29. package/components/pds-dropdown-menu-separator.js.map +1 -0
  30. package/components/pds-dropdown-menu.d.ts +11 -0
  31. package/components/pds-dropdown-menu.js +1600 -0
  32. package/components/pds-dropdown-menu.js.map +1 -0
  33. package/components/pds-image.js +2 -2
  34. package/components/pds-input.js +98 -21
  35. package/components/pds-input.js.map +1 -1
  36. package/components/pds-link.js +1 -67
  37. package/components/pds-link.js.map +1 -1
  38. package/components/pds-link2.js +85 -0
  39. package/components/pds-link2.js.map +1 -0
  40. package/components/pds-loader2.js +1 -1
  41. package/components/pds-modal-content.d.ts +11 -0
  42. package/components/pds-modal-content.js +111 -0
  43. package/components/pds-modal-content.js.map +1 -0
  44. package/components/pds-modal-footer.d.ts +11 -0
  45. package/components/pds-modal-footer.js +35 -0
  46. package/components/pds-modal-footer.js.map +1 -0
  47. package/components/pds-modal-header.d.ts +11 -0
  48. package/components/pds-modal-header.js +35 -0
  49. package/components/pds-modal-header.js.map +1 -0
  50. package/components/pds-modal.d.ts +11 -0
  51. package/components/pds-modal.js +278 -0
  52. package/components/pds-modal.js.map +1 -0
  53. package/components/pds-popover.js +33 -1
  54. package/components/pds-popover.js.map +1 -1
  55. package/components/pds-progress.js +1 -1
  56. package/components/pds-radio.js +3 -3
  57. package/components/pds-row.js +1 -1
  58. package/components/pds-select.js +3 -3
  59. package/components/pds-select.js.map +1 -1
  60. package/components/pds-sortable-item.js +1 -1
  61. package/components/pds-sortable.js +1 -1
  62. package/components/pds-switch.js +3 -3
  63. package/components/pds-tab.js +3 -3
  64. package/components/pds-table-body.js +1 -1
  65. package/components/pds-table-cell2.js +2 -2
  66. package/components/pds-table-head-cell2.js +2 -2
  67. package/components/pds-table-head.js +1 -1
  68. package/components/pds-table-row.js +1 -1
  69. package/components/pds-table.js +1 -1
  70. package/components/pds-tabpanel.js +1 -1
  71. package/components/pds-tabs.js +1 -1
  72. package/components/pds-text.js +1 -53
  73. package/components/pds-text.js.map +1 -1
  74. package/components/pds-text2.js +58 -0
  75. package/components/pds-text2.js.map +1 -0
  76. package/components/pds-textarea.js +4 -4
  77. package/components/pds-toast.d.ts +11 -0
  78. package/components/pds-toast.js +137 -0
  79. package/components/pds-toast.js.map +1 -0
  80. package/components/pds-tooltip.js +299 -81
  81. package/components/pds-tooltip.js.map +1 -1
  82. package/components/utils.js +3 -2
  83. package/components/utils.js.map +1 -1
  84. package/dist/cjs/{index-CG2Rr2io.js → index-B0qLG6KJ.js} +3 -3
  85. package/dist/cjs/index-B0qLG6KJ.js.map +1 -0
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/cjs/mock-pds-modal.cjs.entry.js +86 -0
  88. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -0
  89. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -0
  90. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-alert.cjs.entry.js +66 -0
  92. package/dist/cjs/pds-alert.cjs.entry.js.map +1 -0
  93. package/dist/cjs/pds-alert.entry.cjs.js.map +1 -0
  94. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  95. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  96. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  97. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  98. package/dist/cjs/pds-button.cjs.entry.js +3 -3
  99. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  100. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  101. package/dist/cjs/pds-checkbox.cjs.entry.js +4 -4
  102. package/dist/cjs/pds-chip.cjs.entry.js +21 -7
  103. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
  106. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  107. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +82 -0
  108. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js.map +1 -0
  109. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -0
  110. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +25 -0
  111. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -0
  112. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -0
  113. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1574 -0
  114. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -0
  115. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -0
  116. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  117. package/dist/cjs/pds-input.cjs.entry.js +88 -21
  118. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  119. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  120. package/dist/cjs/pds-link.cjs.entry.js +16 -4
  121. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  122. package/dist/cjs/pds-link.entry.cjs.js.map +1 -1
  123. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  124. package/dist/cjs/pds-modal-content.cjs.entry.js +93 -0
  125. package/dist/cjs/pds-modal-content.cjs.entry.js.map +1 -0
  126. package/dist/cjs/pds-modal-content.entry.cjs.js.map +1 -0
  127. package/dist/cjs/pds-modal-footer.cjs.entry.js +20 -0
  128. package/dist/cjs/pds-modal-footer.cjs.entry.js.map +1 -0
  129. package/dist/cjs/pds-modal-footer.entry.cjs.js.map +1 -0
  130. package/dist/cjs/pds-modal-header.cjs.entry.js +20 -0
  131. package/dist/cjs/pds-modal-header.cjs.entry.js.map +1 -0
  132. package/dist/cjs/pds-modal-header.entry.cjs.js.map +1 -0
  133. package/dist/cjs/pds-modal.cjs.entry.js +253 -0
  134. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -0
  135. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -0
  136. package/dist/cjs/pds-popover.cjs.entry.js +33 -1
  137. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  138. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  139. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  140. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  141. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  142. package/dist/cjs/pds-select.cjs.entry.js +3 -4
  143. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  144. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  145. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  146. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  147. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  148. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  149. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  150. package/dist/cjs/pds-table-cell.cjs.entry.js +2 -2
  151. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -3
  152. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  153. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  154. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  155. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  156. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  157. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  158. package/dist/cjs/pds-text.cjs.entry.js.map +1 -1
  159. package/dist/cjs/pds-text.entry.cjs.js.map +1 -1
  160. package/dist/cjs/pds-textarea.cjs.entry.js +6 -6
  161. package/dist/cjs/pds-toast.cjs.entry.js +104 -0
  162. package/dist/cjs/pds-toast.cjs.entry.js.map +1 -0
  163. package/dist/cjs/pds-toast.entry.cjs.js.map +1 -0
  164. package/dist/cjs/pds-tooltip.cjs.entry.js +297 -79
  165. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  166. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  167. package/dist/cjs/pine-core.cjs.js +1 -1
  168. package/dist/cjs/{utils-CQKIgzWg.js → utils-jWx-Mf12.js} +5 -4
  169. package/dist/cjs/utils-jWx-Mf12.js.map +1 -0
  170. package/dist/collection/collection-manifest.json +10 -0
  171. package/dist/collection/components/pds-alert/pds-alert.css +108 -0
  172. package/dist/collection/components/pds-alert/pds-alert.js +198 -0
  173. package/dist/collection/components/pds-alert/pds-alert.js.map +1 -0
  174. package/dist/collection/components/pds-alert/pds-alert.tokens.css +32 -0
  175. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +97 -0
  176. package/dist/collection/components/pds-avatar/pds-avatar.js +1 -1
  177. package/dist/collection/components/pds-box/pds-box.js +8 -8
  178. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  179. package/dist/collection/components/pds-button/pds-button.css +17 -5
  180. package/dist/collection/components/pds-checkbox/pds-checkbox.js +3 -3
  181. package/dist/collection/components/pds-chip/pds-chip.css +48 -11
  182. package/dist/collection/components/pds-chip/pds-chip.js +42 -9
  183. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  184. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +18 -1
  185. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  186. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  187. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +68 -0
  188. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +219 -0
  189. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -0
  190. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -0
  191. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +72 -0
  192. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js.map +1 -0
  193. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +16 -0
  194. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +328 -0
  195. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -0
  196. package/dist/collection/components/pds-dropdown-menu/stories/pds-dropdown-menu.stories.js +44 -0
  197. package/dist/collection/components/pds-image/pds-image.js +2 -2
  198. package/dist/collection/components/pds-input/pds-input.css +167 -43
  199. package/dist/collection/components/pds-input/pds-input.js +212 -21
  200. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  201. package/dist/collection/components/pds-input/stories/pds-input.stories.js +84 -0
  202. package/dist/collection/components/pds-link/pds-link.css +20 -1
  203. package/dist/collection/components/pds-link/pds-link.js +33 -2
  204. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  205. package/dist/collection/components/pds-link/stories/pds-link.stories.js +15 -2
  206. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  207. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.css +27 -0
  208. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +125 -0
  209. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js.map +1 -0
  210. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.css +8 -0
  211. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +18 -0
  212. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js.map +1 -0
  213. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.css +8 -0
  214. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +18 -0
  215. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js.map +1 -0
  216. package/dist/collection/components/pds-modal/pds-modal.css +79 -0
  217. package/dist/collection/components/pds-modal/pds-modal.js +426 -0
  218. package/dist/collection/components/pds-modal/pds-modal.js.map +1 -0
  219. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +415 -0
  220. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +256 -0
  221. package/dist/collection/components/pds-modal/test/mock-pds-modal.js.map +1 -0
  222. package/dist/collection/components/pds-popover/pds-popover.js +33 -1
  223. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  224. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  225. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  226. package/dist/collection/components/pds-row/pds-row.js +1 -1
  227. package/dist/collection/components/pds-select/pds-select.css +34 -4
  228. package/dist/collection/components/pds-select/pds-select.js +20 -2
  229. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  230. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -0
  231. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  232. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  233. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  234. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  235. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  236. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  237. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  238. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  239. package/dist/collection/components/pds-table/pds-table.js +1 -1
  240. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  241. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  242. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  243. package/dist/collection/components/pds-text/pds-text.js +2 -2
  244. package/dist/collection/components/pds-text/pds-text.js.map +1 -1
  245. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  246. package/dist/collection/components/pds-toast/pds-toast.css +153 -0
  247. package/dist/collection/components/pds-toast/pds-toast.js +263 -0
  248. package/dist/collection/components/pds-toast/pds-toast.js.map +1 -0
  249. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +103 -0
  250. package/dist/collection/components/pds-tooltip/pds-tooltip.css +2 -12
  251. package/dist/collection/components/pds-tooltip/pds-tooltip.js +227 -26
  252. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  253. package/dist/collection/components/pds-tooltip/stories/pds-tooltip.stories.js +7 -3
  254. package/dist/collection/utils/interfaces.js +2 -0
  255. package/dist/collection/utils/interfaces.js.map +1 -0
  256. package/dist/collection/utils/overlay.js +66 -49
  257. package/dist/collection/utils/overlay.js.map +1 -1
  258. package/dist/collection/utils/utils.js +3 -2
  259. package/dist/collection/utils/utils.js.map +1 -1
  260. package/dist/docs.json +1816 -200
  261. package/dist/esm/{index-_4gljHh-.js → index-DpOSrebJ.js} +3 -3
  262. package/dist/esm/index-DpOSrebJ.js.map +1 -0
  263. package/dist/esm/loader.js +1 -1
  264. package/dist/esm/mock-pds-modal.entry.js +84 -0
  265. package/dist/esm/mock-pds-modal.entry.js.map +1 -0
  266. package/dist/esm/pds-accordion.entry.js +1 -1
  267. package/dist/esm/pds-alert.entry.js +64 -0
  268. package/dist/esm/pds-alert.entry.js.map +1 -0
  269. package/dist/esm/pds-avatar.entry.js +2 -2
  270. package/dist/esm/pds-box.entry.js +2 -2
  271. package/dist/esm/pds-box.entry.js.map +1 -1
  272. package/dist/esm/pds-button.entry.js +3 -3
  273. package/dist/esm/pds-button.entry.js.map +1 -1
  274. package/dist/esm/pds-checkbox.entry.js +4 -4
  275. package/dist/esm/pds-chip.entry.js +21 -7
  276. package/dist/esm/pds-chip.entry.js.map +1 -1
  277. package/dist/esm/pds-copytext.entry.js +2 -2
  278. package/dist/esm/pds-divider.entry.js +1 -1
  279. package/dist/esm/pds-dropdown-menu-item.entry.js +80 -0
  280. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -0
  281. package/dist/esm/pds-dropdown-menu-separator.entry.js +23 -0
  282. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -0
  283. package/dist/esm/pds-dropdown-menu.entry.js +1572 -0
  284. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -0
  285. package/dist/esm/pds-image.entry.js +2 -2
  286. package/dist/esm/pds-input.entry.js +88 -21
  287. package/dist/esm/pds-input.entry.js.map +1 -1
  288. package/dist/esm/pds-link.entry.js +16 -4
  289. package/dist/esm/pds-link.entry.js.map +1 -1
  290. package/dist/esm/pds-loader.entry.js +1 -1
  291. package/dist/esm/pds-modal-content.entry.js +91 -0
  292. package/dist/esm/pds-modal-content.entry.js.map +1 -0
  293. package/dist/esm/pds-modal-footer.entry.js +18 -0
  294. package/dist/esm/pds-modal-footer.entry.js.map +1 -0
  295. package/dist/esm/pds-modal-header.entry.js +18 -0
  296. package/dist/esm/pds-modal-header.entry.js.map +1 -0
  297. package/dist/esm/pds-modal.entry.js +251 -0
  298. package/dist/esm/pds-modal.entry.js.map +1 -0
  299. package/dist/esm/pds-popover.entry.js +33 -1
  300. package/dist/esm/pds-popover.entry.js.map +1 -1
  301. package/dist/esm/pds-progress.entry.js +1 -1
  302. package/dist/esm/pds-radio.entry.js +4 -4
  303. package/dist/esm/pds-row.entry.js +1 -1
  304. package/dist/esm/pds-select.entry.js +3 -4
  305. package/dist/esm/pds-select.entry.js.map +1 -1
  306. package/dist/esm/pds-sortable-item.entry.js +2 -2
  307. package/dist/esm/pds-sortable.entry.js +1 -1
  308. package/dist/esm/pds-switch.entry.js +4 -4
  309. package/dist/esm/pds-tab.entry.js +3 -3
  310. package/dist/esm/pds-table-body.entry.js +1 -1
  311. package/dist/esm/pds-table-cell.entry.js +2 -2
  312. package/dist/esm/pds-table-head-cell.entry.js +3 -3
  313. package/dist/esm/pds-table-head.entry.js +1 -1
  314. package/dist/esm/pds-table-row.entry.js +1 -1
  315. package/dist/esm/pds-table.entry.js +1 -1
  316. package/dist/esm/pds-tabpanel.entry.js +1 -1
  317. package/dist/esm/pds-tabs.entry.js +1 -1
  318. package/dist/esm/pds-text.entry.js +2 -2
  319. package/dist/esm/pds-text.entry.js.map +1 -1
  320. package/dist/esm/pds-textarea.entry.js +6 -6
  321. package/dist/esm/pds-toast.entry.js +102 -0
  322. package/dist/esm/pds-toast.entry.js.map +1 -0
  323. package/dist/esm/pds-tooltip.entry.js +297 -79
  324. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  325. package/dist/esm/pine-core.js +1 -1
  326. package/dist/esm/{utils-Dw9B1JDC.js → utils-DkabwBZT.js} +5 -4
  327. package/dist/esm/utils-DkabwBZT.js.map +1 -0
  328. package/dist/esm-es5/{index-_4gljHh-.js → index-DpOSrebJ.js} +1 -1
  329. package/dist/esm-es5/index-DpOSrebJ.js.map +1 -0
  330. package/dist/esm-es5/loader.js +1 -1
  331. package/dist/esm-es5/mock-pds-modal.entry.js +2 -0
  332. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -0
  333. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  334. package/dist/esm-es5/pds-alert.entry.js +2 -0
  335. package/dist/esm-es5/pds-alert.entry.js.map +1 -0
  336. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  337. package/dist/esm-es5/pds-box.entry.js +1 -1
  338. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  339. package/dist/esm-es5/pds-button.entry.js +1 -1
  340. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  341. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  342. package/dist/esm-es5/pds-chip.entry.js +1 -1
  343. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  344. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  345. package/dist/esm-es5/pds-divider.entry.js +1 -1
  346. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +2 -0
  347. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -0
  348. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +2 -0
  349. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -0
  350. package/dist/esm-es5/pds-dropdown-menu.entry.js +2 -0
  351. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -0
  352. package/dist/esm-es5/pds-image.entry.js +1 -1
  353. package/dist/esm-es5/pds-input.entry.js +1 -1
  354. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  355. package/dist/esm-es5/pds-link.entry.js +1 -1
  356. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  357. package/dist/esm-es5/pds-loader.entry.js +1 -1
  358. package/dist/esm-es5/pds-modal-content.entry.js +2 -0
  359. package/dist/esm-es5/pds-modal-content.entry.js.map +1 -0
  360. package/dist/esm-es5/pds-modal-footer.entry.js +2 -0
  361. package/dist/esm-es5/pds-modal-footer.entry.js.map +1 -0
  362. package/dist/esm-es5/pds-modal-header.entry.js +2 -0
  363. package/dist/esm-es5/pds-modal-header.entry.js.map +1 -0
  364. package/dist/esm-es5/pds-modal.entry.js +2 -0
  365. package/dist/esm-es5/pds-modal.entry.js.map +1 -0
  366. package/dist/esm-es5/pds-popover.entry.js +1 -1
  367. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  368. package/dist/esm-es5/pds-progress.entry.js +1 -1
  369. package/dist/esm-es5/pds-radio.entry.js +1 -1
  370. package/dist/esm-es5/pds-row.entry.js +1 -1
  371. package/dist/esm-es5/pds-select.entry.js +1 -1
  372. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  373. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  374. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  375. package/dist/esm-es5/pds-switch.entry.js +1 -1
  376. package/dist/esm-es5/pds-tab.entry.js +1 -1
  377. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  378. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  379. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  380. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  381. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  382. package/dist/esm-es5/pds-table.entry.js +1 -1
  383. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  384. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  385. package/dist/esm-es5/pds-text.entry.js +1 -1
  386. package/dist/esm-es5/pds-text.entry.js.map +1 -1
  387. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  388. package/dist/esm-es5/pds-toast.entry.js +2 -0
  389. package/dist/esm-es5/pds-toast.entry.js.map +1 -0
  390. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  391. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  392. package/dist/esm-es5/pine-core.js +1 -1
  393. package/dist/esm-es5/utils-DkabwBZT.js +2 -0
  394. package/dist/esm-es5/utils-DkabwBZT.js.map +1 -0
  395. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -0
  396. package/dist/pine-core/{p-BjCOR1Nn.system.js.map → p--YvWqEjm.system.js.map} +1 -1
  397. package/dist/pine-core/p-00599bd8.entry.js +2 -0
  398. package/dist/pine-core/p-00599bd8.entry.js.map +1 -0
  399. package/dist/pine-core/{p-a14c8ab4.system.entry.js → p-03d8cb4c.system.entry.js} +2 -2
  400. package/dist/pine-core/{p-f94703c9.entry.js → p-04195bdb.entry.js} +2 -2
  401. package/dist/pine-core/p-065208a1.system.entry.js +2 -0
  402. package/dist/pine-core/p-065208a1.system.entry.js.map +1 -0
  403. package/dist/pine-core/p-07f45626.entry.js +2 -0
  404. package/dist/pine-core/p-07f45626.entry.js.map +1 -0
  405. package/dist/pine-core/{p-0486ad57.entry.js → p-0a11384e.entry.js} +2 -2
  406. package/dist/pine-core/p-0a87e2fc.system.entry.js +2 -0
  407. package/dist/pine-core/p-0a87e2fc.system.entry.js.map +1 -0
  408. package/dist/pine-core/p-0c30661b.system.entry.js +2 -0
  409. package/dist/pine-core/p-0c30661b.system.entry.js.map +1 -0
  410. package/dist/pine-core/{p-82e05dcf.entry.js → p-10e2feff.entry.js} +2 -2
  411. package/dist/pine-core/{p-d2110923.system.entry.js → p-111e7da2.system.entry.js} +2 -2
  412. package/dist/pine-core/{p-1178485a.system.entry.js → p-13481ef5.system.entry.js} +2 -2
  413. package/dist/pine-core/{p-1178485a.system.entry.js.map → p-13481ef5.system.entry.js.map} +1 -1
  414. package/dist/pine-core/{p-68de979e.entry.js → p-19c01019.entry.js} +2 -2
  415. package/dist/pine-core/p-1d395d27.entry.js +2 -0
  416. package/dist/pine-core/p-1d395d27.entry.js.map +1 -0
  417. package/dist/pine-core/{p-4ff0838c.entry.js → p-2007a0b5.entry.js} +2 -2
  418. package/dist/pine-core/{p-fed4c0c0.system.entry.js → p-27c0ffda.system.entry.js} +2 -2
  419. package/dist/pine-core/p-35917a1a.entry.js +2 -0
  420. package/dist/pine-core/p-39a31730.system.entry.js +2 -0
  421. package/dist/pine-core/p-39a31730.system.entry.js.map +1 -0
  422. package/dist/pine-core/p-3D0orTx_.system.js.map +1 -0
  423. package/dist/pine-core/p-3ea415b0.entry.js +2 -0
  424. package/dist/pine-core/p-3ea415b0.entry.js.map +1 -0
  425. package/dist/pine-core/p-44f10d3c.entry.js +2 -0
  426. package/dist/pine-core/p-44f10d3c.entry.js.map +1 -0
  427. package/dist/pine-core/p-47a7a65b.entry.js +2 -0
  428. package/dist/pine-core/p-47a7a65b.entry.js.map +1 -0
  429. package/dist/pine-core/{p-ca09f86a.system.entry.js → p-4b2aab79.system.entry.js} +2 -2
  430. package/dist/pine-core/p-513c16c7.entry.js +2 -0
  431. package/dist/pine-core/p-513c16c7.entry.js.map +1 -0
  432. package/dist/pine-core/{p-950427b2.entry.js → p-51cc93b3.entry.js} +2 -2
  433. package/dist/pine-core/p-5367f477.system.entry.js +2 -0
  434. package/dist/pine-core/{p-ceb48b05.system.entry.js → p-593df966.system.entry.js} +2 -2
  435. package/dist/pine-core/p-5a437fcd.system.entry.js +2 -0
  436. package/dist/pine-core/p-5a437fcd.system.entry.js.map +1 -0
  437. package/dist/pine-core/p-5c4aceb7.entry.js +2 -0
  438. package/dist/pine-core/p-5c4aceb7.entry.js.map +1 -0
  439. package/dist/pine-core/{p-598ade79.entry.js → p-5e1e7762.entry.js} +2 -2
  440. package/dist/pine-core/{p-9cdd57de.entry.js → p-60fbeb1c.entry.js} +2 -2
  441. package/dist/pine-core/p-624db3d6.system.entry.js +2 -0
  442. package/dist/pine-core/p-624db3d6.system.entry.js.map +1 -0
  443. package/dist/pine-core/p-65a875f6.entry.js +2 -0
  444. package/dist/pine-core/p-65a875f6.entry.js.map +1 -0
  445. package/dist/pine-core/{p-c0f0b368.system.entry.js → p-6a7936e7.system.entry.js} +2 -2
  446. package/dist/pine-core/{p-a97952fc.system.entry.js → p-73412ca9.system.entry.js} +2 -2
  447. package/dist/pine-core/{p-a97952fc.system.entry.js.map → p-73412ca9.system.entry.js.map} +1 -1
  448. package/dist/pine-core/{p-b390c427.entry.js → p-76e35041.entry.js} +2 -2
  449. package/dist/pine-core/{p-12bee2e5.entry.js → p-76f7cf21.entry.js} +2 -2
  450. package/dist/pine-core/{p-103b62a1.system.entry.js → p-78327c08.system.entry.js} +2 -2
  451. package/dist/pine-core/{p-792355e6.entry.js → p-78f29270.entry.js} +2 -2
  452. package/dist/pine-core/p-79cb7835.system.entry.js +2 -0
  453. package/dist/pine-core/p-79cb7835.system.entry.js.map +1 -0
  454. package/dist/pine-core/{p-fd9aa739.system.entry.js → p-7bb3a5d4.system.entry.js} +2 -2
  455. package/dist/pine-core/{p-e88d58f4.entry.js → p-80f36506.entry.js} +2 -2
  456. package/dist/pine-core/{p-eda0dc79.entry.js → p-8180b641.entry.js} +2 -2
  457. package/dist/pine-core/{p-85073252.system.entry.js → p-833b2170.system.entry.js} +2 -2
  458. package/dist/pine-core/p-86329612.entry.js +2 -0
  459. package/dist/pine-core/p-86329612.entry.js.map +1 -0
  460. package/dist/pine-core/p-8b6b0db7.entry.js +2 -0
  461. package/dist/pine-core/p-8b6b0db7.entry.js.map +1 -0
  462. package/dist/pine-core/p-8f06b020.entry.js +2 -0
  463. package/dist/pine-core/p-8f06b020.entry.js.map +1 -0
  464. package/dist/pine-core/p-942fa145.system.entry.js +2 -0
  465. package/dist/pine-core/p-942fa145.system.entry.js.map +1 -0
  466. package/dist/pine-core/{p-1d92261f.system.entry.js → p-959c8247.system.entry.js} +2 -2
  467. package/dist/pine-core/{p-5763df39.system.entry.js → p-96e9774e.system.entry.js} +2 -2
  468. package/dist/pine-core/{p-e281ac09.entry.js → p-99b5e1a5.entry.js} +2 -2
  469. package/dist/pine-core/p-9c01e81b.system.entry.js +2 -0
  470. package/dist/pine-core/p-9c01e81b.system.entry.js.map +1 -0
  471. package/dist/pine-core/p-9db1f179.entry.js +2 -0
  472. package/dist/pine-core/p-9db1f179.entry.js.map +1 -0
  473. package/dist/pine-core/p-A4_UN20E.system.js.map +1 -0
  474. package/dist/pine-core/p-B2gfQpwn.system.js.map +1 -0
  475. package/dist/pine-core/{p-CDhmuxC9.system.js.map → p-B5JFBYFw.system.js.map} +1 -1
  476. package/dist/pine-core/p-B5LBNcOw.system.js.map +1 -0
  477. package/dist/pine-core/{p-BJyPFOn0.system.js.map → p-BE1qV1Jc.system.js.map} +1 -1
  478. package/dist/pine-core/p-BEYGfY83.system.js.map +1 -0
  479. package/dist/pine-core/{p-B46WXJMn.system.js.map → p-BHZ6CSg4.system.js.map} +1 -1
  480. package/dist/pine-core/p-BHp2IZGP.system.js.map +1 -0
  481. package/dist/pine-core/{p-BSINexOf.system.js.map → p-BISuGf0f.system.js.map} +1 -1
  482. package/dist/pine-core/p-BPQAcMLl.system.js.map +1 -0
  483. package/dist/pine-core/{p-9niWVsdd.system.js.map → p-BaAcO8Mz.system.js.map} +1 -1
  484. package/dist/pine-core/p-BcuE4ZrB.system.js.map +1 -0
  485. package/dist/pine-core/{p-C94EgDFz.system.js → p-BhPuKJbQ.system.js} +2 -2
  486. package/dist/pine-core/p-BhPuKJbQ.system.js.map +1 -0
  487. package/dist/pine-core/p-BsL2GDnH.system.js +1 -1
  488. package/dist/pine-core/{p-DEsea81X.system.js.map → p-BwHnCFqU.system.js.map} +1 -1
  489. package/dist/pine-core/{p-DVVPJPOu.system.js.map → p-BxBtA60x.system.js.map} +1 -1
  490. package/dist/pine-core/{p-kMnJefdU.system.js.map → p-C0oRS1F9.system.js.map} +1 -1
  491. package/dist/pine-core/{p-eKz-xVcI.system.js.map → p-C2d75seA.system.js.map} +1 -1
  492. package/dist/pine-core/{p-BgcVBzVE.system.js.map → p-CGABEyvz.system.js.map} +1 -1
  493. package/dist/pine-core/{p-DkJgkLjR.system.js.map → p-CIc_XeAg.system.js.map} +1 -1
  494. package/dist/pine-core/p-CNYB6FL-.system.js.map +1 -0
  495. package/dist/pine-core/{p-BW-n3jjz.system.js.map → p-CNkajx9x.system.js.map} +1 -1
  496. package/dist/pine-core/{p-Dz6toWDZ.system.js.map → p-CS2nVL5p.system.js.map} +1 -1
  497. package/dist/pine-core/{p-BFPxUBwH.system.js.map → p-CTPMEWZT.system.js.map} +1 -1
  498. package/dist/pine-core/{p-Cg0JSYH5.system.js.map → p-CTWkFhWu.system.js.map} +1 -1
  499. package/dist/pine-core/{p-BoNavS-S.system.js.map → p-CcsZC7UR.system.js.map} +1 -1
  500. package/dist/pine-core/{p-D8WAvG2e.system.js.map → p-CdzfTGbZ.system.js.map} +1 -1
  501. package/dist/pine-core/p-CkoeYrxa.system.js.map +1 -0
  502. package/dist/pine-core/p-ClVQjta4.system.js.map +1 -0
  503. package/dist/pine-core/{p-C0cdB2AV.system.js.map → p-D2UtaGL2.system.js.map} +1 -1
  504. package/dist/pine-core/{p-YuC61pNM.system.js.map → p-DGyATOIf.system.js.map} +1 -1
  505. package/dist/pine-core/p-DMeT5CsE.system.js.map +1 -0
  506. package/dist/pine-core/p-DVhX1_nD.system.js.map +1 -0
  507. package/dist/pine-core/p-DeW-6a7f.system.js.map +1 -0
  508. package/dist/pine-core/{p-Cj21y714.system.js.map → p-DgTp_KeO.system.js.map} +1 -1
  509. package/dist/pine-core/p-DjXmy34u.system.js.map +1 -0
  510. package/dist/pine-core/p-DkabwBZT.js +2 -0
  511. package/dist/pine-core/p-DkabwBZT.js.map +1 -0
  512. package/dist/pine-core/{p-_4gljHh-.js → p-DpOSrebJ.js} +1 -1
  513. package/dist/pine-core/p-DpOSrebJ.js.map +1 -0
  514. package/dist/pine-core/{p-B4W0_y2p.system.js → p-DyDReOdO.system.js} +1 -1
  515. package/dist/pine-core/p-DyDReOdO.system.js.map +1 -0
  516. package/dist/pine-core/{p-IK9NvSRG.system.js.map → p-EqAbQY8l.system.js.map} +1 -1
  517. package/dist/pine-core/p-Ke8SGZqs.system.js.map +1 -0
  518. package/dist/pine-core/{p-CmTz2SvK.system.js.map → p-Mqxw-gWj.system.js.map} +1 -1
  519. package/dist/pine-core/{p-BVNW4NmT.system.js.map → p-PPIMiuZX.system.js.map} +1 -1
  520. package/dist/pine-core/p-PkSWq78_.system.js.map +1 -0
  521. package/dist/pine-core/{p-w3zTyPF1.system.js.map → p-UhZHDNH2.system.js.map} +1 -1
  522. package/dist/pine-core/p-a52b1413.entry.js +2 -0
  523. package/dist/pine-core/p-a52b1413.entry.js.map +1 -0
  524. package/dist/pine-core/{p-7b6b354a.system.entry.js → p-a556a328.system.entry.js} +2 -2
  525. package/dist/pine-core/{p-c7d4f436.system.entry.js → p-a98cda38.system.entry.js} +2 -2
  526. package/dist/pine-core/{p-c838b6ef.system.entry.js → p-ab7e4700.system.entry.js} +2 -2
  527. package/dist/pine-core/{p-6147b1ea.system.entry.js → p-aeaae417.system.entry.js} +2 -2
  528. package/dist/pine-core/{p-b902f535.entry.js → p-b2820acd.entry.js} +2 -2
  529. package/dist/pine-core/{p-f439922f.entry.js → p-bf699bad.entry.js} +2 -2
  530. package/dist/pine-core/{p-f439922f.entry.js.map → p-bf699bad.entry.js.map} +1 -1
  531. package/dist/pine-core/p-c1909a5d.system.entry.js +2 -0
  532. package/dist/pine-core/{p-9d0c1b2e.system.entry.js.map → p-c1909a5d.system.entry.js.map} +1 -1
  533. package/dist/pine-core/{p-e045e337.system.entry.js → p-c551191a.system.entry.js} +2 -2
  534. package/dist/pine-core/p-c5e1ed09.system.entry.js +2 -0
  535. package/dist/pine-core/p-c5e1ed09.system.entry.js.map +1 -0
  536. package/dist/pine-core/{p-596e0292.system.entry.js → p-cc21ddcc.system.entry.js} +2 -2
  537. package/dist/pine-core/p-d0adaca0.system.entry.js +2 -0
  538. package/dist/pine-core/p-d0adaca0.system.entry.js.map +1 -0
  539. package/dist/pine-core/{p-6ad460a7.entry.js → p-d28768d1.entry.js} +2 -2
  540. package/dist/pine-core/{p-5c396e75.entry.js → p-d35b3494.entry.js} +2 -2
  541. package/dist/pine-core/{p-98181fa8.system.entry.js → p-d553e05c.system.entry.js} +2 -2
  542. package/dist/pine-core/{p-a952d40c.system.entry.js → p-d6d453d8.system.entry.js} +2 -2
  543. package/dist/pine-core/p-dcda4ff5.system.entry.js +2 -0
  544. package/dist/pine-core/p-dcda4ff5.system.entry.js.map +1 -0
  545. package/dist/pine-core/p-ddcc4932.entry.js +2 -0
  546. package/dist/pine-core/{p-ed8c3064.system.entry.js → p-de550d9e.system.entry.js} +2 -2
  547. package/dist/pine-core/p-dfd5a5b6.system.entry.js +2 -0
  548. package/dist/pine-core/p-dfd5a5b6.system.entry.js.map +1 -0
  549. package/dist/pine-core/p-e562ad73.system.entry.js +2 -0
  550. package/dist/pine-core/p-e562ad73.system.entry.js.map +1 -0
  551. package/dist/pine-core/p-e9f004c5.entry.js +2 -0
  552. package/dist/pine-core/p-e9f004c5.entry.js.map +1 -0
  553. package/dist/pine-core/p-ef9ed75a.system.entry.js +2 -0
  554. package/dist/pine-core/p-ef9ed75a.system.entry.js.map +1 -0
  555. package/dist/pine-core/{p-4b59cae8.entry.js → p-f256dd8a.entry.js} +2 -2
  556. package/dist/pine-core/{p-4b59cae8.entry.js.map → p-f256dd8a.entry.js.map} +1 -1
  557. package/dist/pine-core/{p-b68cb43d.system.entry.js → p-f46c4618.system.entry.js} +2 -2
  558. package/dist/pine-core/p-f4fff209.system.entry.js +2 -0
  559. package/dist/pine-core/p-f4fff209.system.entry.js.map +1 -0
  560. package/dist/pine-core/{p-3ce8eb9f.entry.js → p-f6b226df.entry.js} +2 -2
  561. package/dist/pine-core/{p-6a716bff.entry.js → p-f99c59a8.entry.js} +2 -2
  562. package/dist/pine-core/{p-1b81a8ec.entry.js → p-fb1eb0c4.entry.js} +2 -2
  563. package/dist/pine-core/{p-8305cd4d.entry.js → p-fb2fb435.entry.js} +2 -2
  564. package/dist/pine-core/p-fd1ef1e1.entry.js +2 -0
  565. package/dist/pine-core/p-fd1ef1e1.entry.js.map +1 -0
  566. package/dist/pine-core/p-fdf3a5ff.entry.js +2 -0
  567. package/dist/pine-core/{p-d5838288.entry.js.map → p-fdf3a5ff.entry.js.map} +1 -1
  568. package/dist/pine-core/p-fed5f55e.system.entry.js +2 -0
  569. package/dist/pine-core/pds-alert.entry.esm.js.map +1 -0
  570. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  571. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  572. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  573. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -0
  574. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -0
  575. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -0
  576. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  577. package/dist/pine-core/pds-link.entry.esm.js.map +1 -1
  578. package/dist/pine-core/pds-modal-content.entry.esm.js.map +1 -0
  579. package/dist/pine-core/pds-modal-footer.entry.esm.js.map +1 -0
  580. package/dist/pine-core/pds-modal-header.entry.esm.js.map +1 -0
  581. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -0
  582. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  583. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  584. package/dist/pine-core/pds-text.entry.esm.js.map +1 -1
  585. package/dist/pine-core/pds-toast.entry.esm.js.map +1 -0
  586. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  587. package/dist/pine-core/pine-core.esm.js +1 -1
  588. package/dist/types/components/pds-alert/pds-alert.d.ts +39 -0
  589. package/dist/types/components/pds-box/pds-box.d.ts +6 -6
  590. package/dist/types/components/pds-chip/pds-chip.d.ts +9 -1
  591. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +43 -0
  592. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.d.ts +13 -0
  593. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +33 -0
  594. package/dist/types/components/pds-input/pds-input.d.ts +57 -9
  595. package/dist/types/components/pds-link/pds-link.d.ts +5 -0
  596. package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +25 -0
  597. package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +3 -0
  598. package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +3 -0
  599. package/dist/types/components/pds-modal/pds-modal.d.ts +72 -0
  600. package/dist/types/components/pds-modal/test/mock-pds-modal.d.ts +63 -0
  601. package/dist/types/components/pds-select/pds-select.d.ts +4 -0
  602. package/dist/types/components/pds-toast/pds-toast.d.ts +57 -0
  603. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +31 -3
  604. package/dist/types/components.d.ts +609 -20
  605. package/dist/types/utils/interfaces.d.ts +6 -0
  606. package/dist/types/utils/overlay.d.ts +3 -3
  607. package/dist/types/utils/utils.d.ts +1 -1
  608. package/hydrate/index.js +3030 -280
  609. package/hydrate/index.mjs +3030 -280
  610. package/package.json +6 -2
  611. package/dist/cjs/index-CG2Rr2io.js.map +0 -1
  612. package/dist/cjs/utils-CQKIgzWg.js.map +0 -1
  613. package/dist/esm/index-_4gljHh-.js.map +0 -1
  614. package/dist/esm/utils-Dw9B1JDC.js.map +0 -1
  615. package/dist/esm-es5/index-_4gljHh-.js.map +0 -1
  616. package/dist/esm-es5/utils-Dw9B1JDC.js +0 -2
  617. package/dist/esm-es5/utils-Dw9B1JDC.js.map +0 -1
  618. package/dist/pine-core/p-13b9ed06.system.entry.js +0 -2
  619. package/dist/pine-core/p-1d690915.entry.js +0 -2
  620. package/dist/pine-core/p-294f9b1f.entry.js +0 -2
  621. package/dist/pine-core/p-38246e2f.entry.js +0 -2
  622. package/dist/pine-core/p-38246e2f.entry.js.map +0 -1
  623. package/dist/pine-core/p-38d2498e.system.entry.js +0 -2
  624. package/dist/pine-core/p-38d2498e.system.entry.js.map +0 -1
  625. package/dist/pine-core/p-433c6687.system.entry.js +0 -2
  626. package/dist/pine-core/p-433c6687.system.entry.js.map +0 -1
  627. package/dist/pine-core/p-4ccd2d5e.entry.js +0 -2
  628. package/dist/pine-core/p-4ccd2d5e.entry.js.map +0 -1
  629. package/dist/pine-core/p-4e7ca704.entry.js +0 -2
  630. package/dist/pine-core/p-4e7ca704.entry.js.map +0 -1
  631. package/dist/pine-core/p-6260135d.system.entry.js +0 -2
  632. package/dist/pine-core/p-6260135d.system.entry.js.map +0 -1
  633. package/dist/pine-core/p-82151ac5.entry.js +0 -2
  634. package/dist/pine-core/p-82151ac5.entry.js.map +0 -1
  635. package/dist/pine-core/p-8337c77c.entry.js +0 -2
  636. package/dist/pine-core/p-8337c77c.entry.js.map +0 -1
  637. package/dist/pine-core/p-953f619f.system.entry.js +0 -2
  638. package/dist/pine-core/p-9d0c1b2e.system.entry.js +0 -2
  639. package/dist/pine-core/p-B4W0_y2p.system.js.map +0 -1
  640. package/dist/pine-core/p-Bu94kuQa.system.js.map +0 -1
  641. package/dist/pine-core/p-C94EgDFz.system.js.map +0 -1
  642. package/dist/pine-core/p-CdkqpuKd.system.js.map +0 -1
  643. package/dist/pine-core/p-CnoLHUtr.system.js.map +0 -1
  644. package/dist/pine-core/p-Cz3zRtiB.system.js.map +0 -1
  645. package/dist/pine-core/p-DFmUOrRG.system.js.map +0 -1
  646. package/dist/pine-core/p-DhwO1z4v.system.js.map +0 -1
  647. package/dist/pine-core/p-Dv_jWtcr.system.js.map +0 -1
  648. package/dist/pine-core/p-Dw9B1JDC.js +0 -2
  649. package/dist/pine-core/p-Dw9B1JDC.js.map +0 -1
  650. package/dist/pine-core/p-_4gljHh-.js.map +0 -1
  651. package/dist/pine-core/p-d3ab594c.system.entry.js +0 -2
  652. package/dist/pine-core/p-d3ab594c.system.entry.js.map +0 -1
  653. package/dist/pine-core/p-d5838288.entry.js +0 -2
  654. package/dist/pine-core/p-d78bec50.system.entry.js +0 -2
  655. package/dist/pine-core/p-d78bec50.system.entry.js.map +0 -1
  656. package/dist/pine-core/p-d8e02aa9.system.entry.js +0 -2
  657. package/dist/pine-core/p-d8e02aa9.system.entry.js.map +0 -1
  658. package/dist/pine-core/p-f4898d4f.entry.js +0 -2
  659. package/dist/pine-core/p-f4898d4f.entry.js.map +0 -1
  660. /package/dist/pine-core/{p-a14c8ab4.system.entry.js.map → p-03d8cb4c.system.entry.js.map} +0 -0
  661. /package/dist/pine-core/{p-f94703c9.entry.js.map → p-04195bdb.entry.js.map} +0 -0
  662. /package/dist/pine-core/{p-0486ad57.entry.js.map → p-0a11384e.entry.js.map} +0 -0
  663. /package/dist/pine-core/{p-82e05dcf.entry.js.map → p-10e2feff.entry.js.map} +0 -0
  664. /package/dist/pine-core/{p-d2110923.system.entry.js.map → p-111e7da2.system.entry.js.map} +0 -0
  665. /package/dist/pine-core/{p-68de979e.entry.js.map → p-19c01019.entry.js.map} +0 -0
  666. /package/dist/pine-core/{p-4ff0838c.entry.js.map → p-2007a0b5.entry.js.map} +0 -0
  667. /package/dist/pine-core/{p-fed4c0c0.system.entry.js.map → p-27c0ffda.system.entry.js.map} +0 -0
  668. /package/dist/pine-core/{p-294f9b1f.entry.js.map → p-35917a1a.entry.js.map} +0 -0
  669. /package/dist/pine-core/{p-ca09f86a.system.entry.js.map → p-4b2aab79.system.entry.js.map} +0 -0
  670. /package/dist/pine-core/{p-950427b2.entry.js.map → p-51cc93b3.entry.js.map} +0 -0
  671. /package/dist/pine-core/{p-953f619f.system.entry.js.map → p-5367f477.system.entry.js.map} +0 -0
  672. /package/dist/pine-core/{p-ceb48b05.system.entry.js.map → p-593df966.system.entry.js.map} +0 -0
  673. /package/dist/pine-core/{p-598ade79.entry.js.map → p-5e1e7762.entry.js.map} +0 -0
  674. /package/dist/pine-core/{p-9cdd57de.entry.js.map → p-60fbeb1c.entry.js.map} +0 -0
  675. /package/dist/pine-core/{p-c0f0b368.system.entry.js.map → p-6a7936e7.system.entry.js.map} +0 -0
  676. /package/dist/pine-core/{p-b390c427.entry.js.map → p-76e35041.entry.js.map} +0 -0
  677. /package/dist/pine-core/{p-12bee2e5.entry.js.map → p-76f7cf21.entry.js.map} +0 -0
  678. /package/dist/pine-core/{p-103b62a1.system.entry.js.map → p-78327c08.system.entry.js.map} +0 -0
  679. /package/dist/pine-core/{p-792355e6.entry.js.map → p-78f29270.entry.js.map} +0 -0
  680. /package/dist/pine-core/{p-fd9aa739.system.entry.js.map → p-7bb3a5d4.system.entry.js.map} +0 -0
  681. /package/dist/pine-core/{p-e88d58f4.entry.js.map → p-80f36506.entry.js.map} +0 -0
  682. /package/dist/pine-core/{p-eda0dc79.entry.js.map → p-8180b641.entry.js.map} +0 -0
  683. /package/dist/pine-core/{p-85073252.system.entry.js.map → p-833b2170.system.entry.js.map} +0 -0
  684. /package/dist/pine-core/{p-1d92261f.system.entry.js.map → p-959c8247.system.entry.js.map} +0 -0
  685. /package/dist/pine-core/{p-5763df39.system.entry.js.map → p-96e9774e.system.entry.js.map} +0 -0
  686. /package/dist/pine-core/{p-e281ac09.entry.js.map → p-99b5e1a5.entry.js.map} +0 -0
  687. /package/dist/pine-core/{p-7b6b354a.system.entry.js.map → p-a556a328.system.entry.js.map} +0 -0
  688. /package/dist/pine-core/{p-c7d4f436.system.entry.js.map → p-a98cda38.system.entry.js.map} +0 -0
  689. /package/dist/pine-core/{p-c838b6ef.system.entry.js.map → p-ab7e4700.system.entry.js.map} +0 -0
  690. /package/dist/pine-core/{p-6147b1ea.system.entry.js.map → p-aeaae417.system.entry.js.map} +0 -0
  691. /package/dist/pine-core/{p-b902f535.entry.js.map → p-b2820acd.entry.js.map} +0 -0
  692. /package/dist/pine-core/{p-e045e337.system.entry.js.map → p-c551191a.system.entry.js.map} +0 -0
  693. /package/dist/pine-core/{p-596e0292.system.entry.js.map → p-cc21ddcc.system.entry.js.map} +0 -0
  694. /package/dist/pine-core/{p-6ad460a7.entry.js.map → p-d28768d1.entry.js.map} +0 -0
  695. /package/dist/pine-core/{p-5c396e75.entry.js.map → p-d35b3494.entry.js.map} +0 -0
  696. /package/dist/pine-core/{p-98181fa8.system.entry.js.map → p-d553e05c.system.entry.js.map} +0 -0
  697. /package/dist/pine-core/{p-a952d40c.system.entry.js.map → p-d6d453d8.system.entry.js.map} +0 -0
  698. /package/dist/pine-core/{p-1d690915.entry.js.map → p-ddcc4932.entry.js.map} +0 -0
  699. /package/dist/pine-core/{p-ed8c3064.system.entry.js.map → p-de550d9e.system.entry.js.map} +0 -0
  700. /package/dist/pine-core/{p-b68cb43d.system.entry.js.map → p-f46c4618.system.entry.js.map} +0 -0
  701. /package/dist/pine-core/{p-3ce8eb9f.entry.js.map → p-f6b226df.entry.js.map} +0 -0
  702. /package/dist/pine-core/{p-6a716bff.entry.js.map → p-f99c59a8.entry.js.map} +0 -0
  703. /package/dist/pine-core/{p-1b81a8ec.entry.js.map → p-fb1eb0c4.entry.js.map} +0 -0
  704. /package/dist/pine-core/{p-8305cd4d.entry.js.map → p-fb2fb435.entry.js.map} +0 -0
  705. /package/dist/pine-core/{p-13b9ed06.system.entry.js.map → p-fed5f55e.system.entry.js.map} +0 -0
@@ -0,0 +1,278 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+
3
+ const pdsModalCss = ".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity 0.2s ease, visibility 0.2s ease;transition:opacity 0.2s ease, visibility 0.2s ease;visibility:hidden;width:100%;z-index:1000}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:1001}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;visibility:visible}.pds-modal{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:calc(100vh - (6vh + 96px));width:100%}@media (min-width: 992px){.pds-modal{-webkit-margin-before:6vh;margin-block-start:6vh}}@media (min-width: 1200px){.pds-modal{-webkit-margin-before:8vh;margin-block-start:8vh}}.pds-modal--sm{max-width:520px}.pds-modal--md{max-width:700px}.pds-modal--lg{max-width:900px}.pds-modal--fullscreen{border-radius:0;height:100%;margin:0;max-height:100vh;max-width:100%}.pds-modal--fullscreen .pds-modal-content{-ms-flex:1;flex:1}";
4
+
5
+ const PdsModal$1 = /*@__PURE__*/ proxyCustomElement(class PdsModal extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.pdsModalOpen = createEvent(this, "pdsModalOpen", 7);
10
+ this.pdsModalClose = createEvent(this, "pdsModalClose", 7);
11
+ this.focusableElements = [];
12
+ /**
13
+ * Whether the modal can be dismissed by clicking the backdrop
14
+ * @default true
15
+ */
16
+ this.backdropDismiss = true;
17
+ /**
18
+ * Whether the modal is open
19
+ * @default false
20
+ */
21
+ this.open = false;
22
+ /**
23
+ * The size of the modal
24
+ * @default 'md'
25
+ */
26
+ this.size = 'md';
27
+ /**
28
+ * Stores the list of focusable elements in the modal
29
+ */
30
+ this.focusableElementsArray = [];
31
+ this.handleBackdropClick = (e) => {
32
+ if (!this.backdropDismiss || !this.open)
33
+ return;
34
+ if (e.target.classList.contains('pds-modal__backdrop')) {
35
+ e.stopPropagation();
36
+ // Only close if this is the innermost modal
37
+ if (this.isInnermostModal()) {
38
+ this.hideModal();
39
+ }
40
+ }
41
+ };
42
+ this.handleKeyDown = (e) => {
43
+ // If the modal is not open, don't handle any keyboard events
44
+ if (!this.open)
45
+ return;
46
+ // Handle Escape key to close the modal
47
+ if (e.key === 'Escape') {
48
+ // Only close if this is the innermost modal
49
+ if (this.isInnermostModal()) {
50
+ e.preventDefault();
51
+ this.hideModal();
52
+ }
53
+ return;
54
+ }
55
+ // Handle Tab key for focus trapping
56
+ if (e.key === 'Tab') {
57
+ // If there are no focusable elements, do nothing
58
+ if (this.focusableElements.length === 0)
59
+ return;
60
+ // Get the first and last focusable elements
61
+ const firstFocusableElement = this.focusableElements[0];
62
+ const lastFocusableElement = this.focusableElements[this.focusableElements.length - 1];
63
+ // Get the current active element
64
+ const activeElement = document.activeElement;
65
+ // Check if we need to wrap focus
66
+ const isFirstElement = activeElement === firstFocusableElement ||
67
+ firstFocusableElement.contains(activeElement);
68
+ const isLastElement = activeElement === lastFocusableElement ||
69
+ lastFocusableElement.contains(activeElement);
70
+ // If shift + tab is pressed and focus is on the first element, move to the last element
71
+ if (e.shiftKey && isFirstElement) {
72
+ e.preventDefault();
73
+ this.focusElement(lastFocusableElement);
74
+ }
75
+ // If tab is pressed and focus is on the last element, move to the first element
76
+ else if (!e.shiftKey && isLastElement) {
77
+ e.preventDefault();
78
+ this.focusElement(firstFocusableElement);
79
+ }
80
+ }
81
+ };
82
+ }
83
+ componentDidLoad() {
84
+ this.modalRef = this.el.querySelector('.pds-modal__backdrop');
85
+ // Add keyboard event listener
86
+ document.addEventListener('keydown', this.handleKeyDown);
87
+ }
88
+ disconnectedCallback() {
89
+ // Clean up event listener
90
+ document.removeEventListener('keydown', this.handleKeyDown);
91
+ }
92
+ handleOpenChange(newValue) {
93
+ if (newValue) {
94
+ this.showModal();
95
+ }
96
+ else {
97
+ this.hideModal();
98
+ }
99
+ }
100
+ /**
101
+ * Updates the list of focusable elements in the modal
102
+ */
103
+ updateFocusableElements() {
104
+ if (!this.modalRef)
105
+ return;
106
+ // Get all focusable elements within the modal
107
+ const selector = [
108
+ 'a[href]',
109
+ 'button:not([disabled])',
110
+ 'input:not([disabled])',
111
+ 'select:not([disabled])',
112
+ 'textarea:not([disabled])',
113
+ '[tabindex]:not([tabindex="-1"])',
114
+ 'pds-button:not([disabled])',
115
+ 'pds-link:not([disabled])',
116
+ 'pds-input:not([disabled])',
117
+ 'pds-checkbox:not([disabled])',
118
+ 'pds-radio:not([disabled])',
119
+ 'pds-switch:not([disabled])',
120
+ 'pds-select:not([disabled])',
121
+ ].join(',');
122
+ this.focusableElements = Array.from(this.modalRef.querySelectorAll(selector));
123
+ // Filter out elements with display: none or visibility: hidden
124
+ this.focusableElements = this.focusableElements.filter(el => {
125
+ const style = window.getComputedStyle(el);
126
+ return style.display !== 'none' && style.visibility !== 'hidden';
127
+ });
128
+ }
129
+ /**
130
+ * Sets focus to the first focusable element in the modal
131
+ */
132
+ setInitialFocus() {
133
+ if (this.focusableElements.length === 0)
134
+ return;
135
+ // Focus the first focusable element
136
+ const firstElement = this.focusableElements[0];
137
+ // For web components, we need to ensure they're properly focused
138
+ this.focusElement(firstElement);
139
+ }
140
+ /**
141
+ * Helper method to focus an element, with special handling for web components
142
+ */
143
+ focusElement(element) {
144
+ if (!element)
145
+ return;
146
+ try {
147
+ // Try standard focus first
148
+ element.focus();
149
+ // Check if focus worked
150
+ setTimeout(() => {
151
+ if (document.activeElement !== element) {
152
+ // For web components, try to find a focusable element inside
153
+ if (element.shadowRoot) {
154
+ const focusableInShadow = element.shadowRoot.querySelector('button, [tabindex], input, a[href]');
155
+ if (focusableInShadow) {
156
+ focusableInShadow.focus();
157
+ }
158
+ }
159
+ }
160
+ }, 0);
161
+ }
162
+ catch (error) {
163
+ console.error('Error focusing element:', error);
164
+ }
165
+ }
166
+ /**
167
+ * Opens the modal
168
+ */
169
+ async showModal() {
170
+ if (this.modalRef) {
171
+ try {
172
+ // Store the currently focused element to restore focus when modal closes
173
+ this.previousActiveElement = document.activeElement;
174
+ // Use native dialog showModal method which makes the rest of the page inert
175
+ this.modalRef.showModal();
176
+ this.open = true;
177
+ // Update focusable elements and set initial focus
178
+ // Using a longer timeout to ensure all components are fully rendered
179
+ setTimeout(() => {
180
+ this.updateFocusableElements();
181
+ this.setInitialFocus();
182
+ this.pdsModalOpen.emit();
183
+ }, 100);
184
+ }
185
+ catch (error) {
186
+ console.error('Failed to show modal:', error);
187
+ }
188
+ }
189
+ }
190
+ /**
191
+ * Closes the modal
192
+ */
193
+ async hideModal() {
194
+ if (this.modalRef) {
195
+ try {
196
+ this.modalRef.close();
197
+ this.open = false;
198
+ // Restore focus to the element that was focused before the modal was opened
199
+ if (this.previousActiveElement && typeof this.previousActiveElement.focus === 'function') {
200
+ this.previousActiveElement.focus();
201
+ }
202
+ this.pdsModalClose.emit();
203
+ }
204
+ catch (error) {
205
+ console.error('Failed to hide modal:', error);
206
+ }
207
+ }
208
+ }
209
+ /**
210
+ * Gets the z-index of a modal's backdrop element
211
+ */
212
+ getBackdropZIndex(modal) {
213
+ const backdrop = modal.querySelector('.pds-modal__backdrop');
214
+ return backdrop ? parseInt(getComputedStyle(backdrop).zIndex, 10) : -1;
215
+ }
216
+ /**
217
+ * Checks if this modal is the innermost (highest z-index) modal
218
+ */
219
+ isInnermostModal() {
220
+ // Find all open modals
221
+ const openModals = Array.from(document.querySelectorAll('pds-modal')).filter(modal => modal.open);
222
+ if (openModals.length === 0)
223
+ return false;
224
+ // Get this modal's backdrop element
225
+ const thisBackdrop = this.el.querySelector('.pds-modal__backdrop');
226
+ if (!thisBackdrop)
227
+ return false;
228
+ // Get computed z-index of all open modal backdrops
229
+ const modalZIndexes = openModals.map(modal => this.getBackdropZIndex(modal));
230
+ // Get the highest z-index
231
+ const maxZIndex = Math.max(...modalZIndexes);
232
+ // Check if this modal's backdrop has the highest z-index
233
+ const thisZIndex = this.getBackdropZIndex(this.el);
234
+ return thisZIndex === maxZIndex;
235
+ }
236
+ render() {
237
+ return (h("dialog", { key: '6ec691cfcf4865baeeba14f097d5e647a3201dba', class: {
238
+ 'pds-modal__backdrop': true,
239
+ 'open': this.open
240
+ }, "aria-modal": "true", "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, h("div", { key: 'b7c4681717bfc0d095653c7dcf1a0e42cf069e8b', class: `pds-modal pds-modal--${this.size} pds-modal--scrollable` }, h("slot", { key: '9ca7f711579587c2f49fd19f81a488192d62ce72' }))));
241
+ }
242
+ get el() { return this; }
243
+ static get watchers() { return {
244
+ "open": ["handleOpenChange"]
245
+ }; }
246
+ static get style() { return pdsModalCss; }
247
+ }, [4, "pds-modal", {
248
+ "backdropDismiss": [4, "backdrop-dismiss"],
249
+ "componentId": [1, "component-id"],
250
+ "open": [1028],
251
+ "size": [1],
252
+ "focusableElementsArray": [32],
253
+ "showModal": [64],
254
+ "hideModal": [64]
255
+ }, undefined, {
256
+ "open": ["handleOpenChange"]
257
+ }]);
258
+ function defineCustomElement$1() {
259
+ if (typeof customElements === "undefined") {
260
+ return;
261
+ }
262
+ const components = ["pds-modal"];
263
+ components.forEach(tagName => { switch (tagName) {
264
+ case "pds-modal":
265
+ if (!customElements.get(tagName)) {
266
+ customElements.define(tagName, PdsModal$1);
267
+ }
268
+ break;
269
+ } });
270
+ }
271
+
272
+ const PdsModal = PdsModal$1;
273
+ const defineCustomElement = defineCustomElement$1;
274
+
275
+ export { PdsModal, defineCustomElement };
276
+ //# sourceMappingURL=pds-modal.js.map
277
+
278
+ //# sourceMappingURL=pds-modal.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-modal.js","mappings":";;AAAA,MAAM,WAAW,GAAG,smDAAsmD;;MCO7mDA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAA,WAAA,CAAA;AALrB,IAAA,WAAA,GAAA;;;;;AAQU,QAAA,IAAiB,CAAA,iBAAA,GAAkB,EAAE;AAI7C;;;AAGG;AACK,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI;AAO9B;;;AAGG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AAErC;;;AAGG;AACK,QAAA,IAAI,CAAA,IAAA,GAAsC,IAAI;AActD;;AAEG;AACM,QAAA,IAAsB,CAAA,sBAAA,GAAkB,EAAE;AAoJ3C,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,CAAa,KAAI;YAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE;YAEzC,IAAK,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;gBACvE,CAAC,CAAC,eAAe,EAAE;;AAGnB,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBAC3B,IAAI,CAAC,SAAS,EAAE;;;AAGtB,SAAC;AAoCO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,CAAgB,KAAI;;YAE3C,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE;;AAGhB,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;;AAEtB,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBAC3B,CAAC,CAAC,cAAc,EAAE;oBAClB,IAAI,CAAC,SAAS,EAAE;;gBAElB;;;AAIF,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;;AAEnB,gBAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;oBAAE;;gBAGzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACvD,gBAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;;AAGtF,gBAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa;;AAG5C,gBAAA,MAAM,cAAc,GAAG,aAAa,KAAK,qBAAqB;AACxC,oBAAA,qBAAqB,CAAC,QAAQ,CAAC,aAAqB,CAAC;AAE3E,gBAAA,MAAM,aAAa,GAAG,aAAa,KAAK,oBAAoB;AACvC,oBAAA,oBAAoB,CAAC,QAAQ,CAAC,aAAqB,CAAC;;AAGzE,gBAAA,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,EAAE;oBAChC,CAAC,CAAC,cAAc,EAAE;AAClB,oBAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;;;AAGpC,qBAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,EAAE;oBACrC,CAAC,CAAC,cAAc,EAAE;AAClB,oBAAA,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;;;AAG9C,SAAC;AAqBF;IAlQC,gBAAgB,GAAA;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAsB;;QAElF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;;IAG1D,oBAAoB,GAAA;;QAElB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;;AAI7D,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,EAAE;;aACX;YACL,IAAI,CAAC,SAAS,EAAE;;;AAIpB;;AAEG;IACK,uBAAuB,GAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE;;AAGpB,QAAA,MAAM,QAAQ,GAAG;YACf,SAAS;YACT,wBAAwB;YACxB,uBAAuB;YACvB,wBAAwB;YACxB,0BAA0B;YAC1B,iCAAiC;YACjC,4BAA4B;YAC5B,0BAA0B;YAC1B,2BAA2B;YAC3B,8BAA8B;YAC9B,2BAA2B;YAC3B,4BAA4B;YAC5B,4BAA4B;AAC7B,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;AAEX,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxB;;QAGlB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAG;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ;AAClE,SAAC,CAAC;;AAGJ;;AAEG;IACK,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE;;QAGzC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;AAG9C,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;;AAGjC;;AAEG;AACK,IAAA,YAAY,CAAC,OAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO;YAAE;AAEd,QAAA,IAAI;;YAEF,OAAO,CAAC,KAAK,EAAE;;YAGf,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE;;AAEtC,oBAAA,IAAI,OAAO,CAAC,UAAU,EAAE;wBACtB,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CACxD,oCAAoC,CACtB;wBAEhB,IAAI,iBAAiB,EAAE;4BACrB,iBAAiB,CAAC,KAAK,EAAE;;;;aAIhC,EAAE,CAAC,CAAC;;QACL,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;;;AAInD;;AAEG;AAEH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI;;AAEF,gBAAA,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAA4B;;AAGlE,gBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;;;gBAIhB,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,uBAAuB,EAAE;oBAC9B,IAAI,CAAC,eAAe,EAAE;AACtB,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;iBACzB,EAAE,GAAG,CAAC;;YACP,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;;;;AAKnD;;AAEG;AAEH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;AAGjB,gBAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,UAAU,EAAE;AACxF,oBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;;AAGpC,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;YACzB,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;;;;AAkBnD;;AAEG;AACK,IAAA,iBAAiB,CAAC,KAAc,EAAA;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAC5D,OAAO,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE;;AAGxE;;AAEG;IACK,gBAAgB,GAAA;;QAEtB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAC1E,KAAK,IAAI,KAAK,CAAC,IAAI,CACpB;AAED,QAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;;QAGzC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC;AAClE,QAAA,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,KAAK;;AAG/B,QAAA,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;;QAG5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;;QAG5C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,UAAU,KAAK,SAAS;;IAiDjC,MAAM,GAAA;QACJ,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,qBAAqB,EAAE,IAAI;gBAC3B,MAAM,EAAE,IAAI,CAAC;aACd,EAAA,YAAA,EACU,MAAM,EAAA,iBAAA,EACA,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,QAAA,CAAU,EAC9C,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAA,EAEjC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,CAAA,qBAAA,EAAwB,IAAI,CAAC,IAAI,CAAwB,sBAAA,CAAA,EAAA,EAEhE,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsModal","__stencil_proxyCustomElement"],"sources":["src/components/pds-modal/pds-modal.scss?tag=pds-modal","src/components/pds-modal/pds-modal.tsx"],"sourcesContent":[".pds-modal__backdrop {\n align-items: flex-start;\n background-color: rgba(0, 0, 0, 0.4);\n border: 0;\n display: flex;\n height: 100%;\n inset: 0;\n justify-content: center;\n margin: 0;\n max-height: 100%;\n max-width: 100%;\n opacity: 0;\n padding: 0;\n position: fixed;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n visibility: hidden;\n width: 100%;\n z-index: 1000;\n\n @supports (backdrop-filter: blur(3px)) {\n backdrop-filter: blur(3px);\n }\n\n // Increase z-index for nested modals\n pds-modal & {\n z-index: 1001;\n }\n\n &::backdrop {\n background: transparent;\n }\n\n &.open {\n opacity: 1;\n visibility: visible;\n }\n}\n\n.pds-modal {\n background: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-sm);\n box-shadow: var(--pine-box-shadow-400);\n display: flex;\n flex-direction: column;\n margin: var(--pine-dimension-md);\n max-height: calc(100vh - (calc(6vh + 96px)));\n width: 100%;\n\n @media (min-width: 992px) {\n margin-block-start: 6vh;\n }\n\n @media (min-width: 1200px) {\n margin-block-start: 8vh;\n }\n}\n\n.pds-modal--sm {\n max-width: 520px;\n}\n\n.pds-modal--md {\n max-width: 700px;\n}\n\n.pds-modal--lg {\n max-width: 900px;\n}\n\n.pds-modal--fullscreen {\n border-radius: 0;\n height: 100%;\n margin: 0;\n max-height: 100vh;\n max-width: 100%;\n}\n\n.pds-modal-content {\n .pds-modal--fullscreen & {\n flex: 1;\n }\n}\n\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pds-modal',\n styleUrl: 'pds-modal.scss',\n shadow: false\n})\nexport class PdsModal {\n private modalRef: HTMLDialogElement;\n private previousActiveElement: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n\n @Element() el: HTMLPdsModalElement;\n\n /**\n * Whether the modal can be dismissed by clicking the backdrop\n * @default true\n */\n @Prop() backdropDismiss = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Whether the modal is open\n * @default false\n */\n @Prop({ mutable: true }) open = false;\n\n /**\n * The size of the modal\n * @default 'md'\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'fullscreen' = 'md';\n\n // Modal content is always scrollable by default\n\n /**\n * Emitted when the modal is opened\n */\n @Event() pdsModalOpen: EventEmitter<void>;\n\n /**\n * Emitted when the modal is closed\n */\n @Event() pdsModalClose: EventEmitter<void>;\n\n /**\n * Stores the list of focusable elements in the modal\n */\n @State() focusableElementsArray: HTMLElement[] = [];\n\n componentDidLoad() {\n this.modalRef = this.el.querySelector('.pds-modal__backdrop') as HTMLDialogElement;\n // Add keyboard event listener\n document.addEventListener('keydown', this.handleKeyDown);\n }\n\n disconnectedCallback() {\n // Clean up event listener\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.showModal();\n } else {\n this.hideModal();\n }\n }\n\n /**\n * Updates the list of focusable elements in the modal\n */\n private updateFocusableElements() {\n if (!this.modalRef) return;\n\n // Get all focusable elements within the modal\n const selector = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n 'pds-button:not([disabled])',\n 'pds-link:not([disabled])',\n 'pds-input:not([disabled])',\n 'pds-checkbox:not([disabled])',\n 'pds-radio:not([disabled])',\n 'pds-switch:not([disabled])',\n 'pds-select:not([disabled])',\n ].join(',');\n\n this.focusableElements = Array.from(\n this.modalRef.querySelectorAll(selector)\n ) as HTMLElement[];\n\n // Filter out elements with display: none or visibility: hidden\n this.focusableElements = this.focusableElements.filter(el => {\n const style = window.getComputedStyle(el);\n return style.display !== 'none' && style.visibility !== 'hidden';\n });\n }\n\n /**\n * Sets focus to the first focusable element in the modal\n */\n private setInitialFocus() {\n if (this.focusableElements.length === 0) return;\n\n // Focus the first focusable element\n const firstElement = this.focusableElements[0];\n\n // For web components, we need to ensure they're properly focused\n this.focusElement(firstElement);\n }\n\n /**\n * Helper method to focus an element, with special handling for web components\n */\n private focusElement(element: HTMLElement) {\n if (!element) return;\n\n try {\n // Try standard focus first\n element.focus();\n\n // Check if focus worked\n setTimeout(() => {\n if (document.activeElement !== element) {\n // For web components, try to find a focusable element inside\n if (element.shadowRoot) {\n const focusableInShadow = element.shadowRoot.querySelector(\n 'button, [tabindex], input, a[href]'\n ) as HTMLElement;\n\n if (focusableInShadow) {\n focusableInShadow.focus();\n }\n }\n }\n }, 0);\n } catch (error) {\n console.error('Error focusing element:', error);\n }\n }\n\n /**\n * Opens the modal\n */\n @Method()\n async showModal() {\n if (this.modalRef) {\n try {\n // Store the currently focused element to restore focus when modal closes\n this.previousActiveElement = document.activeElement as HTMLElement;\n\n // Use native dialog showModal method which makes the rest of the page inert\n this.modalRef.showModal();\n this.open = true;\n\n // Update focusable elements and set initial focus\n // Using a longer timeout to ensure all components are fully rendered\n setTimeout(() => {\n this.updateFocusableElements();\n this.setInitialFocus();\n this.pdsModalOpen.emit();\n }, 100);\n } catch (error) {\n console.error('Failed to show modal:', error);\n }\n }\n }\n\n /**\n * Closes the modal\n */\n @Method()\n async hideModal() {\n if (this.modalRef) {\n try {\n this.modalRef.close();\n this.open = false;\n\n // Restore focus to the element that was focused before the modal was opened\n if (this.previousActiveElement && typeof this.previousActiveElement.focus === 'function') {\n this.previousActiveElement.focus();\n }\n\n this.pdsModalClose.emit();\n } catch (error) {\n console.error('Failed to hide modal:', error);\n }\n }\n }\n\n private handleBackdropClick = (e: MouseEvent) => {\n if (!this.backdropDismiss || !this.open) return;\n\n if ((e.target as HTMLElement).classList.contains('pds-modal__backdrop')) {\n e.stopPropagation();\n\n // Only close if this is the innermost modal\n if (this.isInnermostModal()) {\n this.hideModal();\n }\n }\n };\n\n /**\n * Gets the z-index of a modal's backdrop element\n */\n private getBackdropZIndex(modal: Element): number {\n const backdrop = modal.querySelector('.pds-modal__backdrop');\n return backdrop ? parseInt(getComputedStyle(backdrop).zIndex, 10) : -1;\n }\n\n /**\n * Checks if this modal is the innermost (highest z-index) modal\n */\n private isInnermostModal(): boolean {\n // Find all open modals\n const openModals = Array.from(document.querySelectorAll('pds-modal')).filter(\n modal => modal.open\n );\n\n if (openModals.length === 0) return false;\n\n // Get this modal's backdrop element\n const thisBackdrop = this.el.querySelector('.pds-modal__backdrop');\n if (!thisBackdrop) return false;\n\n // Get computed z-index of all open modal backdrops\n const modalZIndexes = openModals.map(modal => this.getBackdropZIndex(modal));\n\n // Get the highest z-index\n const maxZIndex = Math.max(...modalZIndexes);\n\n // Check if this modal's backdrop has the highest z-index\n const thisZIndex = this.getBackdropZIndex(this.el);\n return thisZIndex === maxZIndex;\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n // If the modal is not open, don't handle any keyboard events\n if (!this.open) return;\n\n // Handle Escape key to close the modal\n if (e.key === 'Escape') {\n // Only close if this is the innermost modal\n if (this.isInnermostModal()) {\n e.preventDefault();\n this.hideModal();\n }\n return;\n }\n\n // Handle Tab key for focus trapping\n if (e.key === 'Tab') {\n // If there are no focusable elements, do nothing\n if (this.focusableElements.length === 0) return;\n\n // Get the first and last focusable elements\n const firstFocusableElement = this.focusableElements[0];\n const lastFocusableElement = this.focusableElements[this.focusableElements.length - 1];\n\n // Get the current active element\n const activeElement = document.activeElement;\n\n // Check if we need to wrap focus\n const isFirstElement = activeElement === firstFocusableElement ||\n firstFocusableElement.contains(activeElement as Node);\n\n const isLastElement = activeElement === lastFocusableElement ||\n lastFocusableElement.contains(activeElement as Node);\n\n // If shift + tab is pressed and focus is on the first element, move to the last element\n if (e.shiftKey && isFirstElement) {\n e.preventDefault();\n this.focusElement(lastFocusableElement);\n }\n // If tab is pressed and focus is on the last element, move to the first element\n else if (!e.shiftKey && isLastElement) {\n e.preventDefault();\n this.focusElement(firstFocusableElement);\n }\n }\n };\n\n render() {\n return (\n <dialog\n class={{\n 'pds-modal__backdrop': true,\n 'open': this.open\n }}\n aria-modal=\"true\"\n aria-labelledby={`${this.componentId}-heading`}\n onClick={this.handleBackdropClick}\n >\n <div\n class={`pds-modal pds-modal--${this.size} pds-modal--scrollable`}\n >\n <slot></slot>\n </div>\n </dialog>\n );\n }\n}\n"],"version":3}
@@ -56,27 +56,59 @@ const PdsPopover$1 = /*@__PURE__*/ proxyCustomElement(class PdsPopover extends H
56
56
  const offset = 8;
57
57
  switch (this.placement) {
58
58
  case 'top':
59
+ top = triggerRect.top - popoverRect.height - offset;
60
+ left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;
61
+ break;
62
+ case 'top-start':
59
63
  top = triggerRect.top - popoverRect.height - offset;
60
64
  left = triggerRect.left;
61
65
  break;
66
+ case 'top-end':
67
+ top = triggerRect.top - popoverRect.height - offset;
68
+ left = triggerRect.right - popoverRect.width;
69
+ break;
62
70
  case 'right':
71
+ top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;
72
+ left = triggerRect.right + offset;
73
+ break;
74
+ case 'right-start':
63
75
  top = triggerRect.top;
64
76
  left = triggerRect.right + offset;
65
77
  break;
78
+ case 'right-end':
79
+ top = triggerRect.bottom - popoverRect.height;
80
+ left = triggerRect.right + offset;
81
+ break;
66
82
  case 'bottom':
83
+ top = triggerRect.bottom + offset;
84
+ left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;
85
+ break;
86
+ case 'bottom-start':
67
87
  top = triggerRect.bottom + offset;
68
88
  left = triggerRect.left;
69
89
  break;
90
+ case 'bottom-end':
91
+ top = triggerRect.bottom + offset;
92
+ left = triggerRect.right - popoverRect.width;
93
+ break;
70
94
  case 'left':
95
+ top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;
96
+ left = triggerRect.left - popoverRect.width - offset;
97
+ break;
98
+ case 'left-start':
71
99
  top = triggerRect.top;
72
100
  left = triggerRect.left - popoverRect.width - offset;
73
101
  break;
102
+ case 'left-end':
103
+ top = triggerRect.bottom - popoverRect.height;
104
+ left = triggerRect.left - popoverRect.width - offset;
105
+ break;
74
106
  }
75
107
  popoverEl.style.top = `${top}px`;
76
108
  popoverEl.style.left = `${left}px`;
77
109
  }
78
110
  render() {
79
- return (h(Host, { key: '3bed0c38e97500efb2bffcef8321a6b38215c434' }, h("button", { key: '0db59e1815568cb980ce0bbe5ef3502177015a1d', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), h("div", { key: 'd8c70cd36614cb3fc83669a843b00af0d18b03d4', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, h("slot", { key: 'e7408b199525e88c0e975f9cc3e96200f82ea23e' }))));
111
+ return (h(Host, { key: '35e5f4c21884f02b17dcb920e5c7ba73b8bed849' }, h("button", { key: '586880a84a4ad659a00500206e5b3c6c5e7e1a37', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), h("div", { key: 'fcb97e9b4033eef58bdca4915572b986dabde43c', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, h("slot", { key: '1ffb626c69e06f17379ebf4ff4d5498f030909e8' }))));
80
112
  }
81
113
  get el() { return this; }
82
114
  static get style() { return pdsPopoverCss; }
@@ -1 +1 @@
1
- {"file":"pds-popover.js","mappings":";;AAAA,MAAM,aAAa,GAAG,6/BAA6/B;;MCQtgCA,YAAU,iBAAAC,kBAAA,CAAA,MAAA,UAAA,SAAA,WAAA,CAAA;AALvB,IAAA,WAAA,GAAA;;;;AAWE;;;AAGG;AACM,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK;AAEvB;;;AAGG;AACK,QAAA,IAAmB,CAAA,mBAAA,GAA+B,MAAM;AAEhE;;;AAGG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,MAAM;AAY/C;;;AAGG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,GAAG;AAE/B;;;AAGG;AACsB,QAAA,IAAS,CAAA,SAAA,GAAkB,OAAO;AAiF5D;IA/EC,mBAAmB,GAAA;QACjB,IAAI,CAAC,wBAAwB,EAAE;;IAMjC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;;IAO5B,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,wBAAwB,EAAE;;;IAI3B,wBAAwB,GAAA;AAC9B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,uBAAuB,CAAgB;AAC1F,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAgB;AAEjF,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE;AAE9B,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE;AACrD,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE;QAErD,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;QACZ,MAAM,MAAM,GAAG,CAAC;AAEhB,QAAA,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAA,KAAK,KAAK;gBACR,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AACnD,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,OAAO;AACV,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG;AACrB,gBAAA,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;gBACjC;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AACjC,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,MAAM;AACT,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG;gBACrB,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;gBACpD;;QAGJ,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAG,EAAA,GAAG,IAAI;QAChC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,IAAI;;IAGpC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAC5B,aAAa,EAAE,IAAI,CAAC,WAAW,EAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,OAAO,EAAE,IAAI,CAAC,WAAW,EAExB,EAAA,IAAI,CAAC,IAAI,CACH,EACT,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,GAAG,qBAAqB,GAAG,EAAE,CAAA,CAAE,EAChE,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAI,EAAA,CAAA,EAAE,EAAA,EAEzC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsPopover","__stencil_proxyCustomElement"],"sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Host, Listen, h, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentWillRender() {\n this.handlePopoverPositioning();\n }\n\n @Listen('click', {\n capture: true\n })\n handleClick() {\n this.active = !this.active;\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n if (this.active) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger') as HTMLElement;\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]') as HTMLElement;\n\n if (!triggerEl || !popoverEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popoverRect = popoverEl.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'right':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'left':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverEl.style.top = `${top}px`;\n popoverEl.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n onClick={this.handleClick}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-popover.js","mappings":"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","names":["PdsPopover","__stencil_proxyCustomElement"],"sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Host, Listen, h, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentWillRender() {\n this.handlePopoverPositioning();\n }\n\n @Listen('click', {\n capture: true\n })\n handleClick() {\n this.active = !this.active;\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n if (this.active) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger') as HTMLElement;\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]') as HTMLElement;\n\n if (!triggerEl || !popoverEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popoverRect = popoverEl.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverEl.style.top = `${top}px`;\n popoverEl.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n onClick={this.handleClick}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -24,7 +24,7 @@ const PdsProgress$1 = /*@__PURE__*/ proxyCustomElement(class PdsProgress extends
24
24
  this.showPercent = false;
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: 'a0a7cde165c1acc884366dfe7a368db5d7c4150e', class: this.animated ? { 'is-animated': this.animated } : '' }, h("div", { key: 'c2a8f262e0a6393448a0bc8a05dc49f30c451754', class: "pds-progress" }, h("label", { key: '422c51d5b06ef6d99e23cb2721b861ba9611b1df', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: '57081cc95c8bb44d6fa26cd7d1f7933108982165', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '37b88967a8584b43407314b0ba70faf4e43a9e5a', class: "pds-progress__percentage" }, this.percent, "%")));
27
+ return (h(Host, { key: '2a7768cc769f62579bfee6d8f9e6109d10df0aaf', class: this.animated ? { 'is-animated': this.animated } : '' }, h("div", { key: '1eef3758e8c6e470f8cdd170e8d6c49e25bf9aa3', class: "pds-progress" }, h("label", { key: '5b75150a747a15379fdf0ee23b1be561e6d990e7', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: 'e20ad7d705d97ac11173ae515332fc1620a96328', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '8bafb39b5976149b80e720952e625f60f1e3c73c', class: "pds-progress__percentage" }, this.percent, "%")));
28
28
  }
29
29
  static get style() { return pdsProgressCss; }
30
30
  }, [1, "pds-progress", {
@@ -52,9 +52,9 @@ const PdsRadio$1 = /*@__PURE__*/ proxyCustomElement(class PdsRadio extends HTMLE
52
52
  return classNames.join(' ');
53
53
  }
54
54
  render() {
55
- return (h(Host, { key: '7366c979970c03d9c6b26d355ba2f14c2e040907', class: this.classNames() }, h("label", { key: 'c48405dc725f4d7b0a027e66c3b0b04e72843445', htmlFor: this.componentId }, h("input", { key: 'cd38a200a73572d2f07ada9bc1ec08cae0863044', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), h("span", { key: 'a21fb68b4326afb2bf25b08cf6022cd26f3c83ba', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
56
- h("div", { key: 'b4c201465e085096ac5fac05e43b01cee045310e', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
57
- h("div", { key: '2c0475efbe1ebedd762de9d432864f5dab8f0448', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '40ece3a429d9475c17f262d772cdb7332a7089b2', icon: danger, size: "small" }), this.errorMessage)));
55
+ return (h(Host, { key: '8c215fa4193cf8bd246cd83edf97b8316685714e', class: this.classNames() }, h("label", { key: '578530f26dd25f73ccbbb39c773290cd275920cf', htmlFor: this.componentId }, h("input", { key: '9ab61a2683246fae862feb5e432a0872288b7a87', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), h("span", { key: 'f48c47ddb347bf0d7388359665dbbf3abf1b4859', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
56
+ h("div", { key: 'b8dbb34af90eed82f69621ceaadd8da668f0b3de', class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
57
+ h("div", { key: 'e777e4f2397ba833aefb7e8cd4ab9a32ea93685a', class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '13bd73d91bb3d676757ac9f4dcfcef7d2a5fcc55', icon: danger, size: "small" }), this.errorMessage)));
58
58
  }
59
59
  static get style() { return labelCss + pdsRadioCss; }
60
60
  }, [2, "pds-radio", {
@@ -38,7 +38,7 @@ const PdsRow$1 = /*@__PURE__*/ proxyCustomElement(class PdsRow extends HTMLEleme
38
38
  })), (this.minHeight && {
39
39
  'min-height': this.minHeight,
40
40
  }));
41
- return h(Host, { key: 'e898a1a24bbb1177b024d2c87d9388b136c8bde9', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
41
+ return h(Host, { key: '7641ed5798525661b1a100bfbce60ed271e76887', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
42
42
  }
43
43
  static get style() { return pdsRowCss; }
44
44
  }, [0, "pds-row", {
@@ -7,7 +7,7 @@ const pdsSelectTokensCss = ":host{--pine-select-color-background-danger:var(--pi
7
7
 
8
8
  const labelCss = ":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
9
9
 
10
- const pdsSelectCss = ":host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}label{grid-area:label;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:2.5rem;pointer-events:none;position:relative;z-index:1}";
10
+ const pdsSelectCss = ":host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:\"label label\" \"field field\" \"message message\";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}label{grid-area:label;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-radius:var(--pds-select-border-radius);border-bottom-left-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-bottom-right-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-top-left-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));border-top-right-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:1}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
11
11
 
12
12
  const PdsSelect$1 = /*@__PURE__*/ proxyCustomElement(class PdsSelect extends HTMLElement {
13
13
  constructor() {
@@ -125,8 +125,7 @@ const PdsSelect$1 = /*@__PURE__*/ proxyCustomElement(class PdsSelect extends HTM
125
125
  return classNames.join(' ');
126
126
  }
127
127
  render() {
128
- return (h(Host, { key: '6eea9a5492e4b7e415922bce0aa8f2295792a9e4', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '3180e1eff494f846f395d9db6730926d86d1e54a', class: "pds-select" }, this.label &&
129
- h("label", { key: '90dc521ef10b81a9f58a0f0a2cfa4bc685312119', htmlFor: this.componentId }, this.label), h("select", { key: 'd6576d25601de6c41893568927b64e530bf9f266', autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '87c53bb7bf315e170f60e5b58afcbf623d1aa65c', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '8cafbc8cc8e23de0ab69b9d6b7d23c896df530b6', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '48758d321edbd38ff6bd31ddd1902627202e196e', class: "pds-select__select-icon", icon: enlarge }))));
128
+ return (h(Host, { key: 'c0a0b391e6b5c35d5d3d7fce9d1f92583c582aa5', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '4f91cfcfcc570cf79d8e6a2f86d741f471489591', class: "pds-select" }, !this.hideLabel && (h("label", { key: '21fa83cfdad6a46be1efa22ebc4df696ca49b7b1', htmlFor: this.componentId }, h("span", { key: '760e46f98327c3b8e9ceb48ee158202ce42b8bb6', class: this.hideLabel ? 'visually-hidden' : '' }, this.label))), h("select", { key: '78d92779624d84df9ae73515bbda74d9d44a8919', "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '9a75bf791747df08018d59de49855410c6dc2312', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '1a974b4e171971e922aa04e9a56d6e6f26635724', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '9cbc569418617092229d660b34b2c17a2826c878', class: "pds-select__select-icon", icon: enlarge }))));
130
129
  }
131
130
  static get watchers() { return {
132
131
  "value": ["valueChanged"]
@@ -137,6 +136,7 @@ const PdsSelect$1 = /*@__PURE__*/ proxyCustomElement(class PdsSelect extends HTM
137
136
  "componentId": [1, "component-id"],
138
137
  "disabled": [4],
139
138
  "errorMessage": [1, "error-message"],
139
+ "hideLabel": [4, "hide-label"],
140
140
  "helperMessage": [1, "helper-message"],
141
141
  "invalid": [4],
142
142
  "label": [1],
@@ -1 +1 @@
1
- {"file":"pds-select.js","mappings":"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","names":["PdsSelect","__stencil_proxyCustomElement"],"sources":["src/components/pds-select/pds-select.tokens.scss?tag=pds-select&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-select/pds-select.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n .hidden,\n :host([hidden]) {\n display: none;\n }\n}\n\n.pds-select {\n display: grid;\n flex-direction: column;\n grid-template-areas:\n 'label label'\n 'field field'\n 'message message';\n grid-template-columns: 1fr minmax(2rem, min-content);\n grid-template-rows: min-content min-content min-content;\n position: relative;\n width: 100%;\n}\n\nlabel {\n grid-area: label;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\nselect {\n appearance: none;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n font: var(--pine-typography-body);\n grid-area: field;\n letter-spacing: var(--pine-letter-spacing);\n padding: var(--pine-dimension-xs) var(--pine-dimension-150);\n padding-inline-end: var(--pine-dimension-450);\n position: relative;\n\n &:hover {\n border-color: var(--pine-color-border-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:has(~ .pds-select__message .pds-select__error-message) {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n:host(.is-invalid) {\n select {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-select__error-message,\n.pds-select__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: 0;\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-select__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-select__message {\n grid-area: message;\n}\n\n.pds-select__select-icon {\n align-items: center;\n display: flex;\n grid-column: -1 / -2;\n grid-row: 2 / 3;\n height: 2.5rem;\n pointer-events: none;\n position: relative;\n z-index: 1;\n}\n","import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n {this.label &&\n <label htmlFor={this.componentId}>{this.label}</label>\n }\n <select\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-select.js","mappings":"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","names":["PdsSelect","__stencil_proxyCustomElement"],"sources":["src/components/pds-select/pds-select.tokens.scss?tag=pds-select&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-select/pds-select.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --pds-select-background: var(--pine-color-background-container);\n --pds-select-border: var(--pine-border);\n --pds-select-border-radius: var(--pine-dimension-125);\n --pds-select-border-radius-start-end: var(--pine-dimension-125);\n --pds-select-border-radius-start-start: var(--pine-dimension-125);\n --pds-select-border-radius-end-end: var(--pine-dimension-125);\n --pds-select-border-radius-end-start: var(--pine-dimension-125);\n --pds-select-min-height: 36px;\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n .hidden,\n :host([hidden]) {\n display: none;\n }\n}\n\n.pds-select {\n display: grid;\n flex-direction: column;\n grid-template-areas:\n 'label label'\n 'field field'\n 'message message';\n grid-template-columns: 1fr minmax(2rem, min-content);\n grid-template-rows: min-content min-content min-content;\n position: relative;\n width: 100%;\n}\n\nlabel {\n grid-area: label;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\nselect {\n appearance: none;\n background-color: var(--pds-select-background);\n border: var(--pds-select-border);\n border-radius: var(--pds-select-border-radius);\n border-bottom-left-radius: var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));\n border-bottom-right-radius: var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));\n border-top-left-radius: var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));\n border-top-right-radius: var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));\n font: var(--pine-typography-body);\n grid-area: field;\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-select-min-height);\n padding: var(--pine-dimension-xs) var(--pine-dimension-150);\n padding-inline-end: var(--pine-dimension-450);\n position: relative;\n\n &:hover {\n border-color: var(--pine-color-border-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:has(~ .pds-select__message .pds-select__error-message) {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n:host(.is-invalid) {\n select {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-select__error-message,\n.pds-select__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: 0;\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-select__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-select__message {\n grid-area: message;\n}\n\n.pds-select__select-icon {\n align-items: center;\n display: flex;\n grid-column: -1 / -2;\n grid-row: 2 / 3;\n height: var(--pds-select-min-height);\n pointer-events: none;\n position: relative;\n z-index: 1;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n","import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -28,7 +28,7 @@ const PdsSortableItem$1 = /*@__PURE__*/ proxyCustomElement(class PdsSortableItem
28
28
  }
29
29
  }
30
30
  render() {
31
- return (h(Host, { key: '1a5e7d46d027bf6aa95b9d688e390ab42a40cc8d', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'a6653d963a7a8f39937507dd94042943b4627686', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'a5c340eaf2f3f4d3fb4a0cc66371444d8844b078', icon: handle }))), h("slot", { key: '647f24778a2450c040596c6bea279236b0148e0f' }), this.enableActions && (h("div", { key: '7b8c76b0519c21fe0bd29cb5ef3f213296f30ef4', class: "pds-sortable-item__actions" }, h("slot", { key: '636480cd939b04ed739a2e6a7dbc489680a18a57', name: "sortable-item-actions" })))));
31
+ return (h(Host, { key: 'b7817592ed6329f84e09ff5c5e200bc4305275bc', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'c31df5f0c81bd684ac60690044e2409d0cbc7831', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'ff764a5ef70560c073474a7a51f45dd89df53190', icon: handle }))), h("slot", { key: 'e1f33a5e56b37405b7e46bff24dc91e4ece71870' }), this.enableActions && (h("div", { key: '569563f7c7d5b069888a8c3ee8e50fd3d626b1b2', class: "pds-sortable-item__actions" }, h("slot", { key: '9ca544725723703ddac0de3f0bb9a4b0884d1571', name: "sortable-item-actions" })))));
32
32
  }
33
33
  get el() { return this; }
34
34
  static get style() { return pdsSortableItemCss; }
@@ -2712,7 +2712,7 @@ const PdsSortable$1 = /*@__PURE__*/ proxyCustomElement(class PdsSortable extends
2712
2712
  Sortable.create(this.el, sortableOptions);
2713
2713
  }
2714
2714
  render() {
2715
- return (h(Host, { key: 'd120089730b34d5e787a34439f5d308e0c476c7a', class: this.classNames(), id: this.componentId }, h("slot", { key: 'b796c6aca1acde55085163049ecb869952cf8fb6' })));
2715
+ return (h(Host, { key: 'c5353036ad9b108f742e55b1a28ebb449cf556d0', class: this.classNames(), id: this.componentId }, h("slot", { key: 'cb71736fb3388f5829476c5b4802d5aa5f811ac7' })));
2716
2716
  }
2717
2717
  get el() { return this; }
2718
2718
  static get style() { return pdsSortableCss; }