@pine-ds/core 3.4.3 → 3.5.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 (565) hide show
  1. package/components/floating-ui.dom.js +180 -4
  2. package/components/floating-ui.dom.js.map +1 -1
  3. package/components/index2.js +1 -1
  4. package/components/index2.js.map +1 -1
  5. package/components/mock-pds-modal.js +1 -1
  6. package/components/pds-box2.js +4 -2
  7. package/components/pds-box2.js.map +1 -1
  8. package/components/pds-button2.js +1 -1
  9. package/components/pds-button2.js.map +1 -1
  10. package/components/pds-input.js +3 -2
  11. package/components/pds-input.js.map +1 -1
  12. package/components/pds-link2.js +2 -2
  13. package/components/pds-loader2.js +1 -1
  14. package/components/pds-loader2.js.map +1 -1
  15. package/components/pds-modal-content.js +2 -2
  16. package/components/pds-modal-footer.js +1 -1
  17. package/components/pds-modal-header.js +1 -1
  18. package/components/pds-modal.js +2 -2
  19. package/components/pds-popover.js +1 -1
  20. package/components/pds-progress.js +1 -1
  21. package/components/pds-property.js +1 -1
  22. package/components/pds-radio.js +3 -3
  23. package/components/pds-row.js +1 -1
  24. package/components/pds-select.js +1 -1
  25. package/components/pds-select.js.map +1 -1
  26. package/components/pds-sortable-item.js +1 -1
  27. package/components/pds-sortable.js +1 -1
  28. package/components/pds-switch.js +3 -3
  29. package/components/pds-tab.js +4 -4
  30. package/components/pds-tab.js.map +1 -1
  31. package/components/pds-table-body.js +1 -1
  32. package/components/pds-table-cell2.js +66 -8
  33. package/components/pds-table-cell2.js.map +1 -1
  34. package/components/pds-table-head-cell2.js +67 -9
  35. package/components/pds-table-head-cell2.js.map +1 -1
  36. package/components/pds-table-head.js +1 -1
  37. package/components/pds-table-row.js +1 -1
  38. package/components/pds-table.js +106 -4
  39. package/components/pds-table.js.map +1 -1
  40. package/components/pds-tabpanel.js +1 -1
  41. package/components/pds-tabs.js +1 -1
  42. package/components/pds-text2.js +1 -1
  43. package/components/pds-textarea.js +7 -6
  44. package/components/pds-textarea.js.map +1 -1
  45. package/components/pds-tooltip.js +93 -159
  46. package/components/pds-tooltip.js.map +1 -1
  47. package/dist/cjs/{floating-ui.dom-Bz4BD-cr.js → floating-ui.dom-DTAy35nv.js} +182 -5
  48. package/dist/{esm-es5/floating-ui.dom-D_FwyeSw.js.map → cjs/floating-ui.dom-DTAy35nv.js.map} +1 -1
  49. package/dist/cjs/{index-BfqrB2cC.js → index-DVaLegMK.js} +3 -3
  50. package/dist/cjs/index-DVaLegMK.js.map +1 -0
  51. package/dist/cjs/loader.cjs.js +1 -1
  52. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  53. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  54. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  55. package/dist/cjs/pds-box.cjs.entry.js +3 -2
  56. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  57. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  58. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  59. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  61. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  62. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
  64. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  65. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  66. package/dist/cjs/pds-input.cjs.entry.js +3 -3
  67. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  69. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  70. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  71. package/dist/cjs/pds-loader.cjs.entry.js.map +1 -1
  72. package/dist/cjs/pds-loader.entry.cjs.js.map +1 -1
  73. package/dist/cjs/pds-modal-content.cjs.entry.js +2 -2
  74. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  75. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-modal.cjs.entry.js +2 -2
  77. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  81. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  82. package/dist/cjs/pds-select.cjs.entry.js +2 -2
  83. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  84. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  85. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  86. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  87. package/dist/cjs/pds-switch.cjs.entry.js +4 -4
  88. package/dist/cjs/pds-tab.cjs.entry.js +4 -4
  89. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  90. package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
  91. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  92. package/dist/cjs/pds-table-cell.cjs.entry.js +65 -8
  93. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  94. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  95. package/dist/cjs/pds-table-head-cell.cjs.entry.js +67 -10
  96. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  97. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
  98. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  99. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  100. package/dist/cjs/pds-table.cjs.entry.js +106 -4
  101. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  102. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  103. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  104. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  105. package/dist/cjs/pds-text.cjs.entry.js +1 -1
  106. package/dist/cjs/pds-textarea.cjs.entry.js +7 -7
  107. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  108. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  109. package/dist/cjs/pds-tooltip.cjs.entry.js +93 -158
  110. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  111. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  112. package/dist/cjs/pine-core.cjs.js +1 -1
  113. package/dist/collection/components/pds-box/pds-box.css +4 -0
  114. package/dist/collection/components/pds-box/pds-box.js +24 -1
  115. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  116. package/dist/collection/components/pds-button/pds-button.js +2 -1
  117. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  118. package/dist/collection/components/pds-input/pds-input.css +13 -0
  119. package/dist/collection/components/pds-input/pds-input.js +20 -1
  120. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  121. package/dist/collection/components/pds-input/stories/pds-input.stories.js +10 -1
  122. package/dist/collection/components/pds-link/pds-link.js +2 -2
  123. package/dist/collection/components/pds-loader/pds-loader.js +2 -1
  124. package/dist/collection/components/pds-loader/pds-loader.js.map +1 -1
  125. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  126. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  127. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  128. package/dist/collection/components/pds-modal/pds-modal.js +2 -2
  129. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  130. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  131. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  132. package/dist/collection/components/pds-property/pds-property.js +1 -1
  133. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  134. package/dist/collection/components/pds-row/pds-row.js +1 -1
  135. package/dist/collection/components/pds-select/pds-select.js +2 -2
  136. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  137. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  138. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  139. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  140. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  141. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +16 -0
  142. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +83 -7
  143. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  144. package/dist/collection/components/pds-table/pds-table-cell/stories/pds-table-cell.stories.js +23 -4
  145. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  146. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +18 -1
  147. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +84 -8
  148. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  149. package/dist/collection/components/pds-table/pds-table-head-cell/stories/pds-table-head-cell.stories.js +13 -4
  150. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  151. package/dist/collection/components/pds-table/pds-table.css +80 -11
  152. package/dist/collection/components/pds-table/pds-table.js +105 -3
  153. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  154. package/dist/collection/components/pds-table/stories/pds-table.stories.js +45 -0
  155. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +6 -6
  156. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  157. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  158. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  159. package/dist/collection/components/pds-text/pds-text.js +1 -1
  160. package/dist/collection/components/pds-textarea/pds-textarea.css +13 -0
  161. package/dist/collection/components/pds-textarea/pds-textarea.js +25 -6
  162. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  163. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +4 -0
  164. package/dist/collection/components/pds-tooltip/pds-tooltip.css +0 -1
  165. package/dist/collection/components/pds-tooltip/pds-tooltip.js +102 -78
  166. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  167. package/dist/docs.json +176 -7
  168. package/dist/esm/{floating-ui.dom-D_FwyeSw.js → floating-ui.dom-DbQzNDdQ.js} +182 -6
  169. package/dist/esm/{floating-ui.dom-D_FwyeSw.js.map → floating-ui.dom-DbQzNDdQ.js.map} +1 -1
  170. package/dist/esm/{index-CzVv99mW.js → index-DrJ5r5Pu.js} +3 -3
  171. package/dist/esm/index-DrJ5r5Pu.js.map +1 -0
  172. package/dist/esm/loader.js +1 -1
  173. package/dist/esm/mock-pds-modal.entry.js +1 -1
  174. package/dist/esm/pds-accordion.entry.js +1 -1
  175. package/dist/esm/pds-avatar.entry.js +1 -1
  176. package/dist/esm/pds-box.entry.js +3 -2
  177. package/dist/esm/pds-box.entry.js.map +1 -1
  178. package/dist/esm/pds-button.entry.js +2 -2
  179. package/dist/esm/pds-button.entry.js.map +1 -1
  180. package/dist/esm/pds-checkbox.entry.js +1 -1
  181. package/dist/esm/pds-chip.entry.js +1 -1
  182. package/dist/esm/pds-combobox.entry.js +1 -1
  183. package/dist/esm/pds-copytext.entry.js +1 -1
  184. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  185. package/dist/esm/pds-input.entry.js +3 -3
  186. package/dist/esm/pds-input.entry.js.map +1 -1
  187. package/dist/esm/pds-link.entry.js +3 -3
  188. package/dist/esm/pds-loader.entry.js +1 -1
  189. package/dist/esm/pds-loader.entry.js.map +1 -1
  190. package/dist/esm/pds-modal-content.entry.js +2 -2
  191. package/dist/esm/pds-modal-footer.entry.js +1 -1
  192. package/dist/esm/pds-modal-header.entry.js +1 -1
  193. package/dist/esm/pds-modal.entry.js +2 -2
  194. package/dist/esm/pds-popover.entry.js +1 -1
  195. package/dist/esm/pds-progress.entry.js +1 -1
  196. package/dist/esm/pds-property.entry.js +1 -1
  197. package/dist/esm/pds-radio.entry.js +4 -4
  198. package/dist/esm/pds-row.entry.js +1 -1
  199. package/dist/esm/pds-select.entry.js +2 -2
  200. package/dist/esm/pds-select.entry.js.map +1 -1
  201. package/dist/esm/pds-sortable-item.entry.js +2 -2
  202. package/dist/esm/pds-sortable.entry.js +1 -1
  203. package/dist/esm/pds-switch.entry.js +4 -4
  204. package/dist/esm/pds-tab.entry.js +4 -4
  205. package/dist/esm/pds-tab.entry.js.map +1 -1
  206. package/dist/esm/pds-table-body.entry.js +1 -1
  207. package/dist/esm/pds-table-cell.entry.js +65 -8
  208. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  209. package/dist/esm/pds-table-head-cell.entry.js +67 -10
  210. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  211. package/dist/esm/pds-table-head.entry.js +1 -1
  212. package/dist/esm/pds-table-row.entry.js +1 -1
  213. package/dist/esm/pds-table.entry.js +106 -4
  214. package/dist/esm/pds-table.entry.js.map +1 -1
  215. package/dist/esm/pds-tabpanel.entry.js +1 -1
  216. package/dist/esm/pds-tabs.entry.js +1 -1
  217. package/dist/esm/pds-text.entry.js +1 -1
  218. package/dist/esm/pds-textarea.entry.js +7 -7
  219. package/dist/esm/pds-textarea.entry.js.map +1 -1
  220. package/dist/esm/pds-tooltip.entry.js +93 -158
  221. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  222. package/dist/esm/pine-core.js +1 -1
  223. package/dist/esm-es5/floating-ui.dom-DbQzNDdQ.js +2 -0
  224. package/dist/{cjs/floating-ui.dom-Bz4BD-cr.js.map → esm-es5/floating-ui.dom-DbQzNDdQ.js.map} +1 -1
  225. package/dist/esm-es5/{index-CzVv99mW.js → index-DrJ5r5Pu.js} +1 -1
  226. package/dist/esm-es5/index-DrJ5r5Pu.js.map +1 -0
  227. package/dist/esm-es5/loader.js +1 -1
  228. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  229. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  230. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  231. package/dist/esm-es5/pds-box.entry.js +1 -1
  232. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  233. package/dist/esm-es5/pds-button.entry.js +1 -1
  234. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  235. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  236. package/dist/esm-es5/pds-chip.entry.js +1 -1
  237. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  238. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  239. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  240. package/dist/esm-es5/pds-input.entry.js +1 -1
  241. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  242. package/dist/esm-es5/pds-link.entry.js +1 -1
  243. package/dist/esm-es5/pds-loader.entry.js +1 -1
  244. package/dist/esm-es5/pds-loader.entry.js.map +1 -1
  245. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  246. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  247. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  248. package/dist/esm-es5/pds-modal.entry.js +1 -1
  249. package/dist/esm-es5/pds-popover.entry.js +1 -1
  250. package/dist/esm-es5/pds-progress.entry.js +1 -1
  251. package/dist/esm-es5/pds-property.entry.js +1 -1
  252. package/dist/esm-es5/pds-radio.entry.js +1 -1
  253. package/dist/esm-es5/pds-row.entry.js +1 -1
  254. package/dist/esm-es5/pds-select.entry.js +1 -1
  255. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  256. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  257. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  258. package/dist/esm-es5/pds-switch.entry.js +1 -1
  259. package/dist/esm-es5/pds-tab.entry.js +1 -1
  260. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  261. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  262. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  263. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  264. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  265. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  266. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  267. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  268. package/dist/esm-es5/pds-table.entry.js +1 -1
  269. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  270. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  271. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  272. package/dist/esm-es5/pds-text.entry.js +1 -1
  273. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  274. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  275. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  276. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  277. package/dist/esm-es5/pine-core.js +1 -1
  278. package/dist/pine-core/{p-209b1d69.entry.js → p-00616fc9.entry.js} +2 -2
  279. package/dist/pine-core/p-00616fc9.entry.js.map +1 -0
  280. package/dist/pine-core/p-02326ac3.entry.js +2 -0
  281. package/dist/pine-core/p-02326ac3.entry.js.map +1 -0
  282. package/dist/pine-core/{p-19d08886.system.entry.js → p-023d8b71.system.entry.js} +2 -2
  283. package/dist/pine-core/p-0485aa93.system.entry.js +2 -0
  284. package/dist/pine-core/{p-XHvXi3U6.system.js.map → p-0KTU2Jt-.system.js.map} +1 -1
  285. package/dist/pine-core/{p-380d1056.entry.js → p-0d9e28a2.entry.js} +2 -2
  286. package/dist/pine-core/p-0d9e28a2.entry.js.map +1 -0
  287. package/dist/pine-core/{p-8096b988.system.entry.js → p-14a52961.system.entry.js} +2 -2
  288. package/dist/pine-core/p-174506b9.entry.js +2 -0
  289. package/dist/pine-core/p-174506b9.entry.js.map +1 -0
  290. package/dist/pine-core/{p-4066a9c0.system.entry.js → p-2186e5d4.system.entry.js} +2 -2
  291. package/dist/pine-core/p-232a2043.entry.js +2 -0
  292. package/dist/pine-core/{p-c7075f11.entry.js → p-25190921.entry.js} +2 -2
  293. package/dist/pine-core/{p-81a28f54.system.entry.js → p-28f7c0d8.system.entry.js} +2 -2
  294. package/dist/pine-core/{p-487552a9.system.entry.js → p-297afc49.system.entry.js} +2 -2
  295. package/dist/pine-core/{p-03d17841.system.entry.js → p-2e19f167.system.entry.js} +2 -2
  296. package/dist/pine-core/p-2e491c3d.entry.js +2 -0
  297. package/dist/pine-core/p-2e491c3d.entry.js.map +1 -0
  298. package/dist/pine-core/{p-a2d16624.entry.js → p-349a8869.entry.js} +2 -2
  299. package/dist/pine-core/p-3abc0f49.system.entry.js +2 -0
  300. package/dist/pine-core/p-3abc0f49.system.entry.js.map +1 -0
  301. package/dist/pine-core/p-3ccb6b0c.system.entry.js +2 -0
  302. package/dist/pine-core/p-3ccb6b0c.system.entry.js.map +1 -0
  303. package/dist/pine-core/{p-0a4fc9c7.entry.js → p-47670150.entry.js} +3 -3
  304. package/dist/pine-core/p-487859a1.system.entry.js +2 -0
  305. package/dist/pine-core/{p-65275835.system.entry.js → p-48b658fc.system.entry.js} +2 -2
  306. package/dist/pine-core/p-48b658fc.system.entry.js.map +1 -0
  307. package/dist/pine-core/{p-042ee55c.entry.js → p-4bbf3e31.entry.js} +2 -2
  308. package/dist/pine-core/p-4bbf3e31.entry.js.map +1 -0
  309. package/dist/pine-core/{p-c1a1475e.entry.js → p-4deb7b8c.entry.js} +2 -2
  310. package/dist/pine-core/{p-7c867f1b.entry.js → p-503cab1f.entry.js} +2 -2
  311. package/dist/pine-core/{p-4e5b9d19.entry.js → p-52d37cc1.entry.js} +2 -2
  312. package/dist/pine-core/{p-f9bd0bc2.system.entry.js → p-54183d70.system.entry.js} +2 -2
  313. package/dist/pine-core/p-5708f95a.entry.js +2 -0
  314. package/dist/pine-core/{p-f647c1af.system.entry.js → p-5aed29fe.system.entry.js} +2 -2
  315. package/dist/pine-core/p-5c0803c3.entry.js +2 -0
  316. package/dist/pine-core/{p-d08ecd18.system.entry.js → p-5da82e8c.system.entry.js} +2 -2
  317. package/dist/pine-core/{p-ed94947b.entry.js → p-5e8badb9.entry.js} +2 -2
  318. package/dist/pine-core/{p-126197e5.entry.js → p-651861ff.entry.js} +2 -2
  319. package/dist/pine-core/{p-8896d43a.entry.js → p-68b5665a.entry.js} +2 -2
  320. package/dist/pine-core/p-68b5665a.entry.js.map +1 -0
  321. package/dist/pine-core/{p-276a6a8b.system.entry.js → p-6db1e029.system.entry.js} +2 -2
  322. package/dist/pine-core/p-6db1e029.system.entry.js.map +1 -0
  323. package/dist/pine-core/{p-8cb99f2f.entry.js → p-6f4a6d0b.entry.js} +2 -2
  324. package/dist/pine-core/{p-c1115d78.system.entry.js → p-71169b66.system.entry.js} +2 -2
  325. package/dist/pine-core/p-71169b66.system.entry.js.map +1 -0
  326. package/dist/pine-core/{p-3e6229cc.entry.js → p-72053224.entry.js} +2 -2
  327. package/dist/pine-core/{p-14b424ab.system.entry.js → p-72b05928.system.entry.js} +2 -2
  328. package/dist/pine-core/p-77336705.entry.js +2 -0
  329. package/dist/pine-core/p-77336705.entry.js.map +1 -0
  330. package/dist/pine-core/{p-0dbb2ae9.entry.js → p-79e2782b.entry.js} +2 -2
  331. package/dist/pine-core/p-7d2c43df.system.entry.js +2 -0
  332. package/dist/pine-core/p-7d2c43df.system.entry.js.map +1 -0
  333. package/dist/pine-core/{p-aafb6e06.system.entry.js → p-8722865f.system.entry.js} +2 -2
  334. package/dist/pine-core/p-8722865f.system.entry.js.map +1 -0
  335. package/dist/pine-core/p-884b9ae6.system.entry.js +2 -0
  336. package/dist/pine-core/p-884b9ae6.system.entry.js.map +1 -0
  337. package/dist/pine-core/{p-89d9f273.system.entry.js → p-8ab7f0d7.system.entry.js} +3 -3
  338. package/dist/pine-core/{p-b956922a.entry.js → p-8d7abc83.entry.js} +2 -2
  339. package/dist/pine-core/{p-2aad0209.system.entry.js → p-92c52409.system.entry.js} +2 -2
  340. package/dist/pine-core/p-96a89cd5.system.entry.js +2 -0
  341. package/dist/pine-core/p-96a89cd5.system.entry.js.map +1 -0
  342. package/dist/pine-core/{p-c1f5148f.entry.js → p-98fe56d9.entry.js} +2 -2
  343. package/dist/pine-core/{p-B4ww2WM0.system.js.map → p-B1FQkx7R.system.js.map} +1 -1
  344. package/dist/pine-core/{p-CbDQeXQ4.system.js.map → p-B1fiSdbt.system.js.map} +1 -1
  345. package/dist/pine-core/{p-DQnK6lQ2.system.js.map → p-B6Znd6C5.system.js.map} +1 -1
  346. package/dist/pine-core/{p-DiBM9O5Q.system.js → p-BEn3hirk.system.js} +1 -1
  347. package/dist/pine-core/p-BEn3hirk.system.js.map +1 -0
  348. package/dist/pine-core/p-BKFboaI5.system.js.map +1 -0
  349. package/dist/pine-core/p-BOHu_LEs.system.js.map +1 -0
  350. package/dist/pine-core/p-BOmQOnQe.system.js +2 -0
  351. package/dist/pine-core/{p-ZCkmy1Gu.system.js.map → p-BOmQOnQe.system.js.map} +1 -1
  352. package/dist/pine-core/{p-REBgf8JA.system.js.map → p-BVKCNX0X.system.js.map} +1 -1
  353. package/dist/pine-core/{p-DKuFjXiD.system.js.map → p-CCQUgOoR.system.js.map} +1 -1
  354. package/dist/pine-core/{p-BCZ4LK15.system.js.map → p-CD_nPb2F.system.js.map} +1 -1
  355. package/dist/pine-core/p-CJT--ZXC.system.js.map +1 -0
  356. package/dist/pine-core/{p-DRqkTTfb.system.js.map → p-CLoi4eKt.system.js.map} +1 -1
  357. package/dist/pine-core/{p-B0PUl1_1.system.js.map → p-CQ8f8GnD.system.js.map} +1 -1
  358. package/dist/pine-core/{p-C3lnYhcV.system.js.map → p-CWdEolqa.system.js.map} +1 -1
  359. package/dist/pine-core/{p-CNOeJ6ra.system.js.map → p-CYiuzbNk.system.js.map} +1 -1
  360. package/dist/pine-core/{p-BY7O1nGC.system.js.map → p-CcXaBX2A.system.js.map} +1 -1
  361. package/dist/pine-core/p-CgyVIfOY.system.js.map +1 -0
  362. package/dist/pine-core/{p-pm8ElBzm.system.js.map → p-Cmzqpibo.system.js.map} +1 -1
  363. package/dist/pine-core/{p-CoHBlcHu.system.js.map → p-CqK-uhv8.system.js.map} +1 -1
  364. package/dist/pine-core/{p-KkT5zjJU.system.js.map → p-D05FrqXr.system.js.map} +1 -1
  365. package/dist/pine-core/{p-BdBU6s5P.system.js.map → p-D9_z2w3q.system.js.map} +1 -1
  366. package/dist/pine-core/{p-B_c-HOvq.system.js.map → p-DAwJ242E.system.js.map} +1 -1
  367. package/dist/pine-core/p-DBw5MRwj.system.js.map +1 -0
  368. package/dist/pine-core/p-DJekRkSL.system.js.map +1 -0
  369. package/dist/pine-core/{p-lMetQ5Q0.system.js.map → p-DNYl_6t_.system.js.map} +1 -1
  370. package/dist/pine-core/{p-DMNp4slx.system.js.map → p-DZggSEPe.system.js.map} +1 -1
  371. package/dist/pine-core/p-DbQzNDdQ.js +2 -0
  372. package/dist/pine-core/{p-D_FwyeSw.js.map → p-DbQzNDdQ.js.map} +1 -1
  373. package/dist/pine-core/p-De9tROL-.system.js +1 -1
  374. package/dist/pine-core/{p-PgQPKVDh.system.js.map → p-Df_3qA_L.system.js.map} +1 -1
  375. package/dist/pine-core/{p-DCdSlcTO.system.js.map → p-Dh7jcLgJ.system.js.map} +1 -1
  376. package/dist/pine-core/{p-CzVv99mW.js → p-DrJ5r5Pu.js} +1 -1
  377. package/dist/pine-core/p-DrJ5r5Pu.js.map +1 -0
  378. package/dist/pine-core/p-Dt10r3RZ.system.js.map +1 -0
  379. package/dist/pine-core/p-Dx9XkHH8.system.js.map +1 -0
  380. package/dist/pine-core/p-IG5YumI3.system.js.map +1 -0
  381. package/dist/pine-core/{p-C5Wo1bN2.system.js.map → p-IIl2cTlj.system.js.map} +1 -1
  382. package/dist/pine-core/{p-EytFbMH4.system.js.map → p-Kj_j7PHx.system.js.map} +1 -1
  383. package/dist/pine-core/p-MBv7PsKc.system.js.map +1 -0
  384. package/dist/pine-core/{p-CG_aggl0.system.js.map → p-UsEwlBJ0.system.js.map} +1 -1
  385. package/dist/pine-core/{p-DQ-QGnGf.system.js.map → p-_E9ZEzfO.system.js.map} +1 -1
  386. package/dist/pine-core/{p-3f83d4c4.system.entry.js → p-a04556e4.system.entry.js} +2 -2
  387. package/dist/pine-core/{p-0199e3e9.system.entry.js → p-a1b51557.system.entry.js} +2 -2
  388. package/dist/pine-core/{p-51e463bf.entry.js → p-a24c46e4.entry.js} +2 -2
  389. package/dist/pine-core/{p-1858ad6d.system.entry.js → p-a472af99.system.entry.js} +2 -2
  390. package/dist/pine-core/{p-9860d0a8.system.entry.js → p-aa645f28.system.entry.js} +2 -2
  391. package/dist/pine-core/{p-df15e16a.entry.js → p-ab82338f.entry.js} +2 -2
  392. package/dist/pine-core/{p-c16d01cc.entry.js → p-b6ea3332.entry.js} +2 -2
  393. package/dist/pine-core/{p-c721e8cf.entry.js → p-ba187a35.entry.js} +2 -2
  394. package/dist/pine-core/p-bb8ef74a.system.entry.js +2 -0
  395. package/dist/pine-core/{p-b2b405ca.system.entry.js → p-c13ef6a7.system.entry.js} +2 -2
  396. package/dist/pine-core/p-c2ffb466.system.entry.js +2 -0
  397. package/dist/pine-core/{p-4a658a86.system.entry.js → p-c4d6fe50.system.entry.js} +2 -2
  398. package/dist/pine-core/p-c4d6fe50.system.entry.js.map +1 -0
  399. package/dist/pine-core/{p-978e722a.entry.js → p-c6badcf8.entry.js} +2 -2
  400. package/dist/pine-core/{p-064e3d73.entry.js → p-c8122bea.entry.js} +2 -2
  401. package/dist/pine-core/p-cd785026.system.entry.js +2 -0
  402. package/dist/pine-core/{p-c3f32f26.system.entry.js → p-d714f68f.system.entry.js} +2 -2
  403. package/dist/pine-core/p-db1956e5.entry.js +2 -0
  404. package/dist/pine-core/p-db1956e5.entry.js.map +1 -0
  405. package/dist/pine-core/{p-6bd5811c.system.entry.js → p-deb8a499.system.entry.js} +2 -2
  406. package/dist/pine-core/p-deb8a499.system.entry.js.map +1 -0
  407. package/dist/pine-core/{p-6d601fc2.system.entry.js → p-dfc5ab34.system.entry.js} +2 -2
  408. package/dist/pine-core/{p-f35a5afa.entry.js → p-e2887e78.entry.js} +2 -2
  409. package/dist/pine-core/p-e5ca5b8e.entry.js +2 -0
  410. package/dist/pine-core/p-e5ca5b8e.entry.js.map +1 -0
  411. package/dist/pine-core/{p-55bf6be2.system.entry.js → p-e65a7d1c.system.entry.js} +2 -2
  412. package/dist/pine-core/{p-ffe867ef.system.entry.js → p-e89cb1f2.system.entry.js} +2 -2
  413. package/dist/pine-core/p-efa788ea.entry.js +2 -0
  414. package/dist/pine-core/{p-280a0ec1.system.entry.js → p-f55b9f90.system.entry.js} +2 -2
  415. package/dist/pine-core/{p-1a5e79af.entry.js → p-f583e5d4.entry.js} +2 -2
  416. package/dist/pine-core/p-f583e5d4.entry.js.map +1 -0
  417. package/dist/pine-core/{p-6fd385ec.entry.js → p-f880adaa.entry.js} +2 -2
  418. package/dist/pine-core/{p-63ef55dd.entry.js → p-fb4058e6.entry.js} +2 -2
  419. package/dist/pine-core/p-fc457c65.entry.js +2 -0
  420. package/dist/pine-core/{p-qjvXmIGJ.system.js.map → p-m6UZWRsP.system.js.map} +1 -1
  421. package/dist/pine-core/{p-DvZWnvRb.system.js.map → p-pQqXEKPh.system.js.map} +1 -1
  422. package/dist/pine-core/p-rBOkvo-C.system.js.map +1 -0
  423. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  424. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  425. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  426. package/dist/pine-core/pds-loader.entry.esm.js.map +1 -1
  427. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  428. package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
  429. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  430. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
  431. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  432. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  433. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  434. package/dist/pine-core/pine-core.css +1 -1
  435. package/dist/pine-core/pine-core.esm.js +1 -1
  436. package/dist/types/components/pds-box/pds-box.d.ts +5 -0
  437. package/dist/types/components/pds-button/pds-button.d.ts +1 -0
  438. package/dist/types/components/pds-input/pds-input.d.ts +5 -0
  439. package/dist/types/components/pds-loader/pds-loader.d.ts +1 -0
  440. package/dist/types/components/pds-select/pds-select.d.ts +2 -1
  441. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +15 -0
  442. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +15 -0
  443. package/dist/types/components/pds-table/pds-table.d.ts +24 -0
  444. package/dist/types/components/pds-textarea/pds-textarea.d.ts +6 -1
  445. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +9 -12
  446. package/dist/types/components.d.ts +48 -28
  447. package/hydrate/index.js +561 -228
  448. package/hydrate/index.mjs +561 -228
  449. package/package.json +2 -2
  450. package/dist/cjs/index-BfqrB2cC.js.map +0 -1
  451. package/dist/esm/index-CzVv99mW.js.map +0 -1
  452. package/dist/esm-es5/floating-ui.dom-D_FwyeSw.js +0 -2
  453. package/dist/esm-es5/index-CzVv99mW.js.map +0 -1
  454. package/dist/pine-core/p-042ee55c.entry.js.map +0 -1
  455. package/dist/pine-core/p-13ac0852.entry.js +0 -2
  456. package/dist/pine-core/p-13ac0852.entry.js.map +0 -1
  457. package/dist/pine-core/p-1a5e79af.entry.js.map +0 -1
  458. package/dist/pine-core/p-209b1d69.entry.js.map +0 -1
  459. package/dist/pine-core/p-276a6a8b.system.entry.js.map +0 -1
  460. package/dist/pine-core/p-2fb60757.system.entry.js +0 -2
  461. package/dist/pine-core/p-33016dd0.entry.js +0 -2
  462. package/dist/pine-core/p-380d1056.entry.js.map +0 -1
  463. package/dist/pine-core/p-3EWr6ZgL.system.js.map +0 -1
  464. package/dist/pine-core/p-41bf807f.system.entry.js +0 -2
  465. package/dist/pine-core/p-41bf807f.system.entry.js.map +0 -1
  466. package/dist/pine-core/p-4a658a86.system.entry.js.map +0 -1
  467. package/dist/pine-core/p-6438a29d.system.entry.js +0 -2
  468. package/dist/pine-core/p-65275835.system.entry.js.map +0 -1
  469. package/dist/pine-core/p-6bd5811c.system.entry.js.map +0 -1
  470. package/dist/pine-core/p-7eb4ac7c.system.entry.js +0 -2
  471. package/dist/pine-core/p-7eb4ac7c.system.entry.js.map +0 -1
  472. package/dist/pine-core/p-8896d43a.entry.js.map +0 -1
  473. package/dist/pine-core/p-91c6bd68.entry.js +0 -2
  474. package/dist/pine-core/p-91c6bd68.entry.js.map +0 -1
  475. package/dist/pine-core/p-94982c57.entry.js +0 -2
  476. package/dist/pine-core/p-94982c57.entry.js.map +0 -1
  477. package/dist/pine-core/p-B6IFMveo.system.js.map +0 -1
  478. package/dist/pine-core/p-BEky6idI.system.js.map +0 -1
  479. package/dist/pine-core/p-BmoX08WO.system.js.map +0 -1
  480. package/dist/pine-core/p-Bw9e5h_G.system.js.map +0 -1
  481. package/dist/pine-core/p-C36pvE-A.system.js.map +0 -1
  482. package/dist/pine-core/p-CMLxdmO2.system.js.map +0 -1
  483. package/dist/pine-core/p-CXLBzkzl.system.js.map +0 -1
  484. package/dist/pine-core/p-CmJBNVRO.system.js.map +0 -1
  485. package/dist/pine-core/p-CzVv99mW.js.map +0 -1
  486. package/dist/pine-core/p-D_FwyeSw.js +0 -2
  487. package/dist/pine-core/p-DdEbUZw3.system.js.map +0 -1
  488. package/dist/pine-core/p-DiBM9O5Q.system.js.map +0 -1
  489. package/dist/pine-core/p-Rj3B0bRw.system.js.map +0 -1
  490. package/dist/pine-core/p-ZCkmy1Gu.system.js +0 -2
  491. package/dist/pine-core/p-a7204f01.entry.js +0 -2
  492. package/dist/pine-core/p-a7cb24c3.system.entry.js +0 -2
  493. package/dist/pine-core/p-a7cb24c3.system.entry.js.map +0 -1
  494. package/dist/pine-core/p-aafb6e06.system.entry.js.map +0 -1
  495. package/dist/pine-core/p-adf2449e.system.entry.js +0 -2
  496. package/dist/pine-core/p-adf2449e.system.entry.js.map +0 -1
  497. package/dist/pine-core/p-b649d711.entry.js +0 -2
  498. package/dist/pine-core/p-b649d711.entry.js.map +0 -1
  499. package/dist/pine-core/p-b9fe17b8.system.entry.js +0 -2
  500. package/dist/pine-core/p-b9fe17b8.system.entry.js.map +0 -1
  501. package/dist/pine-core/p-c1115d78.system.entry.js.map +0 -1
  502. package/dist/pine-core/p-c652847a.entry.js +0 -2
  503. package/dist/pine-core/p-c82c277f.entry.js +0 -2
  504. package/dist/pine-core/p-c82c277f.entry.js.map +0 -1
  505. package/dist/pine-core/p-c82d0a99.entry.js +0 -2
  506. package/dist/pine-core/p-ce0d9f05.system.entry.js +0 -2
  507. package/dist/pine-core/p-cf5506db.system.entry.js +0 -2
  508. package/dist/pine-core/p-d6d87fbc.system.entry.js +0 -2
  509. package/dist/pine-core/p-e05135c5.entry.js +0 -2
  510. package/dist/pine-core/p-e30601a6.entry.js +0 -2
  511. package/dist/pine-core/p-e30601a6.entry.js.map +0 -1
  512. /package/dist/pine-core/{p-19d08886.system.entry.js.map → p-023d8b71.system.entry.js.map} +0 -0
  513. /package/dist/pine-core/{p-6438a29d.system.entry.js.map → p-0485aa93.system.entry.js.map} +0 -0
  514. /package/dist/pine-core/{p-8096b988.system.entry.js.map → p-14a52961.system.entry.js.map} +0 -0
  515. /package/dist/pine-core/{p-4066a9c0.system.entry.js.map → p-2186e5d4.system.entry.js.map} +0 -0
  516. /package/dist/pine-core/{p-e05135c5.entry.js.map → p-232a2043.entry.js.map} +0 -0
  517. /package/dist/pine-core/{p-c7075f11.entry.js.map → p-25190921.entry.js.map} +0 -0
  518. /package/dist/pine-core/{p-81a28f54.system.entry.js.map → p-28f7c0d8.system.entry.js.map} +0 -0
  519. /package/dist/pine-core/{p-487552a9.system.entry.js.map → p-297afc49.system.entry.js.map} +0 -0
  520. /package/dist/pine-core/{p-03d17841.system.entry.js.map → p-2e19f167.system.entry.js.map} +0 -0
  521. /package/dist/pine-core/{p-a2d16624.entry.js.map → p-349a8869.entry.js.map} +0 -0
  522. /package/dist/pine-core/{p-0a4fc9c7.entry.js.map → p-47670150.entry.js.map} +0 -0
  523. /package/dist/pine-core/{p-2fb60757.system.entry.js.map → p-487859a1.system.entry.js.map} +0 -0
  524. /package/dist/pine-core/{p-c1a1475e.entry.js.map → p-4deb7b8c.entry.js.map} +0 -0
  525. /package/dist/pine-core/{p-7c867f1b.entry.js.map → p-503cab1f.entry.js.map} +0 -0
  526. /package/dist/pine-core/{p-4e5b9d19.entry.js.map → p-52d37cc1.entry.js.map} +0 -0
  527. /package/dist/pine-core/{p-f9bd0bc2.system.entry.js.map → p-54183d70.system.entry.js.map} +0 -0
  528. /package/dist/pine-core/{p-33016dd0.entry.js.map → p-5708f95a.entry.js.map} +0 -0
  529. /package/dist/pine-core/{p-f647c1af.system.entry.js.map → p-5aed29fe.system.entry.js.map} +0 -0
  530. /package/dist/pine-core/{p-a7204f01.entry.js.map → p-5c0803c3.entry.js.map} +0 -0
  531. /package/dist/pine-core/{p-d08ecd18.system.entry.js.map → p-5da82e8c.system.entry.js.map} +0 -0
  532. /package/dist/pine-core/{p-ed94947b.entry.js.map → p-5e8badb9.entry.js.map} +0 -0
  533. /package/dist/pine-core/{p-126197e5.entry.js.map → p-651861ff.entry.js.map} +0 -0
  534. /package/dist/pine-core/{p-8cb99f2f.entry.js.map → p-6f4a6d0b.entry.js.map} +0 -0
  535. /package/dist/pine-core/{p-3e6229cc.entry.js.map → p-72053224.entry.js.map} +0 -0
  536. /package/dist/pine-core/{p-14b424ab.system.entry.js.map → p-72b05928.system.entry.js.map} +0 -0
  537. /package/dist/pine-core/{p-0dbb2ae9.entry.js.map → p-79e2782b.entry.js.map} +0 -0
  538. /package/dist/pine-core/{p-89d9f273.system.entry.js.map → p-8ab7f0d7.system.entry.js.map} +0 -0
  539. /package/dist/pine-core/{p-b956922a.entry.js.map → p-8d7abc83.entry.js.map} +0 -0
  540. /package/dist/pine-core/{p-2aad0209.system.entry.js.map → p-92c52409.system.entry.js.map} +0 -0
  541. /package/dist/pine-core/{p-c1f5148f.entry.js.map → p-98fe56d9.entry.js.map} +0 -0
  542. /package/dist/pine-core/{p-3f83d4c4.system.entry.js.map → p-a04556e4.system.entry.js.map} +0 -0
  543. /package/dist/pine-core/{p-0199e3e9.system.entry.js.map → p-a1b51557.system.entry.js.map} +0 -0
  544. /package/dist/pine-core/{p-51e463bf.entry.js.map → p-a24c46e4.entry.js.map} +0 -0
  545. /package/dist/pine-core/{p-1858ad6d.system.entry.js.map → p-a472af99.system.entry.js.map} +0 -0
  546. /package/dist/pine-core/{p-9860d0a8.system.entry.js.map → p-aa645f28.system.entry.js.map} +0 -0
  547. /package/dist/pine-core/{p-df15e16a.entry.js.map → p-ab82338f.entry.js.map} +0 -0
  548. /package/dist/pine-core/{p-c16d01cc.entry.js.map → p-b6ea3332.entry.js.map} +0 -0
  549. /package/dist/pine-core/{p-c721e8cf.entry.js.map → p-ba187a35.entry.js.map} +0 -0
  550. /package/dist/pine-core/{p-cf5506db.system.entry.js.map → p-bb8ef74a.system.entry.js.map} +0 -0
  551. /package/dist/pine-core/{p-b2b405ca.system.entry.js.map → p-c13ef6a7.system.entry.js.map} +0 -0
  552. /package/dist/pine-core/{p-ce0d9f05.system.entry.js.map → p-c2ffb466.system.entry.js.map} +0 -0
  553. /package/dist/pine-core/{p-978e722a.entry.js.map → p-c6badcf8.entry.js.map} +0 -0
  554. /package/dist/pine-core/{p-064e3d73.entry.js.map → p-c8122bea.entry.js.map} +0 -0
  555. /package/dist/pine-core/{p-d6d87fbc.system.entry.js.map → p-cd785026.system.entry.js.map} +0 -0
  556. /package/dist/pine-core/{p-c3f32f26.system.entry.js.map → p-d714f68f.system.entry.js.map} +0 -0
  557. /package/dist/pine-core/{p-6d601fc2.system.entry.js.map → p-dfc5ab34.system.entry.js.map} +0 -0
  558. /package/dist/pine-core/{p-f35a5afa.entry.js.map → p-e2887e78.entry.js.map} +0 -0
  559. /package/dist/pine-core/{p-55bf6be2.system.entry.js.map → p-e65a7d1c.system.entry.js.map} +0 -0
  560. /package/dist/pine-core/{p-ffe867ef.system.entry.js.map → p-e89cb1f2.system.entry.js.map} +0 -0
  561. /package/dist/pine-core/{p-c82d0a99.entry.js.map → p-efa788ea.entry.js.map} +0 -0
  562. /package/dist/pine-core/{p-280a0ec1.system.entry.js.map → p-f55b9f90.system.entry.js.map} +0 -0
  563. /package/dist/pine-core/{p-6fd385ec.entry.js.map → p-f880adaa.entry.js.map} +0 -0
  564. /package/dist/pine-core/{p-63ef55dd.entry.js.map → p-fb4058e6.entry.js.map} +0 -0
  565. /package/dist/pine-core/{p-c652847a.entry.js.map → p-fc457c65.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-Dt10r3RZ.system.js","sources":["src/global/styles/utils/label.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-input/pds-input.tokens.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":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","@use '~@kajabi-ui/styles/dist/pine/components/pds-input/pds-input.tokens'\n",":host {\n display: inline;\n}\n\n:host([aria-readonly=\"true\"]) {\n textarea {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-readonly);\n }\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\n.pds-textarea__label-wrapper {\n align-items: center;\n display: flex;\n justify-content: space-between;\n}\n\n.pds-textarea__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\nlabel {\n display: block;\n margin-block-end: var(--pine-dimension-xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-textarea__label-wrapper label {\n margin-block-end: 0;\n}\n\n.pds-textarea__field {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n font: var(--pine-typography-body);\n letter-spacing: var(--pine-letter-spacing);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:hover:not(:disabled, .is-invalid) {\n border: var(--pine-border-hover);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &::placeholder {\n color: var(--pine-color-text-placeholder);\n }\n\n &.is-invalid {\n background-color: var(--pine-input-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-textarea__error-message,\n.pds-textarea__helper-message {\n color: var(--pine-color-text-message);\n font: var(--pine-typography-body-sm-medium);\n margin-block-start: var(--pine-dimension-xs);\n}\n\n.pds-textarea__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.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","import { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail, TextareaInputEventDetail } from './textarea-interface';\nimport { debounceEvent } from '@utils/utils';\nimport type { Attributes } from '@utils/attributes';\nimport { inheritAttributes, inheritAriaAttributes } from '@utils/attributes';\nimport { danger } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-textarea',\n styleUrls: [\n '../../global/styles/utils/label.scss',\n '../pds-input/pds-input.tokens.scss',\n 'pds-textarea.scss'\n ],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsTextarea {\n\n private nativeTextarea?: HTMLTextAreaElement\n private focusedValue?: string | null;\n private inheritedAttributes: Attributes = {};\n private originalPdsInput?: EventEmitter<TextareaInputEventDetail>;\n private internals?: ElementInternals;\n\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n @Event() pdsInput: EventEmitter<TextareaInputEventDetail>;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n /**\n * Sets focus on the native `textarea` in the `pds-textarea`. Use this method instead of the global\n * `textarea.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeTextarea) {\n this.nativeTextarea.focus();\n }\n }\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 * Determines whether or not the textarea is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the event after each keystroke.\n */\n @Prop() debounce?: number;\n\n /**\n * Displays an error message below the textarea field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the textarea field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the textarea is invalid or throws an error.\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label.\n */\n @Prop() label?: string;\n\n /**\n * Visually hides the label text for instances where only the textarea should be displayed. Label remains accessible to assistive technology such as screen readers.\n * Note: When true, the action slot is also hidden to maintain a minimal UI.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Specifies the name. Submitted with the form name/value pair. This value will mirror the componentId.\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the textarea is readonly.\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Determines whether or not the textarea is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea.\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea.\n */\n @Prop({mutable: true}) value?: string | null = '';\n\n @State() hasFocus = false;\n\n /**\n * If true, the textarea has action content in the label area\n */\n @State() hasAction = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n const nativeTextarea = this.nativeTextarea;\n const value = this.getValue();\n\n if (nativeTextarea && nativeTextarea.value !== value) {\n nativeTextarea.value = value;\n }\n\n // Update form value for Form Associated Custom Elements API\n this.updateFormValue();\n }\n\n /**\n * Emits an `pdsInput` event.\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n this.pdsInput.emit({ value, event });\n }\n\n /**\n * Emits an `pdsTextareaChange` event.\n */\n private emitValueChange(event?: Event) {\n const textarea = event.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n const { value } = textarea;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n this.focusedValue = newValue;\n this.pdsTextareaChange.emit({ value: newValue, event });\n }\n\n private getValue(): string {\n return this.value || '';\n }\n\n private onBlur = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLTextAreaElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onTextareaChange = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n connectedCallback() {\n this.debounceChanged();\n // Initialize ElementInternals for form association\n if (this.el.attachInternals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el),\n };\n this.hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n }\n\n componentDidLoad() {\n this.originalPdsInput = this.pdsInput;\n // Set initial form value\n this.updateFormValue();\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-textarea__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n /**\n * Updates the form value using ElementInternals API\n */\n private updateFormValue() {\n if (this.internals && this.internals.setFormValue) {\n const value = this.getValue();\n this.internals.setFormValue(value || null);\n\n // Set validity based on native textarea validation\n if (this.nativeTextarea && this.internals && this.internals.setValidity) {\n this.internals.setValidity(\n this.nativeTextarea.validity,\n this.nativeTextarea.validationMessage,\n this.nativeTextarea\n );\n }\n }\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is reset\n */\n formResetCallback() {\n this.value = '';\n this.updateFormValue();\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is disabled\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Form Associated Custom Elements API: Called to restore form state\n */\n formStateRestoreCallback(state: string | FormData | null) {\n if (typeof state === 'string') {\n this.value = state;\n } else if (state instanceof FormData && this.name) {\n // Extract value from FormData using the textarea's name\n const value = state.get(this.name);\n if (typeof value === 'string') {\n this.value = value;\n }\n }\n }\n\n render() {\n const value = this.getValue();\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n has-action={this.hasAction && !this.hideLabel ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <div class=\"pds-textarea__label-wrapper\">\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {!this.hideLabel && this.renderAction()}\n </div>\n }\n <textarea\n ref={(el) => this.nativeTextarea = el }\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onBlur={this.onBlur}\n onChange={this.onTextareaChange}\n onFocus={this.onFocus}\n onInput={this.onInput}\n {...this.inheritedAttributes}\n >\n {value}\n </textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-Dx9XkHH8.system.js","sources":["src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"sourcesContent":[":host {\n --border-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-100);\n\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--pine-color-text);\n display: table-cell;\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size);\n font-weight: var(--pine-font-weight-regular);\n line-height: var(--pine-line-height-body);\n padding: var(--pine-dimension-150);\n position: relative;\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--pine-dimension-2xs)\n}\n\n:host(.is-fixed) {\n background: var(--pine-color-background-container);\n left: var(--pine-dimension-none);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--pine-dimension-2xs);\n padding-block-start: 2px;\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--pine-color-text-active);\n}\n\n// Text Alignment\n:host(.pds-table-head-cell--align-start) {\n text-align: start;\n}\n\n:host(.pds-table-head-cell--align-center) {\n text-align: center;\n}\n\n:host(.pds-table-head-cell--align-end) {\n text-align: end;\n}\n\n:host(.pds-table-head-cell--align-justify) {\n text-align: justify;\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrls: ['pds-table-head-cell.scss'],\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n private tableRef: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private setupTimer: number | undefined;\n private setupRetries: number = 0;\n\n /**\n * Sets the text alignment within the head cell.\n */\n @Prop() cellAlign?: 'start' | 'center' | 'end' | 'justify';\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n /**\n * The direction of sorting.\n */\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Determines if the table is currently scrolling.\n * @defaultValue false\n */\n @State() private tableScrolling: boolean = false;\n\n /**\n * Determines if the table row is currently selected.\n * @defaultValue false\n */\n @State() isSelected: boolean = false;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n // For responsive tables with fixed columns, set up scroll detection\n // This enables the first column header to show a shadow when the table is scrolled horizontally\n this.setupScrollListener();\n }\n }\n\n disconnectedCallback() {\n this.cleanupScrollListener();\n }\n\n private setupScrollListener() {\n if (!this.tableRef) return;\n\n // Query shadowRoot once and cache the container\n const container = this.tableRef.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n\n if (container) {\n // Container available immediately\n this.scrollContainer = container;\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll(); // Initial check\n this.setupRetries = 0; // Reset counter on success\n } else {\n // Container not ready, set up timer for retry with bounds\n this.setupTimer = window.setTimeout(() => {\n if (this.scrollContainer) return; // Already found\n this.setupRetries = (this.setupRetries || 0) + 1;\n if (this.setupRetries <= 50) {\n this.setupScrollListener();\n } else {\n console.warn('Failed to find responsive container after 50 attempts');\n }\n }, 100);\n }\n }\n\n private cleanupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n this.scrollContainer = null;\n }\n\n if (this.setupTimer !== undefined) {\n window.clearTimeout(this.setupTimer);\n this.setupTimer = undefined;\n }\n\n this.setupRetries = 0; // Reset retry counter\n }\n\n /**\n * Handles scroll events to update fixed column shadow state.\n * Updates the tableScrolling state to control CSS classes for fixed column shadows.\n * @private\n */\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n try {\n this.tableScrolling = this.scrollContainer.scrollLeft > 0;\n } catch (error) {\n console.warn('Scroll handler error:', error);\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.cellAlign) {\n classNames.push(`pds-table-head-cell--align-${this.cellAlign}`);\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} />\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-IG5YumI3.system.js","sources":["src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":[".pds-tooltip {\n --tooltip-border-width-arrow-down: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-left: var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow) 0;\n --tooltip-border-width-arrow-right: var(--tooltip-sizing-arrow) 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-border-width-arrow-up: 0 var(--tooltip-sizing-arrow) var(--tooltip-sizing-arrow);\n --tooltip-sizing-arrow: 6px;\n --tooltip-sizing-arrow-offset: 14px;\n --tooltip-dimension-max-width: 320px;\n}\n\n.pds-tooltip__content {\n background-color: var(--pine-color-primary);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n box-shadow: var(--pine-box-shadow);\n color: var(--pine-color-text-primary);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n max-width: var(--tooltip-dimension-max-width);\n opacity: 0;\n padding: var(--pine-dimension-xs) calc(var(--pine-dimension-md) / 2);\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n .pds-tooltip.pds-tooltip--has-html-content & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--tooltip-border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-left);\n left: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-down);\n bottom: calc(var(--tooltip-sizing-arrow) * -1);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n bottom: var(--tooltip-sizing-arrow-offset);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-right);\n left: initial;\n right: calc(var(--tooltip-sizing-arrow) * -1);\n top: var(--tooltip-sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: 50%;\n top: calc(var(--tooltip-sizing-arrow) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: initial;\n right: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--pine-color-primary);\n border-width: var(--tooltip-border-width-arrow-up);\n left: var(--tooltip-sizing-arrow-offset);\n top: calc(var(--tooltip-sizing-arrow) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h, Method, Watch } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrls: ['pds-tooltip.scss'],\n shadow: false,\n})\n\nexport class PdsTooltip {\n private static instanceCounter = 0;\n\n /**\n * Internal state: true if the tooltip was opened by user interaction (hover/focus),\n * false if opened via the `opened` prop or currently closed.\n */\n @State() private _isInteractiveOpen = false;\n\n private portalEl: HTMLElement | null = null;\n private resolvedPlacement: PlacementType = 'right';\n private triggerEl: HTMLElement | null = null;\n private contentDiv: HTMLElement | null = null;\n private slotMutationObserver: MutationObserver | null = null;\n private currentPathname: string = '';\n private pathnameCheckInterval: ReturnType<typeof setInterval> | null = null;\n private stopAutoUpdate: (() => void) | null = null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n /**\n * Sets the maximum width of the tooltip content\n * @defaultValue \"352px\"\n */\n @Prop() maxWidth: string = '352px';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n\n handleOpenToggle(newValue: boolean, oldValue: boolean) {\n if (newValue === false && oldValue === true) {\n this._isInteractiveOpen = false;\n }\n }\n\n componentWillLoad() {\n this._isInteractiveOpen = false;\n this.resolvedPlacement = this.placement;\n }\n\n componentDidLoad() {\n window.addEventListener('pageshow', this.handlePageShow);\n this.currentPathname = window.location.pathname;\n this.triggerEl = this.el.querySelector('.pds-tooltip__trigger') as HTMLElement;\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n\n if (contentSlotWrapper !== null) {\n this.slotMutationObserver = new MutationObserver(() => {\n if (this.opened && this.portalEl !== null) {\n this.removePortal();\n this.createPortal();\n }\n });\n this.slotMutationObserver.observe(contentSlotWrapper, { childList: true, subtree: false });\n }\n\n // no return; Stencil ignores teardown functions here\n }\n\n disconnectedCallback() {\n window.removeEventListener('pageshow', this.handlePageShow);\n if (this.slotMutationObserver !== null) {\n this.slotMutationObserver.disconnect();\n this.slotMutationObserver = null;\n }\n // Ensure global listeners/intervals are removed if still present\n if (this.portalEl !== null) {\n this.removePortal();\n }\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n // Ensure autoUpdate is stopped if still present\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n }\n\n componentDidRender() {\n if (this.opened && this.portalEl === null) {\n this.createPortal();\n } else if (!this.opened && this.portalEl !== null) {\n this.removePortal();\n }\n\n // Update portal class when opened state changes\n if (this.portalEl !== null) {\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n\n // Update ARIA attributes to stay in sync with visual open state\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n }\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private handleShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this._isInteractiveOpen = true;\n this.showTooltip();\n };\n\n private handlePageShow = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.opened = false;\n this._isInteractiveOpen = false;\n };\n\n\n private handleSpaNavigation = () => {\n if (this.opened && !this._isInteractiveOpen) {\n return;\n }\n\n this.hideTooltip();\n this._isInteractiveOpen = false;\n };\n\n private checkPathnameChange = () => {\n if (window.location.pathname !== this.currentPathname) {\n this.currentPathname = window.location.pathname;\n this.handleSpaNavigation();\n }\n };\n\n /**\n * Determines the most accurate HTML element to use as the anchor for positioning the tooltip.\n * If `htmlContent` is false, it attempts to find the actual element slotted as the trigger.\n * Otherwise, or if no specific element is found, it defaults to the span wrapper around the trigger slot.\n * This helps with precise alignment.\n */\n private determinePositioningAnchor(): HTMLElement | null {\n let positioningAnchor: HTMLElement | null = this.triggerEl;\n\n if (this.triggerEl !== null) {\n const children = this.triggerEl.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n\n if (childNode.nodeType === Node.ELEMENT_NODE) {\n positioningAnchor = childNode as HTMLElement;\n break; // Found the first element, use it as the anchor\n }\n }\n }\n\n // If no ELEMENT_NODE is found within this.triggerEl (e.g., if trigger is just text),\n // positioningAnchor will correctly remain this.triggerEl (the span).\n return positioningAnchor;\n }\n\n /**\n * Centralized method to calculate and apply the tooltip's position using floating UI.\n * Uses the determined anchor element and applies computePosition with flip, offset, and shift.\n */\n private async repositionPortal() {\n const anchor = this.determinePositioningAnchor();\n\n if (anchor !== null && this.portalEl !== null) {\n try {\n const { x, y, placement: computedPlacement } = await computePosition(anchor, this.portalEl, {\n placement: this.placement,\n strategy: 'fixed',\n middleware: [offset(8), flip(), shift({ padding: 5 })],\n });\n\n this.resolvedPlacement = computedPlacement as PlacementType;\n\n Object.assign(this.portalEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n });\n\n // Update CSS classes to match the resolved placement\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n } catch (error) {\n console.warn('Failed to position tooltip:', error);\n this.resolvedPlacement = this.placement; // Fallback to requested placement\n // Fallback to basic positioning if floating UI fails\n const anchorRect = anchor.getBoundingClientRect();\n this.portalEl.style.left = `${anchorRect.right + 8}px`;\n this.portalEl.style.top = `${anchorRect.top}px`;\n this.portalEl.style.position = 'fixed';\n }\n }\n }\n\n private createPortal() {\n if (this.portalEl !== null) return;\n\n this.portalEl = document.createElement('div');\n this.portalEl.className = `pds-tooltip pds-tooltip--${this.resolvedPlacement} ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''} ${this.opened ? 'pds-tooltip--is-open' : ''} ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}`;\n this.portalEl.style.position = 'fixed';\n this.portalEl.style.zIndex = '9999';\n\n if (this.portalEl.id === '') {\n const suffix = PdsTooltip.instanceCounter++;\n const baseId = this.componentId || this.el.id || 'pds-tooltip';\n this.portalEl.id = `${baseId}-portal-${suffix}`;\n }\n\n if (this.portalEl.getAttribute('id') !== this.portalEl.id) {\n this.portalEl.setAttribute('id', this.portalEl.id);\n }\n\n this.portalEl.setAttribute('role', 'tooltip');\n this.portalEl.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.portalEl.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n this.portalEl.style.maxWidth = this.maxWidth;\n\n this.contentDiv = document.createElement('div');\n this.contentDiv.className = 'pds-tooltip__content';\n this.contentDiv.setAttribute('aria-hidden', this.opened ? 'false' : 'true');\n this.contentDiv.setAttribute('aria-live', this.opened ? 'polite' : 'off');\n\n const contentSlotWrapper = this.el.querySelector('.pds-tooltip__content-slot-wrapper');\n const slottedContentContainer = contentSlotWrapper?.querySelector('[slot=\"content\"]') as HTMLElement | null;\n let hasSlottedContent = false;\n\n if (slottedContentContainer !== null) {\n const childrenToClone = Array.from(slottedContentContainer.childNodes);\n\n if (childrenToClone.length > 0) {\n const hasMeaningfulNode = childrenToClone.some(node =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n\n if (hasMeaningfulNode) {\n hasSlottedContent = true;\n childrenToClone.forEach((node /*, index*/) => {\n if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')) {\n this.contentDiv.appendChild(node.cloneNode(true));\n }\n });\n }\n }\n }\n\n if (!hasSlottedContent && typeof this.content === 'string' && this.content.trim() !== '') {\n this.contentDiv.textContent = this.content;\n }\n\n this.portalEl.appendChild(this.contentDiv);\n document.body.appendChild(this.portalEl);\n\n this.repositionPortal().catch(error => {\n console.warn('Failed to position tooltip on creation:', error);\n });\n\n // Use Floating UI's autoUpdate to handle scroll/resize automatically\n if (this.triggerEl && this.portalEl) {\n this.stopAutoUpdate = autoUpdate(\n this.triggerEl,\n this.portalEl,\n () => {\n this.repositionPortal().catch(error => {\n console.warn('Failed to reposition tooltip on auto update:', error);\n });\n }\n );\n }\n\n // Keep only SPA navigation listeners (not handled by autoUpdate)\n window.addEventListener('popstate', this.handleSpaNavigation, true);\n window.addEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Start pathname change detection\n this.pathnameCheckInterval = setInterval(this.checkPathnameChange, 100);\n\n // Add ARIA attribute to trigger, now that portalEl and its ID are confirmed\n if (this.triggerEl !== null && this.portalEl.id !== '') {\n this.triggerEl.setAttribute('aria-describedby', this.portalEl.id);\n }\n }\n\n private removePortal() {\n // Stop Floating UI's autoUpdate\n if (this.stopAutoUpdate !== null) {\n this.stopAutoUpdate();\n this.stopAutoUpdate = null;\n }\n\n // Stop pathname change detection\n if (this.pathnameCheckInterval !== null) {\n clearInterval(this.pathnameCheckInterval);\n this.pathnameCheckInterval = null;\n }\n\n if (this.portalEl !== null) {\n // Remove only SPA navigation listeners (scroll/resize handled by autoUpdate)\n window.removeEventListener('popstate', this.handleSpaNavigation, true);\n window.removeEventListener('hashchange', this.handleSpaNavigation, true);\n\n // Safely remove portal from DOM\n try {\n if (this.portalEl.parentNode) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n } catch (error) {\n // Portal might have already been removed by test cleanup\n console.warn('Portal element could not be removed from DOM:', error);\n }\n\n this.portalEl = null;\n }\n\n // Remove ARIA attribute from trigger\n if (this.triggerEl !== null) {\n this.triggerEl.removeAttribute('aria-describedby');\n }\n this.contentDiv = null;\n }\n\n render() {\n const hostId = this.componentId || undefined;\n\n return (\n <Host id={hostId} class={{ 'pds-tooltip--is-open': this.opened }}>\n <span\n class=\"pds-tooltip__trigger\"\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n /* focusin/out bubble; ensure keyboard users see tooltips */\n onFocusin={this.handleShow as any}\n onFocusout={this.handleHide as any}\n ref={el => this.triggerEl = el}\n >\n <slot />\n </span>\n <div class=\"pds-tooltip__content-slot-wrapper\" hidden>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-C5Wo1bN2.system.js","sources":["src/components/pds-modal/pds-modal.scss?tag=mock-pds-modal","src/components/pds-modal/test/mock-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(5vh + 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, Prop, Event, EventEmitter, Method, Element, h } from '@stencil/core';\n\n// Define the element interface for the mock component\ninterface HTMLMockPdsModalElement extends HTMLElement {\n open: boolean;\n showModal: () => Promise<void>;\n hideModal: () => Promise<void>;\n handleBackdropClick: (event: MouseEvent) => void;\n handleKeyDown: (event: KeyboardEvent) => void;\n}\n\n/**\n * Mock PdsModal component for testing purposes\n * This component mimics the real PdsModal but without using the Popover API\n */\n@Component({\n tag: 'mock-pds-modal',\n styleUrl: '../pds-modal.scss',\n shadow: false,\n})\nexport class MockPdsModal {\n @Element() el!: HTMLMockPdsModalElement;\n\n /**\n * The ID of the modal component\n */\n @Prop() componentId?: string;\n\n /**\n * The size of the modal\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'fullscreen' = 'md';\n\n // Modal content is always scrollable by default\n\n /**\n * Whether the modal can be dismissed by clicking the backdrop\n */\n @Prop() backdropDismiss = true;\n\n // Native dialog element always closes on Escape key press, so no closeOnEsc property is needed\n\n /**\n * Whether the modal is open\n */\n @Prop({ mutable: true }) open = false;\n\n // No need for modalRef in the mock implementation\n\n /**\n * Event emitted when the modal is opened\n */\n @Event() pdsModalOpen: EventEmitter;\n\n /**\n * Event emitted when the modal is closed\n */\n @Event() pdsModalClose: EventEmitter;\n\n /**\n * Event emitted when the backdrop is clicked\n */\n @Event() pdsModalBackdropClick: EventEmitter;\n\n /**\n * Shows the modal\n */\n @Method()\n async showModal() {\n this.open = true;\n this.pdsModalOpen.emit();\n }\n\n /**\n * Hides the modal\n */\n @Method()\n async hideModal() {\n this.open = false;\n this.pdsModalClose.emit();\n }\n\n /**\n * Listen for click events on the backdrop\n */\n // Using direct method instead of @Listen to avoid ESLint warning\n handleBackdropClick(event: MouseEvent) {\n const backdrop = this.el.querySelector('.pds-modal__backdrop');\n // Check if the click was directly on the backdrop (not on a child element)\n if (event.target === backdrop && this.backdropDismiss === true) {\n this.pdsModalBackdropClick.emit();\n this.hideModal();\n }\n }\n\n /**\n * Listen for keydown events to handle Escape key\n * Native dialog element always closes on Escape key press\n */\n // Using direct method instead of @Listen to avoid ESLint warning\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.open === true) {\n this.hideModal();\n }\n }\n\n componentDidLoad() {\n // No need to do anything in componentDidLoad for the mock\n }\n\n render() {\n const modalClasses = {\n 'pds-modal': true,\n [`pds-modal--${this.size}`]: true,\n 'pds-modal--scrollable': true, // Always scrollable by default\n };\n\n const backdropClasses = {\n 'pds-modal__backdrop': true,\n 'open': this.open,\n };\n\n return (\n <div class={backdropClasses}>\n <div\n class={modalClasses}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={this.componentId ? `${this.componentId}-heading` : null}\n >\n <div class=\"pds-modal__header\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"pds-modal-content\">\n <slot></slot>\n </div>\n <div class=\"pds-modal__footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;MAAA,MAAM,WAAW,GAAG,smDAAsmD;;YCoB7mD,YAAY,6BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;MAaE;;MAEG;MACK,QAAA,IAAI,CAAA,IAAA,GAAsC,IAAI;;MAItD;;MAEG;MACK,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI;;MAI9B;;MAEG;MACsB,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;MAkGtC;MA/EC;;MAEG;MAEH,IAAA,MAAM,SAAS,GAAA;MACb,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;MAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;MAG1B;;MAEG;MAEH,IAAA,MAAM,SAAS,GAAA;MACb,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;MACjB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;MAG3B;;MAEG;;MAEH,IAAA,mBAAmB,CAAC,KAAiB,EAAA;cACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC;;MAE9D,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;MAC9D,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;kBACjC,IAAI,CAAC,SAAS,EAAE;;;MAIpB;;;MAGG;;MAEH,IAAA,aAAa,CAAC,KAAoB,EAAA;MAChC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;kBAChD,IAAI,CAAC,SAAS,EAAE;;;UAIpB,gBAAgB,GAAA;;;UAIhB,MAAM,GAAA;MACJ,QAAA,MAAM,YAAY,GAAG;MACnB,YAAA,WAAW,EAAE,IAAI;MACjB,YAAA,CAAC,cAAc,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;kBACjC,uBAAuB,EAAE,IAAI;eAC9B;MAED,QAAA,MAAM,eAAe,GAAG;MACtB,YAAA,qBAAqB,EAAE,IAAI;kBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;eAClB;MAED,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,eAAe,EAAA,EACzB,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,MAAM,EAAA,iBAAA,EACA,IAAI,CAAC,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,QAAA,CAAU,GAAG,IAAI,EAAA,EAExE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACF,CACF;;;;;;;;;;;;"}
1
+ {"version":3,"file":"p-IIl2cTlj.system.js","sources":["src/components/pds-modal/pds-modal.scss?tag=mock-pds-modal","src/components/pds-modal/test/mock-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(5vh + 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, Prop, Event, EventEmitter, Method, Element, h } from '@stencil/core';\n\n// Define the element interface for the mock component\ninterface HTMLMockPdsModalElement extends HTMLElement {\n open: boolean;\n showModal: () => Promise<void>;\n hideModal: () => Promise<void>;\n handleBackdropClick: (event: MouseEvent) => void;\n handleKeyDown: (event: KeyboardEvent) => void;\n}\n\n/**\n * Mock PdsModal component for testing purposes\n * This component mimics the real PdsModal but without using the Popover API\n */\n@Component({\n tag: 'mock-pds-modal',\n styleUrl: '../pds-modal.scss',\n shadow: false,\n})\nexport class MockPdsModal {\n @Element() el!: HTMLMockPdsModalElement;\n\n /**\n * The ID of the modal component\n */\n @Prop() componentId?: string;\n\n /**\n * The size of the modal\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'fullscreen' = 'md';\n\n // Modal content is always scrollable by default\n\n /**\n * Whether the modal can be dismissed by clicking the backdrop\n */\n @Prop() backdropDismiss = true;\n\n // Native dialog element always closes on Escape key press, so no closeOnEsc property is needed\n\n /**\n * Whether the modal is open\n */\n @Prop({ mutable: true }) open = false;\n\n // No need for modalRef in the mock implementation\n\n /**\n * Event emitted when the modal is opened\n */\n @Event() pdsModalOpen: EventEmitter;\n\n /**\n * Event emitted when the modal is closed\n */\n @Event() pdsModalClose: EventEmitter;\n\n /**\n * Event emitted when the backdrop is clicked\n */\n @Event() pdsModalBackdropClick: EventEmitter;\n\n /**\n * Shows the modal\n */\n @Method()\n async showModal() {\n this.open = true;\n this.pdsModalOpen.emit();\n }\n\n /**\n * Hides the modal\n */\n @Method()\n async hideModal() {\n this.open = false;\n this.pdsModalClose.emit();\n }\n\n /**\n * Listen for click events on the backdrop\n */\n // Using direct method instead of @Listen to avoid ESLint warning\n handleBackdropClick(event: MouseEvent) {\n const backdrop = this.el.querySelector('.pds-modal__backdrop');\n // Check if the click was directly on the backdrop (not on a child element)\n if (event.target === backdrop && this.backdropDismiss === true) {\n this.pdsModalBackdropClick.emit();\n this.hideModal();\n }\n }\n\n /**\n * Listen for keydown events to handle Escape key\n * Native dialog element always closes on Escape key press\n */\n // Using direct method instead of @Listen to avoid ESLint warning\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.open === true) {\n this.hideModal();\n }\n }\n\n componentDidLoad() {\n // No need to do anything in componentDidLoad for the mock\n }\n\n render() {\n const modalClasses = {\n 'pds-modal': true,\n [`pds-modal--${this.size}`]: true,\n 'pds-modal--scrollable': true, // Always scrollable by default\n };\n\n const backdropClasses = {\n 'pds-modal__backdrop': true,\n 'open': this.open,\n };\n\n return (\n <div class={backdropClasses}>\n <div\n class={modalClasses}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={this.componentId ? `${this.componentId}-heading` : null}\n >\n <div class=\"pds-modal__header\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"pds-modal-content\">\n <slot></slot>\n </div>\n <div class=\"pds-modal__footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;MAAA,MAAM,WAAW,GAAG,smDAAsmD;;YCoB7mD,YAAY,6BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;MAaE;;MAEG;MACK,QAAA,IAAI,CAAA,IAAA,GAAsC,IAAI;;MAItD;;MAEG;MACK,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI;;MAI9B;;MAEG;MACsB,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;MAkGtC;MA/EC;;MAEG;MAEH,IAAA,MAAM,SAAS,GAAA;MACb,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;MAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;MAG1B;;MAEG;MAEH,IAAA,MAAM,SAAS,GAAA;MACb,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;MACjB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;MAG3B;;MAEG;;MAEH,IAAA,mBAAmB,CAAC,KAAiB,EAAA;cACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC;;MAE9D,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;MAC9D,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;kBACjC,IAAI,CAAC,SAAS,EAAE;;;MAIpB;;;MAGG;;MAEH,IAAA,aAAa,CAAC,KAAoB,EAAA;MAChC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;kBAChD,IAAI,CAAC,SAAS,EAAE;;;UAIpB,gBAAgB,GAAA;;;UAIhB,MAAM,GAAA;MACJ,QAAA,MAAM,YAAY,GAAG;MACnB,YAAA,WAAW,EAAE,IAAI;MACjB,YAAA,CAAC,cAAc,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;kBACjC,uBAAuB,EAAE,IAAI;eAC9B;MAED,QAAA,MAAM,eAAe,GAAG;MACtB,YAAA,qBAAqB,EAAE,IAAI;kBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;eAClB;MAED,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,eAAe,EAAA,EACzB,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,MAAM,EAAA,iBAAA,EACA,IAAI,CAAC,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,QAAA,CAAU,GAAG,IAAI,EAAA,EAExE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACF,CACF;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-EytFbMH4.system.js","sources":["src/components/pds-accordion/pds-accordion.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\ndetails {\n --number-animation-transform-timing: 200ms;\n\n border-radius: var(--pine-dimension-xs);\n\n pds-icon {\n transform: scaleY(1);\n }\n}\n\n/* stylelint-disable-next-line */\ndetails[open] {\n background-color: var(--pine-color-background-container);\n\n summary {\n color: var(--pine-color-text-active);\n font-weight: var(--pine-font-weight-semi-bold);\n\n pds-icon {\n transform: scaleY(-1);\n }\n }\n}\n\nsummary {\n background-color: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text-readonly);\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n padding-block: calc(var(--pine-dimension-2xs) * 1.5);\n padding-inline-end: var(--pine-dimension-2xs);\n padding-inline-start: var(--pine-dimension-xs);\n\n // Removes marker on Firefox/Chrome\n /* stylelint-disable-next-line */\n align-items: center;\n display: flex;\n\n // Removes marker on Safari\n &::-webkit-details-marker {\n display: none;\n }\n\n &:hover {\n background: var(--pine-color-background-container-hover);\n color: var(--pine-color-text);\n cursor: pointer;\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n position: relative;\n }\n\n pds-icon {\n margin-inline-start: auto;\n }\n}\n\n.pds-accordion__body {\n padding-block-end: calc(var(--pine-dimension-sm) + 2);\n padding-inline: calc(var(--pine-dimension-2xs) * 1.5);\n}\n","import { Component, h, Host, Prop, Watch } from '@stencil/core';\nimport { downSmall } from '@pine-ds/icons/icons';\n\n/**\n * @part accordion-body - Accordion body styles.\n * @part accordion-button - Accordion button/trigger styles.\n * @slot (default) - Accordion body content.\n * @slot label - Accordion trigger button content.\n */\n@Component({\n tag: 'pds-accordion',\n styleUrls: ['pds-accordion.scss'],\n shadow: true,\n})\nexport class PdsAccordion {\n private detailsEl: HTMLDetailsElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n * @defaultValue null\n */\n @Prop() componentId: string;\n\n /**\n * Can be used to manually set the open state of the accordion.\n * @defaultValue false\n */\n @Prop({\n attribute: 'open',\n mutable: true,\n reflect: true,\n }) isOpen: boolean = false;\n\n @Watch('isOpen')\n handleOpenState(newValue: boolean) {\n this.isOpen = newValue;\n }\n\n private handleToggle = () => {\n this.isOpen = this.detailsEl.open;\n };\n\n private getOpenAttribute = () => {\n if (this.isOpen !== false) {\n return { open: true };\n }\n return '';\n };\n\n componentDidLoad() {\n this.detailsEl.addEventListener('toggle', this.handleToggle);\n }\n\n render() {\n return (\n <Host class=\"pds-accordion\" id={this.componentId}>\n <details {...this.getOpenAttribute()} ref={(el) => (this.detailsEl = el as HTMLDetailsElement)}>\n <summary part=\"accordion-button\">\n <slot name=\"label\">Details</slot>\n <pds-icon icon={downSmall} />\n </summary>\n <div part=\"accordion-body\" class=\"pds-accordion__body\">\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;MAAA,MAAM,eAAe,GAAG,siDAAsiD;;YCcjjD,YAAY,4BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAcE;;;MAGG;MAKA,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;MAOlB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;kBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;MACnC,SAAC;MAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;MAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;MACzB,gBAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;;MAEvB,YAAA,OAAO,EAAE;MACX,SAAC;MAqBF;MAlCC,IAAA,eAAe,CAAC,QAAiB,EAAA;MAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;;UAcxB,gBAAgB,GAAA;cACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;UAG9D,MAAM,GAAA;MACJ,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAA,EAC9C,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAa,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAA,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAwB,CAAC,EAAA,CAAA,EAC5F,CAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,kBAAkB,EAAA,EAC9B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAe,EAAA,SAAA,CAAA,EACjC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAE,SAAS,EAAA,CAAI,CACrB,EACV,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,qBAAqB,EAAA,EACpD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,CACE,CACL;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"p-Kj_j7PHx.system.js","sources":["src/components/pds-accordion/pds-accordion.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\ndetails {\n --number-animation-transform-timing: 200ms;\n\n border-radius: var(--pine-dimension-xs);\n\n pds-icon {\n transform: scaleY(1);\n }\n}\n\n/* stylelint-disable-next-line */\ndetails[open] {\n background-color: var(--pine-color-background-container);\n\n summary {\n color: var(--pine-color-text-active);\n font-weight: var(--pine-font-weight-semi-bold);\n\n pds-icon {\n transform: scaleY(-1);\n }\n }\n}\n\nsummary {\n background-color: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text-readonly);\n font-family: var(--pine-font-family-body);\n font-size: var(--pine-font-size-body-md);\n font-weight: var(--pine-font-weight-medium);\n letter-spacing: var(--pine-letter-spacing);\n line-height: var(--pine-line-height-body);\n padding-block: calc(var(--pine-dimension-2xs) * 1.5);\n padding-inline-end: var(--pine-dimension-2xs);\n padding-inline-start: var(--pine-dimension-xs);\n\n // Removes marker on Firefox/Chrome\n /* stylelint-disable-next-line */\n align-items: center;\n display: flex;\n\n // Removes marker on Safari\n &::-webkit-details-marker {\n display: none;\n }\n\n &:hover {\n background: var(--pine-color-background-container-hover);\n color: var(--pine-color-text);\n cursor: pointer;\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n position: relative;\n }\n\n pds-icon {\n margin-inline-start: auto;\n }\n}\n\n.pds-accordion__body {\n padding-block-end: calc(var(--pine-dimension-sm) + 2);\n padding-inline: calc(var(--pine-dimension-2xs) * 1.5);\n}\n","import { Component, h, Host, Prop, Watch } from '@stencil/core';\nimport { downSmall } from '@pine-ds/icons/icons';\n\n/**\n * @part accordion-body - Accordion body styles.\n * @part accordion-button - Accordion button/trigger styles.\n * @slot (default) - Accordion body content.\n * @slot label - Accordion trigger button content.\n */\n@Component({\n tag: 'pds-accordion',\n styleUrls: ['pds-accordion.scss'],\n shadow: true,\n})\nexport class PdsAccordion {\n private detailsEl: HTMLDetailsElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n * @defaultValue null\n */\n @Prop() componentId: string;\n\n /**\n * Can be used to manually set the open state of the accordion.\n * @defaultValue false\n */\n @Prop({\n attribute: 'open',\n mutable: true,\n reflect: true,\n }) isOpen: boolean = false;\n\n @Watch('isOpen')\n handleOpenState(newValue: boolean) {\n this.isOpen = newValue;\n }\n\n private handleToggle = () => {\n this.isOpen = this.detailsEl.open;\n };\n\n private getOpenAttribute = () => {\n if (this.isOpen !== false) {\n return { open: true };\n }\n return '';\n };\n\n componentDidLoad() {\n this.detailsEl.addEventListener('toggle', this.handleToggle);\n }\n\n render() {\n return (\n <Host class=\"pds-accordion\" id={this.componentId}>\n <details {...this.getOpenAttribute()} ref={(el) => (this.detailsEl = el as HTMLDetailsElement)}>\n <summary part=\"accordion-button\">\n <slot name=\"label\">Details</slot>\n <pds-icon icon={downSmall} />\n </summary>\n <div part=\"accordion-body\" class=\"pds-accordion__body\">\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;MAAA,MAAM,eAAe,GAAG,siDAAsiD;;YCcjjD,YAAY,4BAAA,MAAA;MALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;MAcE;;;MAGG;MAKA,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;MAOlB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;kBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;MACnC,SAAC;MAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;MAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;MACzB,gBAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;;MAEvB,YAAA,OAAO,EAAE;MACX,SAAC;MAqBF;MAlCC,IAAA,eAAe,CAAC,QAAiB,EAAA;MAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;;UAcxB,gBAAgB,GAAA;cACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;UAG9D,MAAM,GAAA;MACJ,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAA,EAC9C,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAa,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAA,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAwB,CAAC,EAAA,CAAA,EAC5F,CAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,kBAAkB,EAAA,EAC9B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAe,EAAA,SAAA,CAAA,EACjC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAE,SAAS,EAAA,CAAI,CACrB,EACV,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,qBAAqB,EAAA,EACpD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,CACE,CACL;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-MBv7PsKc.system.js","sources":["src/components/pds-loader/pds-loader.scss?tag=pds-loader&encapsulation=shadow","src/components/pds-loader/pds-loader.tsx"],"sourcesContent":[":host {\n --loader-color: var(--pine-color-brand);\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: var(--pine-dimension-xs);\n}\n\n\n:host(.pds-loader--hidden),\n.pds-loader--hidden {\n border-width: 0;\n clip: rect(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// Default Loader\n.pds-loader--spinner svg {\n --number-spinner-timing: 2s;\n --number-spinner-path-timing: 1.5s;\n\n animation: rotate var(--number-spinner-timing) linear infinite;\n color: var(--loader-color);\n}\n\n.pds-loader__spinner-path {\n stroke-width: 8px;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n// Typing Loader\n.pds-loader--typing {\n --number-typing-timing: 1s;\n\n --opacity-typing-dot-default: 0.4;\n --opacity-typing-dot-active: 1;\n\n align-items: center;\n background-color: var(--pine-color-background-container-disabled);\n border-radius: var(--pine-dimension-sm);\n box-shadow: var(--pine-box-shadow);\n display: inline-flex;\n gap: var(--pine-dimension-2xs);\n margin-block: var(--pine-dimension-none);\n margin-inline: auto;\n padding-block: 15px;\n padding-inline: 20px;\n position: relative;\n\n span {\n background-color: var(--pine-color-border-hover);\n block-size: 6px;\n border-radius: var(--pine-border-radius-full);\n inline-size: 6px;\n opacity: var(--opacity-typing-dot-default);\n\n @for $i from 1 through 3 {\n &:nth-of-type(#{$i}) {\n animation: var(--number-typing-timing) typing infinite ($i * 0.3333s);\n }\n }\n }\n}\n\n@keyframes typing {\n 50% {\n opacity: var(--opacity-typing-dot-active);\n transform: scale(1.25);\n }\n}\n\n.pds-loader__label {\n --typography-label-default: var(--pine-font-weight-medium) var(--pine-font-size-body-md)/var(--pine-line-height-body) var(--pine-font-family-body);\n\n font: var(--typography-label-default);\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n/**\n * @part loader-svg - Exposes the spinner SVG element for color customization.\n * @slot label - Default slot for Loader label text.\n */\n\n@Component({\n tag: 'pds-loader',\n styleUrls: ['pds-loader.scss'],\n shadow: true,\n})\nexport class PdsLoader {\n /**\n * If false, the loader will be hidden.\n */\n @Prop() isLoading: boolean = true;\n\n /**\n * Determines whether the loader should display a label.\n */\n @Prop() showLabel?: boolean = false;\n\n /**\n * Sets the size of the spinner loader. Value can be preset or custom.\n */\n @Prop({ reflect: true }) size?:\n | 'xs' // 24px\n | 'sm' // 32px\n | 'md' // 48px\n | 'lg' // 64px\n | 'xl' // 80px\n | string = 'md';\n\n /**\n * Determines the type of loader.\n */\n @Prop() variant: 'spinner' | 'typing' = 'spinner';\n\n private loaderSize() {\n const sizes: { [key: string]: string } = {\n xs: '24px',\n sm: '32px',\n md: '48px',\n lg: '64px',\n xl: '80px',\n };\n\n if (sizes[this.size]) {\n return sizes[this.size];\n } else {\n return this.size;\n }\n }\n\n private style = () => {\n if (this.size !== undefined) {\n return {\n height: this.loaderSize(),\n width: this.loaderSize(),\n };\n }\n };\n\n render() {\n return (\n <Host class={`pds-loader ${this.isLoading ? '' : 'pds-loader--hidden'}`} aria-hidden={!this.isLoading} aria-busy={this.isLoading} aria-live=\"polite\">\n {this.variant === 'spinner' && (\n <div class=\"pds-loader--spinner\">\n <svg style={this.style()} viewBox=\"0 0 200 200\" fill=\"none\" part=\"loader-svg\">\n <defs>\n <linearGradient id=\"spinner-secondHalf\">\n <stop offset=\"0%\" stop-opacity=\"0\" stop-color=\"currentColor\" />\n <stop offset=\"100%\" stop-opacity=\"0.5\" stop-color=\"currentColor\" />\n </linearGradient>\n <linearGradient id=\"spinner-firstHalf\">\n <stop offset=\"0%\" stop-opacity=\"1\" stop-color=\"currentColor\" />\n <stop offset=\"100%\" stop-opacity=\"0.5\" stop-color=\"currentColor\" />\n </linearGradient>\n </defs>\n\n <g class=\"pds-loader__spinner-path\">\n <path stroke=\"url(#spinner-secondHalf)\" d=\"M 4 100 A 96 96 0 0 1 196 100\" />\n <path stroke=\"url(#spinner-firstHalf)\" d=\"M 196 100 A 96 96 0 0 1 4 100\" />\n\n <path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M 4 100 A 96 96 0 0 1 4 98\" />\n </g>\n </svg>\n </div>\n )}\n\n {this.variant === 'typing' && (\n <div class=\"pds-loader--typing\">\n <span></span>\n <span></span>\n <span></span>\n </div>\n )}\n\n <div class={`pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}`}>\n <slot name=\"label\">Loading...</slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}