@pine-ds/core 2.1.1 → 2.1.3

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 (538) hide show
  1. package/components/index.d.ts +6 -0
  2. package/components/index.js +3 -0
  3. package/components/index.js.map +1 -1
  4. package/components/index2.js +3 -2
  5. package/components/index2.js.map +1 -1
  6. package/components/pds-button2.js +5 -3
  7. package/components/pds-button2.js.map +1 -1
  8. package/components/pds-checkbox2.js +12 -5
  9. package/components/pds-checkbox2.js.map +1 -1
  10. package/components/pds-chip.js +4 -4
  11. package/components/pds-chip.js.map +1 -1
  12. package/components/pds-copytext.js +1 -1
  13. package/components/pds-copytext.js.map +1 -1
  14. package/components/pds-divider.js +1 -1
  15. package/components/pds-divider.js.map +1 -1
  16. package/components/pds-image.js +2 -2
  17. package/components/pds-image.js.map +1 -1
  18. package/components/pds-input.js +12 -5
  19. package/components/pds-input.js.map +1 -1
  20. package/components/pds-link.js +2 -2
  21. package/components/pds-link.js.map +1 -1
  22. package/components/pds-loader.js +1 -1
  23. package/components/pds-popover.d.ts +11 -0
  24. package/components/pds-popover.js +94 -0
  25. package/components/pds-popover.js.map +1 -0
  26. package/components/pds-progress.js +1 -1
  27. package/components/pds-radio.js +16 -9
  28. package/components/pds-radio.js.map +1 -1
  29. package/components/pds-row.js +2 -2
  30. package/components/pds-row.js.map +1 -1
  31. package/components/pds-select.d.ts +11 -0
  32. package/components/pds-select.js +165 -0
  33. package/components/pds-select.js.map +1 -0
  34. package/components/pds-sortable-item.js +1 -1
  35. package/components/pds-sortable.js +1 -1
  36. package/components/pds-switch.js +12 -8
  37. package/components/pds-switch.js.map +1 -1
  38. package/components/pds-tab.js +3 -3
  39. package/components/pds-table-body.js +1 -1
  40. package/components/pds-table-cell2.js +2 -2
  41. package/components/pds-table-cell2.js.map +1 -1
  42. package/components/pds-table-head-cell2.js +3 -3
  43. package/components/pds-table-head-cell2.js.map +1 -1
  44. package/components/pds-table-head.js +1 -1
  45. package/components/pds-table-head.js.map +1 -1
  46. package/components/pds-table-row.js +9 -3
  47. package/components/pds-table-row.js.map +1 -1
  48. package/components/pds-table.js +1 -1
  49. package/components/pds-table.js.map +1 -1
  50. package/components/pds-tabpanel.js +1 -1
  51. package/components/pds-tabs.js +1 -1
  52. package/components/pds-text.d.ts +11 -0
  53. package/components/pds-text.js +58 -0
  54. package/components/pds-text.js.map +1 -0
  55. package/components/pds-textarea.js +13 -6
  56. package/components/pds-textarea.js.map +1 -1
  57. package/components/pds-tooltip.js +2 -2
  58. package/dist/cjs/{index-8f7870bb.js → index-3ad62856.js} +4 -2
  59. package/dist/cjs/index-3ad62856.js.map +1 -0
  60. package/dist/cjs/{index-8ad0cd9d.js → index-b7d9268e.js} +3 -2
  61. package/dist/cjs/index-b7d9268e.js.map +1 -0
  62. package/dist/cjs/index.cjs.js +1 -1
  63. package/dist/cjs/loader.cjs.js +2 -2
  64. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  65. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  66. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  67. package/dist/cjs/pds-button.cjs.entry.js +5 -3
  68. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  69. package/dist/cjs/pds-checkbox.cjs.entry.js +7 -6
  70. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  71. package/dist/cjs/pds-chip.cjs.entry.js +5 -5
  72. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  73. package/dist/cjs/pds-copytext.cjs.entry.js +3 -3
  74. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  75. package/dist/cjs/pds-divider.cjs.entry.js +2 -2
  76. package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
  77. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  79. package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
  80. package/dist/cjs/pds-input.cjs.entry.js +7 -6
  81. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  82. package/dist/cjs/{pds-label-35369959.js → pds-label-05f073ea.js} +2 -2
  83. package/dist/cjs/{pds-label-35369959.js.map → pds-label-05f073ea.js.map} +1 -1
  84. package/dist/cjs/pds-link.cjs.entry.js +4 -4
  85. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  86. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  87. package/dist/cjs/pds-popover.cjs.entry.js +72 -0
  88. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -0
  89. package/dist/cjs/pds-progress.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-radio.cjs.entry.js +9 -8
  91. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/pds-row.cjs.entry.js +3 -3
  93. package/dist/cjs/pds-row.cjs.entry.js.map +1 -1
  94. package/dist/cjs/pds-select.cjs.entry.js +131 -0
  95. package/dist/cjs/pds-select.cjs.entry.js.map +1 -0
  96. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  97. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  98. package/dist/cjs/pds-switch.cjs.entry.js +7 -9
  99. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  100. package/dist/cjs/pds-tab.cjs.entry.js +4 -4
  101. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  102. package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
  103. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
  105. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  106. package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
  107. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  108. package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
  109. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  110. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  111. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  113. package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
  114. package/dist/cjs/pds-text.cjs.entry.js +37 -0
  115. package/dist/cjs/pds-text.cjs.entry.js.map +1 -0
  116. package/dist/cjs/pds-textarea.cjs.entry.js +8 -7
  117. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  118. package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
  119. package/dist/cjs/pine-core.cjs.js +2 -2
  120. package/dist/collection/collection-manifest.json +3 -0
  121. package/dist/collection/components/pds-button/pds-button.js +36 -11
  122. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  123. package/dist/collection/components/pds-button/stories/pds-button.stories.js +8 -1
  124. package/dist/collection/components/pds-checkbox/pds-checkbox.css +9 -1
  125. package/dist/collection/components/pds-checkbox/pds-checkbox.js +4 -3
  126. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  127. package/dist/collection/components/pds-chip/pds-chip.js +26 -26
  128. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  129. package/dist/collection/components/pds-copytext/pds-copytext.js +4 -4
  130. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  131. package/dist/collection/components/pds-divider/pds-divider.js +2 -2
  132. package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
  133. package/dist/collection/components/pds-image/pds-image.js +13 -7
  134. package/dist/collection/components/pds-image/pds-image.js.map +1 -1
  135. package/dist/collection/components/pds-input/pds-input.css +6 -1
  136. package/dist/collection/components/pds-input/pds-input.js +9 -8
  137. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  138. package/dist/collection/components/pds-link/pds-link.js +12 -9
  139. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  140. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  141. package/dist/collection/components/pds-popover/pds-popover.css +51 -0
  142. package/dist/collection/components/pds-popover/pds-popover.js +216 -0
  143. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -0
  144. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +45 -0
  145. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  146. package/dist/collection/components/pds-radio/pds-radio.css +9 -1
  147. package/dist/collection/components/pds-radio/pds-radio.js +41 -40
  148. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  149. package/dist/collection/components/pds-row/pds-row.css +7 -5
  150. package/dist/collection/components/pds-row/pds-row.js +1 -1
  151. package/dist/collection/components/pds-select/pds-select.css +126 -0
  152. package/dist/collection/components/pds-select/pds-select.js +360 -0
  153. package/dist/collection/components/pds-select/pds-select.js.map +1 -0
  154. package/dist/collection/components/pds-select/stories/pds-select.stories.js +153 -0
  155. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  156. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  157. package/dist/collection/components/pds-switch/pds-switch.css +10 -6
  158. package/dist/collection/components/pds-switch/pds-switch.js +14 -16
  159. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  160. package/dist/collection/components/pds-switch/stories/pds-switch.stories.js +2 -2
  161. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  162. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  163. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  164. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +7 -4
  165. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -1
  166. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  167. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  168. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
  169. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
  170. package/dist/collection/components/pds-table/pds-table.js +4 -4
  171. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  172. package/dist/collection/components/pds-table/stories/pds-table.stories.js +1 -1
  173. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  174. package/dist/collection/components/pds-tabs/pds-tab/stories/pds-tab.stories.js +19 -0
  175. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  176. package/dist/collection/components/pds-tabs/pds-tabpanel/stories/pds-tabpanel.stories.js +19 -0
  177. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  178. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +18 -18
  179. package/dist/collection/components/pds-text/pds-text.css +218 -0
  180. package/dist/collection/components/pds-text/pds-text.js +143 -0
  181. package/dist/collection/components/pds-text/pds-text.js.map +1 -0
  182. package/dist/collection/components/pds-text/stories/pds-text.stories.js +111 -0
  183. package/dist/collection/components/pds-textarea/pds-textarea.css +4 -0
  184. package/dist/collection/components/pds-textarea/pds-textarea.js +17 -16
  185. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  186. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
  187. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  188. package/dist/collection/utils/types.js.map +1 -1
  189. package/dist/docs.json +1091 -165
  190. package/dist/esm/{index-5e7a8a36.js → index-56752d25.js} +4 -3
  191. package/dist/esm/index-56752d25.js.map +1 -0
  192. package/dist/esm/{index-8b335bbb.js → index-b1696fed.js} +3 -2
  193. package/dist/esm/index-b1696fed.js.map +1 -0
  194. package/dist/esm/index.js +1 -1
  195. package/dist/esm/loader.js +3 -3
  196. package/dist/esm/pds-accordion.entry.js +2 -2
  197. package/dist/esm/pds-avatar.entry.js +2 -2
  198. package/dist/esm/pds-box.entry.js +1 -1
  199. package/dist/esm/pds-button.entry.js +5 -3
  200. package/dist/esm/pds-button.entry.js.map +1 -1
  201. package/dist/esm/pds-checkbox.entry.js +7 -6
  202. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  203. package/dist/esm/pds-chip.entry.js +5 -5
  204. package/dist/esm/pds-chip.entry.js.map +1 -1
  205. package/dist/esm/pds-copytext.entry.js +3 -3
  206. package/dist/esm/pds-copytext.entry.js.map +1 -1
  207. package/dist/esm/pds-divider.entry.js +2 -2
  208. package/dist/esm/pds-divider.entry.js.map +1 -1
  209. package/dist/esm/pds-icon.entry.js +1 -1
  210. package/dist/esm/pds-image.entry.js +3 -3
  211. package/dist/esm/pds-image.entry.js.map +1 -1
  212. package/dist/esm/pds-input.entry.js +7 -6
  213. package/dist/esm/pds-input.entry.js.map +1 -1
  214. package/dist/esm/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
  215. package/dist/esm/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +1 -1
  216. package/dist/esm/pds-link.entry.js +4 -4
  217. package/dist/esm/pds-link.entry.js.map +1 -1
  218. package/dist/esm/pds-loader.entry.js +2 -2
  219. package/dist/esm/pds-popover.entry.js +68 -0
  220. package/dist/esm/pds-popover.entry.js.map +1 -0
  221. package/dist/esm/pds-progress.entry.js +2 -2
  222. package/dist/esm/pds-radio.entry.js +9 -8
  223. package/dist/esm/pds-radio.entry.js.map +1 -1
  224. package/dist/esm/pds-row.entry.js +3 -3
  225. package/dist/esm/pds-row.entry.js.map +1 -1
  226. package/dist/esm/pds-select.entry.js +127 -0
  227. package/dist/esm/pds-select.entry.js.map +1 -0
  228. package/dist/esm/pds-sortable-item.entry.js +3 -3
  229. package/dist/esm/pds-sortable.entry.js +2 -2
  230. package/dist/esm/pds-switch.entry.js +7 -9
  231. package/dist/esm/pds-switch.entry.js.map +1 -1
  232. package/dist/esm/pds-tab.entry.js +4 -4
  233. package/dist/esm/pds-table-body.entry.js +2 -2
  234. package/dist/esm/pds-table-cell.entry.js +3 -3
  235. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  236. package/dist/esm/pds-table-head-cell.entry.js +4 -4
  237. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  238. package/dist/esm/pds-table-head.entry.js +2 -2
  239. package/dist/esm/pds-table-head.entry.js.map +1 -1
  240. package/dist/esm/pds-table-row.entry.js +2 -2
  241. package/dist/esm/pds-table-row.entry.js.map +1 -1
  242. package/dist/esm/pds-table.entry.js +2 -2
  243. package/dist/esm/pds-table.entry.js.map +1 -1
  244. package/dist/esm/pds-tabpanel.entry.js +2 -2
  245. package/dist/esm/pds-tabs.entry.js +2 -2
  246. package/dist/esm/pds-text.entry.js +33 -0
  247. package/dist/esm/pds-text.entry.js.map +1 -0
  248. package/dist/esm/pds-textarea.entry.js +8 -7
  249. package/dist/esm/pds-textarea.entry.js.map +1 -1
  250. package/dist/esm/pds-tooltip.entry.js +3 -3
  251. package/dist/esm/pine-core.js +3 -3
  252. package/dist/esm-es5/index-56752d25.js +2 -0
  253. package/dist/esm-es5/index-56752d25.js.map +1 -0
  254. package/dist/esm-es5/{index-8b335bbb.js → index-b1696fed.js} +3 -3
  255. package/dist/esm-es5/index-b1696fed.js.map +1 -0
  256. package/dist/esm-es5/index.js +1 -1
  257. package/dist/esm-es5/loader.js +1 -1
  258. package/dist/esm-es5/loader.js.map +1 -1
  259. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  260. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  261. package/dist/esm-es5/pds-box.entry.js +1 -1
  262. package/dist/esm-es5/pds-button.entry.js +1 -1
  263. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  264. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  265. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  266. package/dist/esm-es5/pds-chip.entry.js +1 -1
  267. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  268. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  269. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  270. package/dist/esm-es5/pds-divider.entry.js +1 -1
  271. package/dist/esm-es5/pds-divider.entry.js.map +1 -1
  272. package/dist/esm-es5/pds-icon.entry.js +1 -1
  273. package/dist/esm-es5/pds-image.entry.js +1 -1
  274. package/dist/esm-es5/pds-image.entry.js.map +1 -1
  275. package/dist/esm-es5/pds-input.entry.js +1 -1
  276. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  277. package/dist/esm-es5/{pds-label-1f80d632.js → pds-label-62469596.js} +2 -2
  278. package/dist/esm-es5/pds-link.entry.js +1 -1
  279. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  280. package/dist/esm-es5/pds-loader.entry.js +1 -1
  281. package/dist/esm-es5/pds-popover.entry.js +2 -0
  282. package/dist/esm-es5/pds-popover.entry.js.map +1 -0
  283. package/dist/esm-es5/pds-progress.entry.js +1 -1
  284. package/dist/esm-es5/pds-radio.entry.js +1 -1
  285. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  286. package/dist/esm-es5/pds-row.entry.js +1 -1
  287. package/dist/esm-es5/pds-row.entry.js.map +1 -1
  288. package/dist/esm-es5/pds-select.entry.js +2 -0
  289. package/dist/esm-es5/pds-select.entry.js.map +1 -0
  290. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  291. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  292. package/dist/esm-es5/pds-switch.entry.js +1 -1
  293. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  294. package/dist/esm-es5/pds-tab.entry.js +1 -1
  295. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  296. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  297. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  298. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  299. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  300. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  301. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  302. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  303. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  304. package/dist/esm-es5/pds-table.entry.js +1 -1
  305. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  306. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  307. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  308. package/dist/esm-es5/pds-text.entry.js +2 -0
  309. package/dist/esm-es5/pds-text.entry.js.map +1 -0
  310. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  311. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  312. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  313. package/dist/esm-es5/pine-core.js +1 -1
  314. package/dist/esm-es5/pine-core.js.map +1 -1
  315. package/dist/pine-core/index.esm.js +1 -1
  316. package/dist/pine-core/p-00c8d6d8.entry.js +2 -0
  317. package/dist/pine-core/p-00c8d6d8.entry.js.map +1 -0
  318. package/dist/pine-core/{p-6deaad03.entry.js → p-031ac651.entry.js} +2 -2
  319. package/dist/pine-core/{p-6deaad03.entry.js.map → p-031ac651.entry.js.map} +1 -1
  320. package/dist/pine-core/{p-de0beb45.system.entry.js → p-09d83447.system.entry.js} +2 -2
  321. package/dist/pine-core/{p-de0beb45.system.entry.js.map → p-09d83447.system.entry.js.map} +1 -1
  322. package/dist/pine-core/{p-d464f04f.entry.js → p-0ac04129.entry.js} +2 -2
  323. package/dist/pine-core/{p-d464f04f.entry.js.map → p-0ac04129.entry.js.map} +1 -1
  324. package/dist/pine-core/p-0ad64b9d.system.entry.js +2 -0
  325. package/dist/pine-core/p-0ad64b9d.system.entry.js.map +1 -0
  326. package/dist/pine-core/p-110b2e03.entry.js +2 -0
  327. package/dist/pine-core/p-110b2e03.entry.js.map +1 -0
  328. package/dist/pine-core/p-1164c32c.system.entry.js +2 -0
  329. package/dist/pine-core/p-1164c32c.system.entry.js.map +1 -0
  330. package/dist/pine-core/{p-e9ca5a4e.entry.js → p-1351489d.entry.js} +2 -2
  331. package/dist/pine-core/{p-e9ca5a4e.entry.js.map → p-1351489d.entry.js.map} +1 -1
  332. package/dist/pine-core/{p-3b780711.entry.js → p-1712d594.entry.js} +2 -2
  333. package/dist/pine-core/{p-d618d51b.entry.js → p-196f615c.entry.js} +2 -2
  334. package/dist/pine-core/{p-d618d51b.entry.js.map → p-196f615c.entry.js.map} +1 -1
  335. package/dist/pine-core/{p-4e39bbd7.system.entry.js → p-1a1a76ea.system.entry.js} +2 -2
  336. package/dist/pine-core/{p-e4a1b3f5.system.entry.js → p-1a548198.system.entry.js} +2 -2
  337. package/dist/pine-core/p-1a78ee21.entry.js +2 -0
  338. package/dist/pine-core/p-1a78ee21.entry.js.map +1 -0
  339. package/dist/pine-core/{p-89101362.system.entry.js → p-1df1990d.system.entry.js} +2 -2
  340. package/dist/pine-core/{p-1ca76e21.entry.js → p-1e80f274.entry.js} +2 -2
  341. package/dist/pine-core/{p-143bbe94.system.entry.js → p-2e1dc5e5.system.entry.js} +2 -2
  342. package/dist/pine-core/{p-143bbe94.system.entry.js.map → p-2e1dc5e5.system.entry.js.map} +1 -1
  343. package/dist/pine-core/{p-5f13c97b.entry.js → p-34cda8d5.system.entry.js} +2 -2
  344. package/dist/pine-core/p-34cda8d5.system.entry.js.map +1 -0
  345. package/dist/pine-core/{p-05d140a3.system.entry.js → p-364a7555.system.entry.js} +2 -2
  346. package/dist/pine-core/{p-5f23f121.entry.js → p-37a3c235.entry.js} +2 -2
  347. package/dist/pine-core/p-37a3c235.entry.js.map +1 -0
  348. package/dist/pine-core/{p-a18ff34f.entry.js → p-396014d3.entry.js} +2 -2
  349. package/dist/pine-core/{p-5fb6ab2f.entry.js → p-3acb18ad.entry.js} +2 -2
  350. package/dist/pine-core/p-3ae15266.entry.js +2 -0
  351. package/dist/pine-core/p-3ae15266.entry.js.map +1 -0
  352. package/dist/pine-core/{p-4c0c0b2d.system.js → p-45cf2585.system.js} +3 -3
  353. package/dist/pine-core/p-45cf2585.system.js.map +1 -0
  354. package/dist/pine-core/p-4a10164f.entry.js +2 -0
  355. package/dist/pine-core/p-4a10164f.entry.js.map +1 -0
  356. package/dist/pine-core/{p-136ea1e9.entry.js → p-4d22b02c.entry.js} +2 -2
  357. package/dist/pine-core/p-4f9b1945.entry.js +2 -0
  358. package/dist/pine-core/p-4f9b1945.entry.js.map +1 -0
  359. package/dist/pine-core/{p-70e5e466.system.entry.js → p-50918693.system.entry.js} +2 -2
  360. package/dist/pine-core/{p-188be548.entry.js → p-5380ad4f.entry.js} +2 -2
  361. package/dist/pine-core/{p-188be548.entry.js.map → p-5380ad4f.entry.js.map} +1 -1
  362. package/dist/pine-core/{p-e7648adc.system.entry.js → p-539fe011.system.entry.js} +2 -2
  363. package/dist/pine-core/{p-e7648adc.system.entry.js.map → p-539fe011.system.entry.js.map} +1 -1
  364. package/dist/pine-core/p-59a43f75.system.entry.js +2 -0
  365. package/dist/pine-core/p-59a43f75.system.entry.js.map +1 -0
  366. package/dist/pine-core/{p-0200fce9.entry.js → p-59fcea0f.entry.js} +2 -2
  367. package/dist/pine-core/p-5b9d6ad1.entry.js +2 -0
  368. package/dist/pine-core/p-5b9d6ad1.entry.js.map +1 -0
  369. package/dist/pine-core/p-5c04aee0.system.js +2 -0
  370. package/dist/pine-core/p-5c04aee0.system.js.map +1 -0
  371. package/dist/pine-core/{p-c18464e8.system.entry.js → p-5cb59e3f.system.entry.js} +2 -2
  372. package/dist/pine-core/{p-c18464e8.system.entry.js.map → p-5cb59e3f.system.entry.js.map} +1 -1
  373. package/dist/pine-core/p-605dc33a.system.entry.js +2 -0
  374. package/dist/pine-core/p-605dc33a.system.entry.js.map +1 -0
  375. package/dist/pine-core/p-630b1802.entry.js +2 -0
  376. package/dist/pine-core/p-630b1802.entry.js.map +1 -0
  377. package/dist/pine-core/{p-e2d793eb.entry.js → p-65229490.entry.js} +2 -2
  378. package/dist/pine-core/{p-f6e72c06.system.entry.js → p-6d447614.system.entry.js} +2 -2
  379. package/dist/pine-core/{p-f6e72c06.system.entry.js.map → p-6d447614.system.entry.js.map} +1 -1
  380. package/dist/pine-core/{p-62ebfe42.entry.js → p-760e1c32.entry.js} +2 -2
  381. package/dist/pine-core/{p-62ebfe42.entry.js.map → p-760e1c32.entry.js.map} +1 -1
  382. package/dist/pine-core/{p-33a94e8c.system.entry.js → p-84d36583.system.entry.js} +2 -2
  383. package/dist/pine-core/{p-4e6e2052.js → p-87fe352f.js} +3 -3
  384. package/dist/pine-core/p-87fe352f.js.map +1 -0
  385. package/dist/pine-core/p-88702fa2.entry.js +2 -0
  386. package/dist/pine-core/p-88702fa2.entry.js.map +1 -0
  387. package/dist/pine-core/{p-82a001ac.system.entry.js → p-88edcb41.system.entry.js} +2 -2
  388. package/dist/pine-core/{p-330eda0c.entry.js → p-892b4a4c.entry.js} +2 -2
  389. package/dist/pine-core/{p-c5991956.system.entry.js → p-8ae84655.system.entry.js} +2 -2
  390. package/dist/pine-core/{p-c5991956.system.entry.js.map → p-8ae84655.system.entry.js.map} +1 -1
  391. package/dist/pine-core/{p-7d6d3e2b.entry.js → p-9487df53.entry.js} +2 -2
  392. package/dist/pine-core/p-9db668f2.system.entry.js +2 -0
  393. package/dist/pine-core/p-9db668f2.system.entry.js.map +1 -0
  394. package/dist/pine-core/p-a24fa762.system.entry.js +2 -0
  395. package/dist/pine-core/p-a24fa762.system.entry.js.map +1 -0
  396. package/dist/pine-core/{p-3fc1efe7.system.entry.js → p-a2726d3b.system.entry.js} +2 -2
  397. package/dist/pine-core/{p-48f0a5a4.entry.js → p-a6713696.entry.js} +2 -2
  398. package/dist/pine-core/{p-48f0a5a4.entry.js.map → p-a6713696.entry.js.map} +1 -1
  399. package/dist/pine-core/{p-3ec7fac1.js → p-a9038f7f.js} +2 -2
  400. package/dist/pine-core/{p-9dec3592.system.entry.js → p-a9e02a6f.system.entry.js} +2 -2
  401. package/dist/pine-core/{p-1b611a91.system.entry.js → p-adda8682.system.entry.js} +2 -2
  402. package/dist/pine-core/{p-1b611a91.system.entry.js.map → p-adda8682.system.entry.js.map} +1 -1
  403. package/dist/pine-core/{p-1c0993d9.system.entry.js → p-ae19532d.system.entry.js} +2 -2
  404. package/dist/pine-core/{p-1c0993d9.system.entry.js.map → p-ae19532d.system.entry.js.map} +1 -1
  405. package/dist/pine-core/p-b3e36d77.system.entry.js +2 -0
  406. package/dist/pine-core/p-b3e36d77.system.entry.js.map +1 -0
  407. package/dist/pine-core/{p-0efee237.system.entry.js → p-b7edbe43.system.entry.js} +2 -2
  408. package/dist/pine-core/{p-0e310504.system.entry.js → p-b95522e6.system.entry.js} +2 -2
  409. package/dist/pine-core/{p-053ca95a.entry.js → p-b9cebd24.entry.js} +2 -2
  410. package/dist/pine-core/{p-053ca95a.entry.js.map → p-b9cebd24.entry.js.map} +1 -1
  411. package/dist/pine-core/{p-94a0fd6e.entry.js → p-bbd19258.entry.js} +2 -2
  412. package/dist/pine-core/p-cbf2acbd.system.entry.js +2 -0
  413. package/dist/pine-core/p-cbf2acbd.system.entry.js.map +1 -0
  414. package/dist/pine-core/{p-c8b0ea02.entry.js → p-ceb66096.entry.js} +3 -3
  415. package/dist/pine-core/{p-be998f90.system.entry.js → p-d3365f49.system.entry.js} +3 -3
  416. package/dist/pine-core/p-d83716fb.js +2 -0
  417. package/dist/pine-core/p-d83716fb.js.map +1 -0
  418. package/dist/pine-core/{p-02f06002.system.entry.js → p-d95b2469.system.entry.js} +2 -2
  419. package/dist/pine-core/{p-02f06002.system.entry.js.map → p-d95b2469.system.entry.js.map} +1 -1
  420. package/dist/pine-core/p-da5a1e2c.system.entry.js +2 -0
  421. package/dist/pine-core/p-da5a1e2c.system.entry.js.map +1 -0
  422. package/dist/pine-core/p-db622f8f.system.js +2 -0
  423. package/dist/pine-core/p-de301890.entry.js +2 -0
  424. package/dist/pine-core/p-de301890.entry.js.map +1 -0
  425. package/dist/pine-core/p-dec11fa5.system.js +2 -0
  426. package/dist/pine-core/p-dec11fa5.system.js.map +1 -0
  427. package/dist/pine-core/{p-a15c9c4f.entry.js → p-e2a673e8.entry.js} +2 -2
  428. package/dist/pine-core/{p-b78b3492.entry.js → p-e2badc55.entry.js} +2 -2
  429. package/dist/pine-core/{p-b78b3492.entry.js.map → p-e2badc55.entry.js.map} +1 -1
  430. package/dist/pine-core/{p-f408c34a.system.js → p-e3fab4be.system.js} +2 -2
  431. package/dist/pine-core/{p-5c90a600.entry.js → p-ebdaf3ad.entry.js} +2 -2
  432. package/dist/pine-core/{p-a4b85fb8.system.entry.js → p-f16ef73c.system.entry.js} +2 -2
  433. package/dist/pine-core/{p-9c294ea2.system.entry.js → p-faa2bf05.system.entry.js} +2 -2
  434. package/dist/pine-core/p-faa2bf05.system.entry.js.map +1 -0
  435. package/dist/pine-core/pine-core.esm.js +1 -1
  436. package/dist/pine-core/pine-core.esm.js.map +1 -1
  437. package/dist/pine-core/pine-core.js +1 -1
  438. package/dist/pine-core/svg/file-add.svg +1 -1
  439. package/dist/pine-core/svg/file-search.svg +1 -0
  440. package/dist/pine-core/svg/logo-snapchat.svg +1 -0
  441. package/dist/types/components/pds-button/pds-button.d.ts +13 -8
  442. package/dist/types/components/pds-chip/pds-chip.d.ts +8 -8
  443. package/dist/types/components/pds-copytext/pds-copytext.d.ts +3 -3
  444. package/dist/types/components/pds-divider/pds-divider.d.ts +1 -1
  445. package/dist/types/components/pds-image/pds-image.d.ts +7 -3
  446. package/dist/types/components/pds-input/pds-input.d.ts +5 -5
  447. package/dist/types/components/pds-link/pds-link.d.ts +7 -11
  448. package/dist/types/components/pds-popover/pds-popover.d.ts +45 -0
  449. package/dist/types/components/pds-radio/pds-radio.d.ts +11 -11
  450. package/dist/types/components/pds-select/pds-select.d.ts +91 -0
  451. package/dist/types/components/pds-switch/pds-switch.d.ts +10 -13
  452. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +4 -0
  453. package/dist/types/components/pds-table/pds-table-head/pds-table-head.d.ts +5 -2
  454. package/dist/types/components/pds-table/pds-table-head-cell/pds-table-head-cell.d.ts +9 -1
  455. package/dist/types/components/pds-table/pds-table-row/pds-table-row.d.ts +3 -3
  456. package/dist/types/components/pds-table/pds-table.d.ts +11 -3
  457. package/dist/types/components/pds-text/pds-text.d.ts +27 -0
  458. package/dist/types/components/pds-textarea/pds-textarea.d.ts +12 -12
  459. package/dist/types/components.d.ts +457 -105
  460. package/dist/types/utils/types.d.ts +1 -1
  461. package/hydrate/index.js +334 -67
  462. package/hydrate/index.mjs +334 -67
  463. package/package.json +2 -2
  464. package/dist/cjs/index-8ad0cd9d.js.map +0 -1
  465. package/dist/cjs/index-8f7870bb.js.map +0 -1
  466. package/dist/esm/index-5e7a8a36.js.map +0 -1
  467. package/dist/esm/index-8b335bbb.js.map +0 -1
  468. package/dist/esm-es5/index-5e7a8a36.js +0 -2
  469. package/dist/esm-es5/index-5e7a8a36.js.map +0 -1
  470. package/dist/esm-es5/index-8b335bbb.js.map +0 -1
  471. package/dist/pine-core/p-0186301f.entry.js +0 -2
  472. package/dist/pine-core/p-0186301f.entry.js.map +0 -1
  473. package/dist/pine-core/p-0630403a.entry.js +0 -2
  474. package/dist/pine-core/p-0630403a.entry.js.map +0 -1
  475. package/dist/pine-core/p-102222fd.entry.js +0 -2
  476. package/dist/pine-core/p-102222fd.entry.js.map +0 -1
  477. package/dist/pine-core/p-242ccc24.system.entry.js +0 -2
  478. package/dist/pine-core/p-242ccc24.system.entry.js.map +0 -1
  479. package/dist/pine-core/p-30d979d3.entry.js +0 -2
  480. package/dist/pine-core/p-30d979d3.entry.js.map +0 -1
  481. package/dist/pine-core/p-3cad7587.entry.js +0 -2
  482. package/dist/pine-core/p-3cad7587.entry.js.map +0 -1
  483. package/dist/pine-core/p-3e0449c5.js +0 -2
  484. package/dist/pine-core/p-3e0449c5.js.map +0 -1
  485. package/dist/pine-core/p-4c0c0b2d.system.js.map +0 -1
  486. package/dist/pine-core/p-4e6e2052.js.map +0 -1
  487. package/dist/pine-core/p-51e94e03.system.js +0 -2
  488. package/dist/pine-core/p-51e94e03.system.js.map +0 -1
  489. package/dist/pine-core/p-55f8a9e4.system.entry.js +0 -2
  490. package/dist/pine-core/p-55f8a9e4.system.entry.js.map +0 -1
  491. package/dist/pine-core/p-57dd9a98.system.entry.js +0 -2
  492. package/dist/pine-core/p-57dd9a98.system.entry.js.map +0 -1
  493. package/dist/pine-core/p-5b43ff39.system.entry.js +0 -2
  494. package/dist/pine-core/p-5b43ff39.system.entry.js.map +0 -1
  495. package/dist/pine-core/p-5f13c97b.entry.js.map +0 -1
  496. package/dist/pine-core/p-5f23f121.entry.js.map +0 -1
  497. package/dist/pine-core/p-6bcd89dc.system.js +0 -2
  498. package/dist/pine-core/p-6bcd89dc.system.js.map +0 -1
  499. package/dist/pine-core/p-82096fe4.system.entry.js +0 -2
  500. package/dist/pine-core/p-82096fe4.system.entry.js.map +0 -1
  501. package/dist/pine-core/p-8d34339d.system.js +0 -2
  502. package/dist/pine-core/p-9c294ea2.system.entry.js.map +0 -1
  503. package/dist/pine-core/p-d438c2c8.system.entry.js +0 -2
  504. package/dist/pine-core/p-d438c2c8.system.entry.js.map +0 -1
  505. package/dist/pine-core/p-e22b4427.system.entry.js +0 -2
  506. package/dist/pine-core/p-e22b4427.system.entry.js.map +0 -1
  507. package/dist/pine-core/p-efca871b.entry.js +0 -2
  508. package/dist/pine-core/p-efca871b.entry.js.map +0 -1
  509. /package/dist/esm-es5/{pds-label-1f80d632.js.map → pds-label-62469596.js.map} +0 -0
  510. /package/dist/pine-core/{p-3b780711.entry.js.map → p-1712d594.entry.js.map} +0 -0
  511. /package/dist/pine-core/{p-4e39bbd7.system.entry.js.map → p-1a1a76ea.system.entry.js.map} +0 -0
  512. /package/dist/pine-core/{p-e4a1b3f5.system.entry.js.map → p-1a548198.system.entry.js.map} +0 -0
  513. /package/dist/pine-core/{p-89101362.system.entry.js.map → p-1df1990d.system.entry.js.map} +0 -0
  514. /package/dist/pine-core/{p-1ca76e21.entry.js.map → p-1e80f274.entry.js.map} +0 -0
  515. /package/dist/pine-core/{p-05d140a3.system.entry.js.map → p-364a7555.system.entry.js.map} +0 -0
  516. /package/dist/pine-core/{p-a18ff34f.entry.js.map → p-396014d3.entry.js.map} +0 -0
  517. /package/dist/pine-core/{p-5fb6ab2f.entry.js.map → p-3acb18ad.entry.js.map} +0 -0
  518. /package/dist/pine-core/{p-136ea1e9.entry.js.map → p-4d22b02c.entry.js.map} +0 -0
  519. /package/dist/pine-core/{p-70e5e466.system.entry.js.map → p-50918693.system.entry.js.map} +0 -0
  520. /package/dist/pine-core/{p-0200fce9.entry.js.map → p-59fcea0f.entry.js.map} +0 -0
  521. /package/dist/pine-core/{p-e2d793eb.entry.js.map → p-65229490.entry.js.map} +0 -0
  522. /package/dist/pine-core/{p-33a94e8c.system.entry.js.map → p-84d36583.system.entry.js.map} +0 -0
  523. /package/dist/pine-core/{p-82a001ac.system.entry.js.map → p-88edcb41.system.entry.js.map} +0 -0
  524. /package/dist/pine-core/{p-330eda0c.entry.js.map → p-892b4a4c.entry.js.map} +0 -0
  525. /package/dist/pine-core/{p-7d6d3e2b.entry.js.map → p-9487df53.entry.js.map} +0 -0
  526. /package/dist/pine-core/{p-3fc1efe7.system.entry.js.map → p-a2726d3b.system.entry.js.map} +0 -0
  527. /package/dist/pine-core/{p-3ec7fac1.js.map → p-a9038f7f.js.map} +0 -0
  528. /package/dist/pine-core/{p-9dec3592.system.entry.js.map → p-a9e02a6f.system.entry.js.map} +0 -0
  529. /package/dist/pine-core/{p-0efee237.system.entry.js.map → p-b7edbe43.system.entry.js.map} +0 -0
  530. /package/dist/pine-core/{p-0e310504.system.entry.js.map → p-b95522e6.system.entry.js.map} +0 -0
  531. /package/dist/pine-core/{p-94a0fd6e.entry.js.map → p-bbd19258.entry.js.map} +0 -0
  532. /package/dist/pine-core/{p-c8b0ea02.entry.js.map → p-ceb66096.entry.js.map} +0 -0
  533. /package/dist/pine-core/{p-be998f90.system.entry.js.map → p-d3365f49.system.entry.js.map} +0 -0
  534. /package/dist/pine-core/{p-8d34339d.system.js.map → p-db622f8f.system.js.map} +0 -0
  535. /package/dist/pine-core/{p-a15c9c4f.entry.js.map → p-e2a673e8.entry.js.map} +0 -0
  536. /package/dist/pine-core/{p-f408c34a.system.js.map → p-e3fab4be.system.js.map} +0 -0
  537. /package/dist/pine-core/{p-5c90a600.entry.js.map → p-ebdaf3ad.entry.js.map} +0 -0
  538. /package/dist/pine-core/{p-a4b85fb8.system.entry.js.map → p-f16ef73c.system.entry.js.map} +0 -0
@@ -0,0 +1,360 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { messageId } from "../../utils/form";
3
+ import { PdsLabel } from "../_internal/pds-label/pds-label";
4
+ export class PdsSelect {
5
+ constructor() {
6
+ /**
7
+ * Emits an event on input change.
8
+ */
9
+ this.onSelectUpdate = (e) => {
10
+ const target = e.target;
11
+ const values = Array.from(target.options)
12
+ .filter((option) => (option.selected))
13
+ .map((option) => (option.value));
14
+ if (values.length === 1 && !this.multiple) {
15
+ this.value = values[0];
16
+ }
17
+ else {
18
+ this.value = values;
19
+ }
20
+ this.pdsSelectChange.emit(e);
21
+ };
22
+ /**
23
+ * Handles the change event for the slot element.
24
+ * This method is triggered when the slot content changes.
25
+ * It updates the inner HTML of the select element by cloning and appending
26
+ * the assigned <option> elements from the slot.
27
+ */
28
+ this.handleSlotChange = () => {
29
+ const slot = this.slotContainer.querySelector('slot');
30
+ this.selectEl.innerHTML = '';
31
+ const assignedElements = slot.assignedElements({ flatten: true });
32
+ assignedElements.forEach((item) => {
33
+ if (['OPTION', 'OPTGROUP'].includes(item.tagName)) {
34
+ const clonedItem = item.cloneNode(true);
35
+ if (clonedItem.tagName === 'OPTION' && clonedItem.value === this.value) {
36
+ clonedItem.selected = true;
37
+ }
38
+ this.selectEl.appendChild(clonedItem);
39
+ }
40
+ });
41
+ this.updateSelectedOption();
42
+ };
43
+ this.autocomplete = undefined;
44
+ this.componentId = undefined;
45
+ this.disabled = false;
46
+ this.errorMessage = undefined;
47
+ this.helperMessage = undefined;
48
+ this.invalid = undefined;
49
+ this.label = undefined;
50
+ this.multiple = false;
51
+ this.name = undefined;
52
+ this.required = false;
53
+ this.value = undefined;
54
+ }
55
+ /**
56
+ * Handles the change in the value of the select component.
57
+ * This method is called whenever the value of the select component changes.
58
+ * It updates the selected option accordingly.
59
+ */
60
+ valueChanged() {
61
+ this.updateSelectedOption();
62
+ }
63
+ componentWillLoad() {
64
+ this.updateSelectedOption();
65
+ }
66
+ /**
67
+ * Updates the selected option in the select element based on the current value.
68
+ *
69
+ * This method iterates through all the options of the select element and sets the
70
+ * 'selected' attribute on the option that matches the current value. If an option
71
+ * does not match the current value, the 'selected' attribute is removed.
72
+ *
73
+ * @private
74
+ * @returns {void}
75
+ */
76
+ updateSelectedOption() {
77
+ if (this.selectEl) {
78
+ const options = this.selectEl.options;
79
+ // Update the selected attribute for all options.
80
+ Array.from(options).map((option) => {
81
+ if (Array.isArray(this.value)) {
82
+ option.selected = this.value.includes(option.value);
83
+ }
84
+ else {
85
+ option.selected = this.value === option.value;
86
+ }
87
+ });
88
+ }
89
+ ;
90
+ }
91
+ getHelperMessage() {
92
+ return this.helperMessage && (h("p", { class: "pds-select__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage));
93
+ }
94
+ getErrorMessage() {
95
+ return this.errorMessage && (h("p", { class: "pds-select__error-message", id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { name: "danger", size: "small" }), this.errorMessage));
96
+ }
97
+ renderMessages() {
98
+ if (!this.helperMessage && !this.errorMessage)
99
+ return null;
100
+ return (h("div", { class: "pds-select__message" }, this.getHelperMessage(), this.getErrorMessage()));
101
+ }
102
+ classNames() {
103
+ const classNames = [];
104
+ if (this.invalid) {
105
+ classNames.push('is-invalid');
106
+ }
107
+ if (this.disabled) {
108
+ classNames.push('is-disabled');
109
+ }
110
+ return classNames.join(' ');
111
+ }
112
+ render() {
113
+ return (h(Host, { key: 'f0baf957ee67ee9171a41fc4171e548b94d5c22c', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames() }, h("div", { key: '88ef7c54afc654133d613c91c4bb3fbfe4a944b3', class: "pds-select" }, h(PdsLabel, { key: '7723f468412f6567e0d4fd236807e1ba2fdea16a', htmlFor: this.componentId, text: this.label }), h("select", { key: '1bdb1e22360972aa6cb77902d1288abfcc9dbf07', autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onChange: this.onSelectUpdate, required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: 'ddbac1f772b335688d7eb219a7ea3a9ab4a3192a', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'aa6093fd8833fdf4860dd8127c32f95405679a11', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'de8dc37035701942d8b2bcf56b40edf2f6de20df', class: "pds-select__select-icon", name: "enlarge" }))));
114
+ }
115
+ static get is() { return "pds-select"; }
116
+ static get encapsulation() { return "shadow"; }
117
+ static get originalStyleUrls() {
118
+ return {
119
+ "$": ["pds-select.scss"]
120
+ };
121
+ }
122
+ static get styleUrls() {
123
+ return {
124
+ "$": ["pds-select.css"]
125
+ };
126
+ }
127
+ static get properties() {
128
+ return {
129
+ "autocomplete": {
130
+ "type": "string",
131
+ "mutable": false,
132
+ "complexType": {
133
+ "original": "string",
134
+ "resolved": "string",
135
+ "references": {}
136
+ },
137
+ "required": false,
138
+ "optional": false,
139
+ "docs": {
140
+ "tags": [],
141
+ "text": "Specifies if and how the browser provides `autocomplete` assistance for the field."
142
+ },
143
+ "attribute": "autocomplete",
144
+ "reflect": false
145
+ },
146
+ "componentId": {
147
+ "type": "string",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "string",
151
+ "resolved": "string",
152
+ "references": {}
153
+ },
154
+ "required": true,
155
+ "optional": false,
156
+ "docs": {
157
+ "tags": [],
158
+ "text": "A unique identifier used for the underlying component `id` attribute."
159
+ },
160
+ "attribute": "component-id",
161
+ "reflect": false
162
+ },
163
+ "disabled": {
164
+ "type": "boolean",
165
+ "mutable": false,
166
+ "complexType": {
167
+ "original": "boolean",
168
+ "resolved": "boolean",
169
+ "references": {}
170
+ },
171
+ "required": false,
172
+ "optional": false,
173
+ "docs": {
174
+ "tags": [{
175
+ "name": "defaultValue",
176
+ "text": "false"
177
+ }],
178
+ "text": "Indicates whether or not the select field is disabled."
179
+ },
180
+ "attribute": "disabled",
181
+ "reflect": false,
182
+ "defaultValue": "false"
183
+ },
184
+ "errorMessage": {
185
+ "type": "string",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "string",
189
+ "resolved": "string",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": false,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "Displays error message text describing an invalid state."
197
+ },
198
+ "attribute": "error-message",
199
+ "reflect": false
200
+ },
201
+ "helperMessage": {
202
+ "type": "string",
203
+ "mutable": false,
204
+ "complexType": {
205
+ "original": "string",
206
+ "resolved": "string",
207
+ "references": {}
208
+ },
209
+ "required": false,
210
+ "optional": false,
211
+ "docs": {
212
+ "tags": [],
213
+ "text": "Displays helper message text below select."
214
+ },
215
+ "attribute": "helper-message",
216
+ "reflect": false
217
+ },
218
+ "invalid": {
219
+ "type": "boolean",
220
+ "mutable": false,
221
+ "complexType": {
222
+ "original": "boolean",
223
+ "resolved": "boolean",
224
+ "references": {}
225
+ },
226
+ "required": false,
227
+ "optional": true,
228
+ "docs": {
229
+ "tags": [],
230
+ "text": "Determines whether or not the select is invalid."
231
+ },
232
+ "attribute": "invalid",
233
+ "reflect": false
234
+ },
235
+ "label": {
236
+ "type": "string",
237
+ "mutable": false,
238
+ "complexType": {
239
+ "original": "string",
240
+ "resolved": "string",
241
+ "references": {}
242
+ },
243
+ "required": false,
244
+ "optional": false,
245
+ "docs": {
246
+ "tags": [],
247
+ "text": "Text to be displayed as the select label."
248
+ },
249
+ "attribute": "label",
250
+ "reflect": false
251
+ },
252
+ "multiple": {
253
+ "type": "boolean",
254
+ "mutable": false,
255
+ "complexType": {
256
+ "original": "boolean",
257
+ "resolved": "boolean",
258
+ "references": {}
259
+ },
260
+ "required": false,
261
+ "optional": false,
262
+ "docs": {
263
+ "tags": [{
264
+ "name": "defaultValue",
265
+ "text": "false"
266
+ }],
267
+ "text": "Indicates whether multiple options can be selected."
268
+ },
269
+ "attribute": "multiple",
270
+ "reflect": false,
271
+ "defaultValue": "false"
272
+ },
273
+ "name": {
274
+ "type": "string",
275
+ "mutable": false,
276
+ "complexType": {
277
+ "original": "string",
278
+ "resolved": "string",
279
+ "references": {}
280
+ },
281
+ "required": true,
282
+ "optional": false,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "Specifies the name. Submitted with the form name/value pair."
286
+ },
287
+ "attribute": "name",
288
+ "reflect": false
289
+ },
290
+ "required": {
291
+ "type": "boolean",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [{
302
+ "name": "defaultValue",
303
+ "text": "false"
304
+ }],
305
+ "text": "Indicates whether or not the select field is required."
306
+ },
307
+ "attribute": "required",
308
+ "reflect": false,
309
+ "defaultValue": "false"
310
+ },
311
+ "value": {
312
+ "type": "string",
313
+ "mutable": true,
314
+ "complexType": {
315
+ "original": "string | string[]",
316
+ "resolved": "string | string[]",
317
+ "references": {}
318
+ },
319
+ "required": false,
320
+ "optional": true,
321
+ "docs": {
322
+ "tags": [],
323
+ "text": "The value(s) of the selected option(s)."
324
+ },
325
+ "attribute": "value",
326
+ "reflect": false
327
+ }
328
+ };
329
+ }
330
+ static get events() {
331
+ return [{
332
+ "method": "pdsSelectChange",
333
+ "name": "pdsSelectChange",
334
+ "bubbles": true,
335
+ "cancelable": true,
336
+ "composed": true,
337
+ "docs": {
338
+ "tags": [],
339
+ "text": "Emitted when a keyboard input occurs."
340
+ },
341
+ "complexType": {
342
+ "original": "InputEvent",
343
+ "resolved": "InputEvent",
344
+ "references": {
345
+ "InputEvent": {
346
+ "location": "global",
347
+ "id": "global::InputEvent"
348
+ }
349
+ }
350
+ }
351
+ }];
352
+ }
353
+ static get watchers() {
354
+ return [{
355
+ "propName": "value",
356
+ "methodName": "valueChanged"
357
+ }];
358
+ }
359
+ }
360
+ //# sourceMappingURL=pds-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pds-select.js","sourceRoot":"","sources":["../../../src/components/pds-select/pds-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-select',\n styleUrl: 'pds-select.scss',\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon name=\"danger\" size=\"small\" />\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()}>\n <div class=\"pds-select\">\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n <select\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" name=\"enlarge\" />}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,153 @@
1
+ import { html } from 'lit';
2
+ import { extractArgTypes } from '@pxtrn/storybook-addon-docs-stencil';
3
+ import { withActions } from '@storybook/addon-actions/decorator';
4
+
5
+ export default {
6
+ args: {
7
+ autocomplete: null,
8
+ disabled: false,
9
+ errorMessage: null,
10
+ helperMessage: null,
11
+ invalid: false,
12
+ multiple: false,
13
+ value: null,
14
+ },
15
+ argTypes: extractArgTypes('pds-select'),
16
+ component: 'pds-select',
17
+ decorators: [withActions],
18
+ parameters: {
19
+ actions: {
20
+ handles: ['onchange', 'pdsSelectChange'],
21
+ },
22
+ },
23
+ title: 'components/Select',
24
+ };
25
+
26
+ const options = [
27
+ { value: 'paul', label: 'Paul McCartney' },
28
+ { value: 'john', label: 'John Lennon' },
29
+ { value: 'george', label: 'George Harrison' },
30
+ { value: 'ringo', label: 'Ringo Starr' },
31
+ ];
32
+
33
+ const optgroupOptions = [
34
+ {
35
+ label: 'Correct answers',
36
+ options: [
37
+ { value: 'paul', label: 'Paul McCartney' },
38
+ { value: 'john', label: 'John Lennon' },
39
+ { value: 'george', label: 'George Harrison' },
40
+ ],
41
+ },
42
+ {
43
+ label: 'Incorrect answers',
44
+ options: [{ value: 'ringo', label: 'Ringo Starr' }],
45
+ },
46
+ ];
47
+
48
+ const BaseTemplate = (args) =>
49
+ html`<pds-select
50
+ autocomplete="${args.autocomplete}"
51
+ component-id="${args.componentId}"
52
+ disabled="${args.disabled}"
53
+ error-message="${args.errorMessage}"
54
+ helper-message="${args.helperMessage}"
55
+ invalid="${args.invalid}"
56
+ label="${args.label}"
57
+ multiple="${args.multiple}"
58
+ name="${args.name}"
59
+ required="${args.required}"
60
+ type="${args.type}"
61
+ value="${args.value}"
62
+ >
63
+ ${options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}
64
+ </pds-select>`;
65
+
66
+ const OptgroupTemplate = (args) =>
67
+ html`<pds-select
68
+ autocomplete="${args.autocomplete}"
69
+ component-id="${args.componentId}"
70
+ disabled="${args.disabled}"
71
+ error-message="${args.errorMessage}"
72
+ helper-message="${args.helperMessage}"
73
+ invalid="${args.invalid}"
74
+ label="${args.label}"
75
+ multiple="${args.multiple}"
76
+ name="${args.name}"
77
+ required="${args.required}"
78
+ type="${args.type}"
79
+ value="${args.value}"
80
+ >
81
+ ${optgroupOptions.map(
82
+ (group) => html`<optgroup label="${group.label}">${group.options.map((option) => html`<option value="${option.value}">${option.label}</option>`)}</optgroup>`,
83
+ )}
84
+ </pds-select>`;
85
+
86
+ export const Default = BaseTemplate.bind({});
87
+ Default.args = {
88
+ componentId: 'pds-select-default-example',
89
+ disabled: false,
90
+ label: 'Select your favorite Beatle',
91
+ name: 'beatles',
92
+ required: true,
93
+ value: 'paul',
94
+ };
95
+
96
+ export const Disabled = BaseTemplate.bind({});
97
+ Disabled.args = {
98
+ componentId: 'pds-select-disabled-example',
99
+ disabled: true,
100
+ label: 'Select your favorite Beatle',
101
+ name: 'beatles',
102
+ value: 'george',
103
+ };
104
+
105
+ export const withMessage = BaseTemplate.bind({});
106
+ withMessage.args = {
107
+ componentId: 'pds-select-message-example',
108
+ disabled: false,
109
+ helperMessage: "Please don't pick Ringo",
110
+ label: 'Select your favorite Beatle',
111
+ name: 'beatles',
112
+ value: 'john',
113
+ };
114
+
115
+ export const Invalid = BaseTemplate.bind({});
116
+ Invalid.args = {
117
+ componentId: 'pds-select-invalid-example',
118
+ disabled: false,
119
+ errorMessage: 'Its not Ringo',
120
+ invalid: true,
121
+ label: 'Select your favorite Beatle',
122
+ name: 'beatles',
123
+ value: 'ringo',
124
+ };
125
+
126
+ export const Autocomplete = BaseTemplate.bind({});
127
+ Autocomplete.args = {
128
+ componentId: 'pds-select-autocomplete-example',
129
+ disabled: false,
130
+ autocomplete: 'on',
131
+ label: 'Select your favorite Beatle',
132
+ name: 'beatles',
133
+ value: 'paul',
134
+ };
135
+
136
+ export const Multiple = BaseTemplate.bind({});
137
+ Multiple.args = {
138
+ componentId: 'pds-select-multiple-example',
139
+ disabled: false,
140
+ helperMessage: "Use 'Command' on your keyboard to select multiple options",
141
+ label: 'Select your favorite Beatle',
142
+ multiple: true,
143
+ name: 'beatles',
144
+ };
145
+
146
+ export const WithOptgroup = OptgroupTemplate.bind({});
147
+ WithOptgroup.args = {
148
+ componentId: 'pds-select-optgroup-example',
149
+ disabled: false,
150
+ label: 'Select your favorite Beatle',
151
+ name: 'beatles',
152
+ value: 'george',
153
+ };
@@ -18,7 +18,7 @@ export class PdsSortableItem {
18
18
  }
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: '60214e183314736338f9b38cb93a9c5989e16cdf', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '7cc252c99598f384a87518c101d0772a4ce344e4', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'e2b219927cf717fa53112066ba3fe0ac12688edd', icon: handleIcon }))), h("slot", { key: 'e259bfbf7e8c848567d07639e62adfe5781f29b8' }), this.enableActions && (h("div", { key: 'e83d28d55b6fee971575433a3e3f8b1d5b7e52fe', class: "pds-sortable-item__actions" }, h("slot", { key: '7ac52a8109e49cfff96cead45a3b318646c7f064', name: "sortable-item-actions" })))));
21
+ return (h(Host, { key: '53229fa4308319c59c520bdf84291fb738d6f7c2', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '28a4a4fe6a946880e7501fd2a0697152f0665f4c', class: "pds-sortable-item__handle" }, h("pds-icon", { key: 'e45540e3787977b0861418455f6a0689cfcec887', icon: handleIcon }))), h("slot", { key: 'bca5cbb3c4f5b4f1732030428660f5ae976cced0' }), this.enableActions && (h("div", { key: '2928a942128e4bbad4c869f42b59d10501af4419', class: "pds-sortable-item__actions" }, h("slot", { key: 'c2a4e2a47300f1c8f06a23ba134c436a591442bf', name: "sortable-item-actions" })))));
22
22
  }
23
23
  static get is() { return "pds-sortable-item"; }
24
24
  static get encapsulation() { return "scoped"; }
@@ -35,7 +35,7 @@ export class PdsSortable {
35
35
  Sortable.create(this.el, sortableOptions);
36
36
  }
37
37
  render() {
38
- return (h(Host, { key: 'bd922d1fff144b11b407aeb0e389c05fcfa22504', class: this.classNames(), id: this.componentId }, h("slot", { key: 'f25cd77d7735d971903ba9cdeb98f652d45dae41' })));
38
+ return (h(Host, { key: 'e215bbd858767d4c5e5e85bd12352e6a50b7d594', class: this.classNames(), id: this.componentId }, h("slot", { key: 'bd4a58c7ceb78432c77615987e16e979d7240eb4' })));
39
39
  }
40
40
  static get is() { return "pds-sortable"; }
41
41
  static get encapsulation() { return "scoped"; }
@@ -23,7 +23,7 @@
23
23
  --sizing-input-toggle-size: calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));
24
24
  --spacing-label-gap-size: var(--pine-spacing-150);
25
25
  --spacing-input-toggle-offset: calc(var(--pine-spacing-050) / 2);
26
- --spacing-message-block: var(--pine-spacing-050);
26
+ --spacing-message-block: calc(var(--pine-spacing-150) / 2);
27
27
  --spacing-message-inline: calc(var(--dimension-input-width) + var(--spacing-label-gap-size));
28
28
  --number-transition-timing: 0.15s ease-out;
29
29
  align-items: flex-start;
@@ -45,6 +45,9 @@
45
45
  :host(.pds-switch--error) input:focus-visible:not(:disabled):not(:checked) {
46
46
  box-shadow: var(--box-shadow-focus-error);
47
47
  }
48
+ :host(.pds-switch--error) label {
49
+ color: var(--color-text-error);
50
+ }
48
51
 
49
52
  input {
50
53
  appearance: none;
@@ -90,16 +93,17 @@ label {
90
93
  .pds-switch__message {
91
94
  color: var(--color-message-text);
92
95
  flex: 1 0 100%;
93
- font-size: var(--pine-font-size-body-sm);
94
- line-height: var(--pine-line-height-sm);
95
- margin-inline-start: var(--spacing-message-inline);
96
- }
97
- .pds-switch__message + .pds-switch__message {
96
+ font-size: var(--pine-font-size-body-md);
98
97
  margin-block-start: var(--spacing-message-block);
98
+ margin-inline-start: var(--spacing-message-inline);
99
99
  }
100
100
 
101
101
  .pds-switch__message--error {
102
+ align-items: center;
102
103
  color: inherit;
104
+ display: flex;
105
+ font-size: var(--pine-font-size-085);
106
+ gap: var(--pine-spacing-050);
103
107
  }
104
108
 
105
109
  input:disabled {