@porsche-design-system/components-react 3.31.0 → 3.32.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  3. package/cjs/hooks.cjs +5 -1
  4. package/cjs/lib/components/button-group.wrapper.cjs +1 -0
  5. package/cjs/lib/components/input-month.wrapper.cjs +29 -0
  6. package/cjs/lib/components/input-search.wrapper.cjs +3 -3
  7. package/cjs/lib/components/input-week.wrapper.cjs +29 -0
  8. package/cjs/lib/components/multi-select.wrapper.cjs +2 -1
  9. package/cjs/lib/components/segmented-control.wrapper.cjs +3 -3
  10. package/cjs/lib/components/select.wrapper.cjs +2 -1
  11. package/cjs/lib/components/tag-dismissible.wrapper.cjs +3 -3
  12. package/cjs/lib/components/textarea.wrapper.cjs +3 -3
  13. package/cjs/public-api.cjs +4 -0
  14. package/esm/BaseProps.d.ts +1 -1
  15. package/esm/hooks.d.ts +3 -0
  16. package/esm/hooks.mjs +5 -2
  17. package/esm/lib/components/accordion.wrapper.d.ts +1 -1
  18. package/esm/lib/components/banner.wrapper.d.ts +1 -1
  19. package/esm/lib/components/button-group.wrapper.d.ts +2 -1
  20. package/esm/lib/components/button-group.wrapper.mjs +1 -0
  21. package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
  22. package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  23. package/esm/lib/components/button.wrapper.d.ts +1 -1
  24. package/esm/lib/components/canvas.wrapper.d.ts +1 -1
  25. package/esm/lib/components/carousel.wrapper.d.ts +1 -1
  26. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  27. package/esm/lib/components/checkbox.wrapper.d.ts +1 -1
  28. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  29. package/esm/lib/components/crest.wrapper.d.ts +1 -1
  30. package/esm/lib/components/display.wrapper.d.ts +1 -1
  31. package/esm/lib/components/divider.wrapper.d.ts +1 -1
  32. package/esm/lib/components/drilldown-item.wrapper.d.ts +1 -1
  33. package/esm/lib/components/drilldown-link.wrapper.d.ts +1 -1
  34. package/esm/lib/components/drilldown.wrapper.d.ts +1 -1
  35. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  36. package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  37. package/esm/lib/components/flag.wrapper.d.ts +1 -1
  38. package/esm/lib/components/flex-item.wrapper.d.ts +1 -1
  39. package/esm/lib/components/flex.wrapper.d.ts +1 -1
  40. package/esm/lib/components/flyout.wrapper.d.ts +1 -1
  41. package/esm/lib/components/grid-item.wrapper.d.ts +1 -1
  42. package/esm/lib/components/grid.wrapper.d.ts +1 -1
  43. package/esm/lib/components/heading.wrapper.d.ts +1 -1
  44. package/esm/lib/components/headline.wrapper.d.ts +1 -1
  45. package/esm/lib/components/icon.wrapper.d.ts +1 -1
  46. package/esm/lib/components/index.d.ts +2 -0
  47. package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
  48. package/esm/lib/components/input-date.wrapper.d.ts +1 -1
  49. package/esm/lib/components/input-email.wrapper.d.ts +1 -1
  50. package/esm/lib/components/input-month.wrapper.d.ts +176 -0
  51. package/esm/lib/components/input-month.wrapper.mjs +27 -0
  52. package/esm/lib/components/input-number.wrapper.d.ts +1 -1
  53. package/esm/lib/components/input-password.wrapper.d.ts +1 -1
  54. package/esm/lib/components/input-search.wrapper.d.ts +17 -1
  55. package/esm/lib/components/input-search.wrapper.mjs +3 -3
  56. package/esm/lib/components/input-tel.wrapper.d.ts +1 -1
  57. package/esm/lib/components/input-text.wrapper.d.ts +1 -1
  58. package/esm/lib/components/input-time.wrapper.d.ts +1 -1
  59. package/esm/lib/components/input-url.wrapper.d.ts +1 -1
  60. package/esm/lib/components/input-week.wrapper.d.ts +176 -0
  61. package/esm/lib/components/input-week.wrapper.mjs +27 -0
  62. package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
  63. package/esm/lib/components/link-social.wrapper.d.ts +1 -1
  64. package/esm/lib/components/link-tile-model-signature.wrapper.d.ts +1 -1
  65. package/esm/lib/components/link-tile-product.wrapper.d.ts +1 -1
  66. package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  67. package/esm/lib/components/link.wrapper.d.ts +1 -1
  68. package/esm/lib/components/marque.wrapper.d.ts +1 -1
  69. package/esm/lib/components/modal.wrapper.d.ts +1 -1
  70. package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
  71. package/esm/lib/components/multi-select-option.wrapper.d.ts +1 -1
  72. package/esm/lib/components/multi-select.wrapper.d.ts +10 -2
  73. package/esm/lib/components/multi-select.wrapper.mjs +2 -1
  74. package/esm/lib/components/optgroup.wrapper.d.ts +1 -1
  75. package/esm/lib/components/pagination.wrapper.d.ts +1 -1
  76. package/esm/lib/components/pin-code.wrapper.d.ts +1 -1
  77. package/esm/lib/components/popover.wrapper.d.ts +1 -1
  78. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +1 -1
  79. package/esm/lib/components/radio-group-option.wrapper.d.ts +3 -1
  80. package/esm/lib/components/radio-group.wrapper.d.ts +1 -1
  81. package/esm/lib/components/scroller.wrapper.d.ts +1 -1
  82. package/esm/lib/components/segmented-control-item.wrapper.d.ts +1 -1
  83. package/esm/lib/components/segmented-control.wrapper.d.ts +50 -2
  84. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  85. package/esm/lib/components/select-option.wrapper.d.ts +1 -1
  86. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  87. package/esm/lib/components/select.wrapper.d.ts +12 -4
  88. package/esm/lib/components/select.wrapper.mjs +2 -1
  89. package/esm/lib/components/sheet.wrapper.d.ts +1 -1
  90. package/esm/lib/components/spinner.wrapper.d.ts +1 -1
  91. package/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +1 -1
  92. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  93. package/esm/lib/components/switch.wrapper.d.ts +1 -1
  94. package/esm/lib/components/table-body.wrapper.d.ts +1 -1
  95. package/esm/lib/components/table-cell.wrapper.d.ts +1 -1
  96. package/esm/lib/components/table-head-cell.wrapper.d.ts +1 -1
  97. package/esm/lib/components/table-head-row.wrapper.d.ts +1 -1
  98. package/esm/lib/components/table-head.wrapper.d.ts +1 -1
  99. package/esm/lib/components/table-row.wrapper.d.ts +1 -1
  100. package/esm/lib/components/table.wrapper.d.ts +1 -1
  101. package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  102. package/esm/lib/components/tabs-item.wrapper.d.ts +1 -1
  103. package/esm/lib/components/tabs.wrapper.d.ts +1 -1
  104. package/esm/lib/components/tag-dismissible.wrapper.d.ts +9 -1
  105. package/esm/lib/components/tag-dismissible.wrapper.mjs +3 -3
  106. package/esm/lib/components/tag.wrapper.d.ts +1 -1
  107. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  108. package/esm/lib/components/text-list-item.wrapper.d.ts +1 -1
  109. package/esm/lib/components/text-list.wrapper.d.ts +1 -1
  110. package/esm/lib/components/text.wrapper.d.ts +1 -1
  111. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  112. package/esm/lib/components/textarea.wrapper.d.ts +11 -3
  113. package/esm/lib/components/textarea.wrapper.mjs +3 -3
  114. package/esm/lib/components/toast.wrapper.d.ts +1 -1
  115. package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
  116. package/esm/lib/types.d.ts +19 -0
  117. package/esm/public-api.mjs +2 -0
  118. package/package.json +5 -5
  119. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +229 -132
  120. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +4 -13
  121. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/hooks.cjs +5 -1
  122. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button-group.wrapper.cjs +1 -0
  123. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-month.wrapper.cjs +40 -0
  124. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-search.wrapper.cjs +4 -4
  125. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-week.wrapper.cjs +40 -0
  126. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +2 -1
  127. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.cjs +3 -2
  128. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control-item.wrapper.cjs +2 -2
  129. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +4 -5
  130. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/select.wrapper.cjs +2 -1
  131. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tag-dismissible.wrapper.cjs +4 -4
  132. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.cjs +4 -4
  133. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.cjs +1 -0
  134. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -0
  135. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +1 -0
  136. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -0
  137. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +45 -0
  138. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -0
  139. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +1 -0
  140. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +2 -1
  141. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -0
  142. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -0
  143. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +1 -0
  144. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -0
  145. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +45 -0
  146. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.cjs +1 -1
  147. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  148. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +10 -6
  149. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -0
  150. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +10 -3
  151. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +1 -0
  152. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +2 -2
  153. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +9 -3
  154. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +13 -10
  155. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -1
  156. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +2 -1
  157. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +4 -0
  158. package/ssr/esm/BaseProps.d.ts +1 -1
  159. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +189 -94
  160. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +5 -10
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/hooks.mjs +5 -2
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button-group.wrapper.mjs +1 -0
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-month.wrapper.mjs +38 -0
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-search.wrapper.mjs +4 -4
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-week.wrapper.mjs +38 -0
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +2 -1
  167. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.mjs +3 -2
  168. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control-item.wrapper.mjs +2 -2
  169. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -5
  170. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select.wrapper.mjs +2 -1
  171. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tag-dismissible.wrapper.mjs +4 -4
  172. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.mjs +4 -4
  173. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  174. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  175. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +3 -2
  176. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  177. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  178. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  179. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  180. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  181. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
  182. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +3 -2
  183. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  184. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  185. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  186. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  187. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  188. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  189. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  190. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  191. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  192. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +2 -2
  193. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  194. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  195. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  196. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  197. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  198. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  199. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  200. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  201. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  202. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +3 -2
  203. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +3 -2
  204. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +43 -0
  205. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +3 -2
  206. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +3 -2
  207. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +4 -3
  208. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +3 -2
  209. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +3 -2
  210. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +3 -2
  211. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +3 -2
  212. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +43 -0
  213. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.mjs +1 -1
  214. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  215. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +11 -7
  216. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -0
  217. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +11 -4
  218. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +1 -0
  219. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +2 -2
  220. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +9 -3
  221. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +14 -11
  222. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -1
  223. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +2 -1
  224. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +2 -0
  225. package/ssr/esm/hooks.d.ts +3 -0
  226. package/ssr/esm/lib/components/accordion.wrapper.d.ts +1 -1
  227. package/ssr/esm/lib/components/banner.wrapper.d.ts +1 -1
  228. package/ssr/esm/lib/components/button-group.wrapper.d.ts +2 -1
  229. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +1 -1
  230. package/ssr/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  231. package/ssr/esm/lib/components/button.wrapper.d.ts +1 -1
  232. package/ssr/esm/lib/components/canvas.wrapper.d.ts +1 -1
  233. package/ssr/esm/lib/components/carousel.wrapper.d.ts +1 -1
  234. package/ssr/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  235. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +1 -1
  236. package/ssr/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  237. package/ssr/esm/lib/components/crest.wrapper.d.ts +1 -1
  238. package/ssr/esm/lib/components/display.wrapper.d.ts +1 -1
  239. package/ssr/esm/lib/components/divider.wrapper.d.ts +1 -1
  240. package/ssr/esm/lib/components/drilldown-item.wrapper.d.ts +1 -1
  241. package/ssr/esm/lib/components/drilldown-link.wrapper.d.ts +1 -1
  242. package/ssr/esm/lib/components/drilldown.wrapper.d.ts +1 -1
  243. package/ssr/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  244. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  245. package/ssr/esm/lib/components/flag.wrapper.d.ts +1 -1
  246. package/ssr/esm/lib/components/flex-item.wrapper.d.ts +1 -1
  247. package/ssr/esm/lib/components/flex.wrapper.d.ts +1 -1
  248. package/ssr/esm/lib/components/flyout.wrapper.d.ts +1 -1
  249. package/ssr/esm/lib/components/grid-item.wrapper.d.ts +1 -1
  250. package/ssr/esm/lib/components/grid.wrapper.d.ts +1 -1
  251. package/ssr/esm/lib/components/heading.wrapper.d.ts +1 -1
  252. package/ssr/esm/lib/components/headline.wrapper.d.ts +1 -1
  253. package/ssr/esm/lib/components/icon.wrapper.d.ts +1 -1
  254. package/ssr/esm/lib/components/index.d.ts +2 -0
  255. package/ssr/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
  256. package/ssr/esm/lib/components/input-date.wrapper.d.ts +1 -1
  257. package/ssr/esm/lib/components/input-email.wrapper.d.ts +1 -1
  258. package/ssr/esm/lib/components/input-month.wrapper.d.ts +176 -0
  259. package/ssr/esm/lib/components/input-number.wrapper.d.ts +1 -1
  260. package/ssr/esm/lib/components/input-password.wrapper.d.ts +1 -1
  261. package/ssr/esm/lib/components/input-search.wrapper.d.ts +17 -1
  262. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +1 -1
  263. package/ssr/esm/lib/components/input-text.wrapper.d.ts +1 -1
  264. package/ssr/esm/lib/components/input-time.wrapper.d.ts +1 -1
  265. package/ssr/esm/lib/components/input-url.wrapper.d.ts +1 -1
  266. package/ssr/esm/lib/components/input-week.wrapper.d.ts +176 -0
  267. package/ssr/esm/lib/components/link-pure.wrapper.d.ts +1 -1
  268. package/ssr/esm/lib/components/link-social.wrapper.d.ts +1 -1
  269. package/ssr/esm/lib/components/link-tile-model-signature.wrapper.d.ts +1 -1
  270. package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +1 -1
  271. package/ssr/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  272. package/ssr/esm/lib/components/link.wrapper.d.ts +1 -1
  273. package/ssr/esm/lib/components/marque.wrapper.d.ts +1 -1
  274. package/ssr/esm/lib/components/modal.wrapper.d.ts +1 -1
  275. package/ssr/esm/lib/components/model-signature.wrapper.d.ts +1 -1
  276. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +1 -1
  277. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +10 -2
  278. package/ssr/esm/lib/components/optgroup.wrapper.d.ts +1 -1
  279. package/ssr/esm/lib/components/pagination.wrapper.d.ts +1 -1
  280. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +1 -1
  281. package/ssr/esm/lib/components/popover.wrapper.d.ts +1 -1
  282. package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +1 -1
  283. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +3 -1
  284. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +1 -1
  285. package/ssr/esm/lib/components/scroller.wrapper.d.ts +1 -1
  286. package/ssr/esm/lib/components/segmented-control-item.wrapper.d.ts +1 -1
  287. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +50 -2
  288. package/ssr/esm/lib/components/select-option.wrapper.d.ts +1 -1
  289. package/ssr/esm/lib/components/select-wrapper-dropdown.wrapper.d.ts +1 -1
  290. package/ssr/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  291. package/ssr/esm/lib/components/select.wrapper.d.ts +12 -4
  292. package/ssr/esm/lib/components/sheet.wrapper.d.ts +1 -1
  293. package/ssr/esm/lib/components/spinner.wrapper.d.ts +1 -1
  294. package/ssr/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +1 -1
  295. package/ssr/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  296. package/ssr/esm/lib/components/switch.wrapper.d.ts +1 -1
  297. package/ssr/esm/lib/components/table-body.wrapper.d.ts +1 -1
  298. package/ssr/esm/lib/components/table-cell.wrapper.d.ts +1 -1
  299. package/ssr/esm/lib/components/table-head-cell.wrapper.d.ts +1 -1
  300. package/ssr/esm/lib/components/table-head-row.wrapper.d.ts +1 -1
  301. package/ssr/esm/lib/components/table-head.wrapper.d.ts +1 -1
  302. package/ssr/esm/lib/components/table-row.wrapper.d.ts +1 -1
  303. package/ssr/esm/lib/components/table.wrapper.d.ts +1 -1
  304. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  305. package/ssr/esm/lib/components/tabs-item.wrapper.d.ts +1 -1
  306. package/ssr/esm/lib/components/tabs.wrapper.d.ts +1 -1
  307. package/ssr/esm/lib/components/tag-dismissible.wrapper.d.ts +9 -1
  308. package/ssr/esm/lib/components/tag.wrapper.d.ts +1 -1
  309. package/ssr/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  310. package/ssr/esm/lib/components/text-list-item.wrapper.d.ts +1 -1
  311. package/ssr/esm/lib/components/text-list.wrapper.d.ts +1 -1
  312. package/ssr/esm/lib/components/text.wrapper.d.ts +1 -1
  313. package/ssr/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  314. package/ssr/esm/lib/components/textarea.wrapper.d.ts +11 -3
  315. package/ssr/esm/lib/components/toast.wrapper.d.ts +1 -1
  316. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +1 -1
  317. package/ssr/esm/lib/dsr-components/button-group.d.ts +1 -0
  318. package/ssr/esm/lib/dsr-components/input-month.d.ts +19 -0
  319. package/ssr/esm/lib/dsr-components/input-week.d.ts +19 -0
  320. package/ssr/esm/lib/dsr-components/multi-select.d.ts +5 -2
  321. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +5 -0
  322. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +3 -0
  323. package/ssr/esm/lib/dsr-components/select.d.ts +6 -3
  324. package/ssr/esm/lib/types.d.ts +19 -0
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputSearchCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputSearchCss as getComponentCss$T } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
8
  import { PIcon } from '../components/icon.wrapper.mjs';
9
9
  import { InputBase } from './input-base.mjs';
@@ -28,13 +28,14 @@ class DSRInputSearch extends Component {
28
28
  // triggers value watcher
29
29
  }
30
30
  formDisabledCallback() {
31
+ // Called when a parent fieldset is disabled or enabled
31
32
  }
32
33
  formStateRestoreCallback() {
33
34
  }
34
35
  render() {
35
36
  splitChildren(this.props.children);
36
- const style = minifyCss(getComponentCss$S(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.clear));
37
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-search", name: this.props.name, form: this.props.form, type: "search", required: this.props.required, placeholder: this.props.placeholder, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.indicator && {
37
+ const style = minifyCss(getComponentCss$T(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.clear));
38
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-search", name: this.props.name, form: this.props.form, type: "search", required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.indicator && {
38
39
  start: jsx(PIcon, { "aria-hidden": "true", name: "search", color: "state-disabled", theme: this.props.theme }),
39
40
  }), ...(this.props.clear && {
40
41
  end: (jsx(PButtonPure, { tabIndex: -1, hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "close", hidden: !this.props.isClearable, disabled: this.props.readOnly || this.props.disabled, children: "Clear field" })),
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputTelCss as getComponentCss$R } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputTelCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PIcon } from '../components/icon.wrapper.mjs';
8
8
  import { InputBase } from './input-base.mjs';
9
9
 
@@ -26,12 +26,13 @@ class DSRInputTel extends Component {
26
26
  // triggers value watcher
27
27
  }
28
28
  formDisabledCallback() {
29
+ // Called when a parent fieldset is disabled or enabled
29
30
  }
30
31
  formStateRestoreCallback() {
31
32
  }
32
33
  render() {
33
34
  splitChildren(this.props.children);
34
- const style = minifyCss(getComponentCss$R(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
35
+ const style = minifyCss(getComponentCss$S(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
35
36
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-tel", name: this.props.name, form: this.props.form, type: "tel", required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, pattern: this.props.pattern, initialLoading: this.props.initialLoading, ...(this.props.indicator && {
36
37
  start: jsx(PIcon, { "aria-hidden": "true", name: "phone", color: "state-disabled", theme: this.props.theme }),
37
38
  }) })] }), this.props.children] }));
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getInputTextCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getInputTextCss as getComponentCss$R } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { InputBase } from './input-base.mjs';
7
7
 
8
8
  /**
@@ -24,12 +24,13 @@ class DSRInputText extends Component {
24
24
  // triggers value watcher
25
25
  }
26
26
  formDisabledCallback() {
27
+ // Called when a parent fieldset is disabled or enabled
27
28
  }
28
29
  formStateRestoreCallback() {
29
30
  }
30
31
  render() {
31
32
  splitChildren(this.props.children);
32
- const style = minifyCss(getComponentCss$Q(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.counter));
33
+ const style = minifyCss(getComponentCss$R(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.counter));
33
34
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-text", name: this.props.name, form: this.props.form, type: "text", required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, spellCheck: this.props.spellCheck, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.counter && {
34
35
  end: (jsxs(Fragment, { children: [jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
35
36
  ? `You have ${this.props.maxLength - this.props.value.length} out of ${this.props.maxLength} characters left`
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputTimeCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputTimeCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { hasShowPickerSupport } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
9
9
  import { InputBase } from './input-base.mjs';
@@ -27,12 +27,13 @@ class DSRInputTime extends Component {
27
27
  // triggers value watcher
28
28
  }
29
29
  formDisabledCallback() {
30
+ // Called when a parent fieldset is disabled or enabled
30
31
  }
31
32
  formStateRestoreCallback() {
32
33
  }
33
34
  render() {
34
35
  splitChildren(this.props.children);
35
- const style = minifyCss(getComponentCss$P(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
36
+ const style = minifyCss(getComponentCss$Q(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
36
37
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-time", name: this.props.name, form: this.props.form, type: "time", required: this.props.required, max: this.props.max, min: this.props.min, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, step: this.props.step, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(hasShowPickerSupport() && {
37
38
  end: (jsx(PButtonPure, { hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "clock", disabled: this.props.disabled || this.props.readOnly, children: "Open time picker" })),
38
39
  }) })] }), this.props.children] }));
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputUrlCss as getComponentCss$O } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputUrlCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PIcon } from '../components/icon.wrapper.mjs';
8
8
  import { InputBase } from './input-base.mjs';
9
9
 
@@ -26,12 +26,13 @@ class DSRInputUrl extends Component {
26
26
  // triggers value watcher
27
27
  }
28
28
  formDisabledCallback() {
29
+ // Called when a parent fieldset is disabled or enabled
29
30
  }
30
31
  formStateRestoreCallback() {
31
32
  }
32
33
  render() {
33
34
  splitChildren(this.props.children);
34
- const style = minifyCss(getComponentCss$O(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
35
+ const style = minifyCss(getComponentCss$P(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
35
36
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-url", name: this.props.name, form: this.props.form, type: "url", required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, pattern: this.props.pattern, initialLoading: this.props.initialLoading, ...(this.props.indicator && {
36
37
  start: jsx(PIcon, { "aria-hidden": "true", name: "linked", color: "state-disabled", theme: this.props.theme }),
37
38
  }) })] }), this.props.children] }));
@@ -0,0 +1,43 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { Component } from 'react';
3
+ import '../../provider.mjs';
4
+ import { splitChildren } from '../../splitChildren.mjs';
5
+ import { minifyCss } from '../../minifyCss.mjs';
6
+ import { getInputWeekCss as getComponentCss$O } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
+ import { hasShowPickerSupport } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
+ import { PButtonPure } from '../components/button-pure.wrapper.mjs';
9
+ import { InputBase } from './input-base.mjs';
10
+
11
+ /**
12
+ * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
13
+ * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
14
+ * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
15
+ * @slot {"name": "start", "description": "Shows content at the start of the input (e.g. unit prefix)."}
16
+ * @slot {"name": "end", "description": "Shows content at the end of the input (e.g. toggle button, unit suffix)."}
17
+ */
18
+ class DSRInputWeek extends Component {
19
+ host;
20
+ // The "name" property is reflected as an attribute to ensure compatibility with native form submission.
21
+ // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
22
+ internals;
23
+ initialLoading = false;
24
+ inputElement;
25
+ defaultValue;
26
+ formResetCallback() {
27
+ // triggers value watcher
28
+ }
29
+ formDisabledCallback() {
30
+ // Called when a parent fieldset is disabled or enabled
31
+ }
32
+ formStateRestoreCallback() {
33
+ }
34
+ render() {
35
+ splitChildren(this.props.children);
36
+ const style = minifyCss(getComponentCss$O(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme));
37
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-week", name: this.props.name, form: this.props.form, type: "week", required: this.props.required, max: this.props.max, min: this.props.min, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, step: this.props.step, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(hasShowPickerSupport() && {
38
+ end: (jsx(PButtonPure, { hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "calendar", disabled: this.props.disabled || this.props.readOnly, children: "Open date picker" })),
39
+ }) })] }), this.props.children] }));
40
+ }
41
+ }
42
+
43
+ export { DSRInputWeek };
@@ -6,7 +6,7 @@ const Label = ({ hasLabel, hasDescription,
6
6
  // host,
7
7
  label, tag, description, htmlFor, isRequired, isLoading, isDisabled, stopClickPropagation, }) => {
8
8
  const TagType = tag || 'label';
9
- return (jsxs(Fragment, { children: [jsx(TagType, { className: "label", id: labelId, "aria-disabled": isLoading || isDisabled ? 'true' : null, htmlFor: htmlFor, children: hasLabel && (jsxs(Fragment, { children: [label || jsx("slot", { name: "label" }), isRequired /* && !isParentFieldsetRequired(host) */ && jsx(Required, {})] })) }), hasDescription && (jsx("span", { className: "label", id: descriptionId, "aria-disabled": isLoading || isDisabled ? 'true' : null, children: description || jsx("slot", { name: "description" }) }))] }));
9
+ return (jsxs(Fragment, { children: [hasLabel && (jsx(TagType, { className: "label", id: labelId, "aria-disabled": isLoading || isDisabled ? 'true' : null, htmlFor: htmlFor, children: jsxs(Fragment, { children: [label || jsx("slot", { name: "label" }), isRequired /* && !isParentFieldsetRequired(host) */ && jsx(Required, {})] }) })), hasDescription && (jsx("span", { className: "label", id: descriptionId, "aria-disabled": isLoading || isDisabled ? 'true' : null, children: description || jsx("slot", { name: "description" }) }))] }));
10
10
  };
11
11
 
12
12
  export { Label };
@@ -21,7 +21,7 @@ class DSRMultiSelectOption extends Component {
21
21
  'option--selected': isSelected,
22
22
  'option--highlighted': highlighted,
23
23
  'option--disabled': isDisabled,
24
- }).map(([key, value]) => value && key).filter(Boolean).join(' '), children: [jsx("span", { className: "checkbox-wrapper", children: jsx("span", { className: "checkbox", "aria-hidden": "true" }) }), jsx("slot", { slot: "label" })] }) })] }), this.props.children] }));
24
+ }).map(([key, value]) => value && key).filter(Boolean).join(' '), children: [jsx("span", { className: "checkbox-wrapper", children: jsx("span", { className: "checkbox", "aria-hidden": "true" }) }), jsx("slot", {})] }) })] }), this.props.children] }));
25
25
  }
26
26
  }
27
27
 
@@ -4,7 +4,7 @@ import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getMultiSelectCss as getComponentCss$D } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { getHasNativePopoverSupport, getSelectedOptionValues, getComboboxAriaAttributes, getSelectedOptionsString, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { getHasNativePopoverSupport, getComboboxAriaAttributes, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
9
9
  import { Label } from './label.mjs';
10
10
  import { messageId, StateMessage } from './state-message.mjs';
@@ -15,8 +15,11 @@ import { NoResultsOption } from './no-results-option.mjs';
15
15
  /**
16
16
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
17
17
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
18
+ * @slot {"name": "selected", "description": "Use this slot to provide custom markup for the selected options display in the button area." }
18
19
  * @slot {"name": "", "description": "Default slot for the p-multi-select-option tags." }
20
+ * @slot {"name": "options-status", "description": "When implementing a custom filter with the `filter` slot, use this slot for loading, error and no results status." }
19
21
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
22
+ * @slot {"name": "filter", "description": "Optional slot for providing a custom `p-input-search` input. When used, the default filter input is replaced and the built-in filter logic is disabled, giving full control over filtering behavior." }
20
23
  *
21
24
  * @controlled { "props": ["value"], "event": "update", "isInternallyMutated": true }
22
25
  */
@@ -26,13 +29,14 @@ class DSRMultiSelect extends Component {
26
29
  // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
27
30
  isOpen = false;
28
31
  hasFilterResults = true;
32
+ selectedOptions = [];
29
33
  internals;
30
34
  defaultValue;
31
35
  multiSelectOptions = [];
32
36
  multiSelectOptgroups = [];
33
37
  buttonElement;
34
38
  inputSearchElement;
35
- inputSearchInputElement;
39
+ filterSlot;
36
40
  listboxElement;
37
41
  resetButtonElement;
38
42
  preventOptionUpdate = false; // Used to prevent value watcher from updating options when options are already updated
@@ -40,9 +44,6 @@ class DSRMultiSelect extends Component {
40
44
  hasNativePopoverSupport = getHasNativePopoverSupport();
41
45
  cleanUpAutoUpdate;
42
46
  currentlyHighlightedOption = null;
43
- get currentValue() {
44
- return getSelectedOptionValues(splitChildren(this.props.children).otherChildren);
45
- }
46
47
  setFormValue(value) {
47
48
  const formData = new FormData();
48
49
  for (const val of value) {
@@ -51,6 +52,7 @@ class DSRMultiSelect extends Component {
51
52
  this.props.internals?.setFormValue(formData);
52
53
  }
53
54
  formDisabledCallback() {
55
+ // Called when a parent fieldset is disabled or enabled
54
56
  }
55
57
  formStateRestoreCallback() {
56
58
  }
@@ -58,14 +60,16 @@ class DSRMultiSelect extends Component {
58
60
  this.props.setFormValue(this.props.defaultValue);
59
61
  }
60
62
  render() {
61
- const { namedSlotChildren, otherChildren } = splitChildren(this.props.children);
63
+ const { namedSlotChildren} = splitChildren(this.props.children);
64
+ const hasCustomFilterSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'filter').length > 0;
65
+ const hasCustomSelectedSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'selected').length > 0;
62
66
  const buttonId = 'button';
63
67
  const popoverId = 'list';
64
68
  const descriptionId = this.props.description ? 'description' : undefined;
65
69
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
66
70
  const ariaDescribedBy = [descriptionId, selectMessageId].filter(Boolean).join(' ');
67
71
  const style = minifyCss(getComponentCss$D(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact, this.props.theme));
68
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [jsx("span", { children: getSelectedOptionsString(otherChildren) }), this.props.currentValue && (jsx(PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, onBlur: (e) => e.stopPropagation(), role: "dialog", "aria-label": this.props.label, "aria-hidden": this.props.isOpen ? null : 'true', children: [jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, theme: this.props.theme, onBlur: (e) => e.stopPropagation() }), jsxs("div", { className: "options", role: "listbox", "aria-label": this.props.label, "aria-multiselectable": "true", onPointerMove: this.props.onPointerMove, children: [!this.props.hasFilterResults && jsx(NoResultsOption, {}), jsx("slot", {})] })] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
72
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [hasCustomSelectedSlot ? (jsx("slot", { name: "selected" })) : (jsx("span", { children: this.selectedOptions.map((option) => (option.textContent ?? '').toString().trim()).join(', ') })), this.props.value.length > 0 && (jsx(PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, onBlur: (e) => e.stopPropagation(), role: "dialog", "aria-label": this.props.label, "aria-hidden": this.props.isOpen ? null : 'true', children: [hasCustomFilterSlot ? (jsx("slot", { name: "filter" })) : (jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, theme: this.props.theme, onBlur: (e) => e.stopPropagation() })), jsxs("div", { className: "options", role: "listbox", "aria-label": this.props.label, "aria-multiselectable": "true", onPointerMove: this.props.onPointerMove, children: [!this.props.hasFilterResults && jsx(NoResultsOption, {}), jsx("slot", { name: "options-status" }), jsx("slot", {})] })] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
69
73
  }
70
74
  }
71
75
 
@@ -29,6 +29,7 @@ class DSRPinCode extends Component {
29
29
  this.props.internals?.setFormValue(this.props.defaultValue);
30
30
  }
31
31
  formDisabledCallback() {
32
+ // Called when a parent fieldset is disabled or enabled
32
33
  }
33
34
  formStateRestoreCallback() {
34
35
  }
@@ -1,6 +1,7 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
+ import { splitChildren } from '../../splitChildren.mjs';
4
5
  import { minifyCss } from '../../minifyCss.mjs';
5
6
  import { getRadioGroupOptionCss as getComponentCss$y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
7
  import { loadingId, LoadingMessage } from './loading-message.mjs';
@@ -8,20 +9,26 @@ import { Label } from './label.mjs';
8
9
  import { messageId } from './state-message.mjs';
9
10
  import { PSpinner } from '../components/spinner.wrapper.mjs';
10
11
 
12
+ /**
13
+ * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
14
+ * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
15
+ * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
16
+ */
11
17
  class DSRRadioGroupOption extends Component {
12
18
  host;
13
19
  initialLoading = false;
14
20
  inputElement;
15
21
  render() {
22
+ splitChildren(this.props.children);
16
23
  const { theme = 'light', selected: isSelected, name, state } = this.props;
17
24
  const isDisabled = this.props.disabled || this.props.disabledParent;
18
25
  const isOptionLoading = this.props.loading && !isSelected;
19
26
  const isLoading = isOptionLoading || this.props.loadingParent;
20
27
  const id = 'radio-group-option';
21
28
  const style = minifyCss(getComponentCss$y(isDisabled, isLoading, state, theme));
22
- return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label, hasDescription: false, host: null, label: this.props.label, htmlFor: id, isDisabled: isDisabled, isLoading: isLoading, stopClickPropagation: true }), jsxs("div", { className: "wrapper", children: [jsx("input", { id: id, type: "radio", name: name, checked: isSelected, disabled: isDisabled || isLoading, value: this.props.value, onClick: (e) => {
23
- e.stopPropagation();
24
- }, onBlur: this.props.onBlur, "aria-describedby": isLoading ? loadingId : `${messageId}`, "aria-invalid": state === 'error' ? 'true' : null, "aria-disabled": isDisabled || isLoading ? 'true' : null }), isOptionLoading && !this.props.loadingParent && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: theme, "aria-hidden": "true" }))] }), !this.props.loadingParent && (jsx(LoadingMessage, { loading: isOptionLoading, initialLoading: this.props.initialLoading }))] }) })] }) }));
29
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label, hasDescription: false, host: null, label: this.props.label, htmlFor: id, isDisabled: isDisabled, isLoading: isLoading, stopClickPropagation: true }), jsxs("div", { className: "wrapper", children: [jsx("input", { id: id, type: "radio", name: name, checked: isSelected, disabled: isDisabled || isLoading, value: this.props.value, onClick: (e) => {
30
+ e.stopPropagation();
31
+ }, onBlur: this.props.onBlur, "aria-describedby": isLoading ? loadingId : `${messageId}`, "aria-invalid": state === 'error' ? 'true' : null, "aria-disabled": isDisabled || isLoading ? 'true' : null }), isOptionLoading && !this.props.loadingParent && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: theme, "aria-hidden": "true" }))] }), !this.props.loadingParent && (jsx(LoadingMessage, { loading: isOptionLoading, initialLoading: this.props.initialLoading }))] }) })] }), this.props.children] }));
25
32
  }
26
33
  }
27
34
 
@@ -29,6 +29,7 @@ class DSRRadioGroup extends Component {
29
29
  // triggers value watcher
30
30
  }
31
31
  formDisabledCallback() {
32
+ // Called when a parent fieldset is disabled or enabled
32
33
  }
33
34
  formStateRestoreCallback() {
34
35
  }
@@ -18,9 +18,9 @@ class DSRSegmentedControlItem extends Component {
18
18
  const hasIcon = !!this.props.icon || !!this.props.iconSource;
19
19
  const hasSlottedContent = !!children.length;
20
20
  const isDisabled = this.props.disabled || this.props.disabledParent;
21
- const style = minifyCss(getComponentCss$v(this.props.compact, isDisabled, this.props.selected, hasIcon, hasSlottedContent, this.props.theme || 'light' // default as fallback
21
+ const style = minifyCss(getComponentCss$v(this.props.compact, isDisabled, this.props.selected, this.props.state, hasIcon, hasSlottedContent, this.props.theme || 'light' // default as fallback
22
22
  ));
23
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", ...getSegmentedControlItemAriaAttributes(this.props.selected, this.props.disabled, this.props.aria), children: [this.props.label && jsx("span", { children: this.props.label }), hasIcon && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.icon, source: this.props.iconSource, color: getIconColor(this.props.disabled), theme: this.props.theme || 'light', "aria-hidden": "true" })), jsx("slot", {})] }) })] }), this.props.children] }));
23
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", ...getSegmentedControlItemAriaAttributes(this.props.selected, this.props.disabled, this.props.state, this.props.message, this.props.aria), children: [this.props.label && jsx("span", { children: this.props.label }), hasIcon && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.icon, source: this.props.iconSource, color: getIconColor(this.props.disabled), theme: this.props.theme || 'light', "aria-hidden": "true" })), jsx("slot", {})] }) })] }), this.props.children] }));
24
24
  }
25
25
  }
26
26
 
@@ -3,9 +3,14 @@ import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
5
  import { getSegmentedControlCss as getComponentCss$u } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { Label } from './label.mjs';
7
+ import { StateMessage } from './state-message.mjs';
6
8
 
7
9
  /**
10
+ * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
11
+ * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
8
12
  * @slot {"name": "", "description": "Default slot for the `p-segmented-control-item` tags." }
13
+ * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
9
14
  *
10
15
  * @controlled { "props": ["value"], "event": "update", "isInternallyMutated": true }
11
16
  */
@@ -17,17 +22,18 @@ class DSRSegmentedControl extends Component {
17
22
  this.props.internals?.setFormValue(this.props.defaultValue?.toString());
18
23
  }
19
24
  formDisabledCallback() {
25
+ // Called when a parent fieldset is disabled or enabled
20
26
  }
21
27
  formStateRestoreCallback() {
22
28
  }
23
29
  render() {
24
- const { children, otherChildren } = splitChildren(this.props.children);
30
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
25
31
  const manipulatedChildren = children.map((child) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
26
32
  ? { ...child, props: { ...child.props, selected: child.props?.value === this.props.value, backgroundColor: this.props.backgroundColor, theme: this.props.theme } }
27
33
  : child);
28
34
  const { minWidth, maxWidth } = { minWidth: 100, maxWidth: 100 };
29
- const style = minifyCss(getComponentCss$u(minWidth, maxWidth, this.props.columns, this.props.compact));
30
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), manipulatedChildren] }));
35
+ const style = minifyCss(getComponentCss$u(minWidth, maxWidth, this.props.columns, this.props.disabled, this.props.hideLabel, this.props.state, this.props.theme));
36
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { inert: this.props.disabled, "aria-invalid": this.props.state === 'error' ? 'true' : null, className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, tag: "legend", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), jsx("slot", {}), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), manipulatedChildren] }));
31
37
  }
32
38
  }
33
39
 
@@ -4,7 +4,7 @@ import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getSelectCss as getComponentCss$q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { getHasNativePopoverSupport, getComboboxAriaAttributes, getSelectedOptionString, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { getHasNativePopoverSupport, getComboboxAriaAttributes, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { Label } from './label.mjs';
9
9
  import { messageId, StateMessage } from './state-message.mjs';
10
10
  import { PIcon } from '../components/icon.wrapper.mjs';
@@ -14,8 +14,11 @@ import { NoResultsOption } from './no-results-option.mjs';
14
14
  /**
15
15
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
16
16
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
17
+ * @slot {"name": "selected", "description": "Use this slot to provide custom markup for the selected option display in the button area." }
17
18
  * @slot {"name": "", "description": "Default slot for the `p-select-option` tags." }
19
+ * @slot {"name": "options-status", "description": "When implementing a custom filter with the `filter` slot, use this slot for loading, error and no results status." }
18
20
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
21
+ * @slot {"name": "filter", "description": "Optional slot for providing a custom `p-input-search` input. When used, the default filter input is replaced and the built-in filter logic is disabled, giving full control over filtering behavior." }
19
22
  *
20
23
  * @controlled { "props": ["value"], "event": "update", "isInternallyMutated": true }
21
24
  */
@@ -25,23 +28,27 @@ class DSRSelect extends Component {
25
28
  // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
26
29
  isOpen = false;
27
30
  hasFilterResults = true;
31
+ selectedOption;
28
32
  internals;
29
33
  defaultValue;
30
34
  buttonElement;
31
35
  popoverElement;
32
36
  inputSearchElement;
33
- inputSearchInputElement;
37
+ filterSlot;
34
38
  listboxElement;
35
39
  selectOptions = [];
36
40
  selectOptgroups = [];
37
41
  preventOptionUpdate = false; // Used to prevent value watcher from updating options when options are already updated
38
42
  searchString = '';
39
43
  searchTimeout = null;
40
- slottedImagePath = '';
41
44
  hasNativePopoverSupport = getHasNativePopoverSupport();
42
45
  cleanUpAutoUpdate;
43
46
  currentlyHighlightedOption = null;
47
+ get hasFilter() {
48
+ return !!(this.props.filter || this.props.filterSlot);
49
+ }
44
50
  formDisabledCallback() {
51
+ // Called when a parent fieldset is disabled or enabled
45
52
  }
46
53
  formStateRestoreCallback() {
47
54
  }
@@ -49,21 +56,17 @@ class DSRSelect extends Component {
49
56
  this.props.internals?.setFormValue(this.props.defaultValue);
50
57
  }
51
58
  render() {
52
- const { namedSlotChildren, otherChildren } = splitChildren(this.props.children);
59
+ const { namedSlotChildren} = splitChildren(this.props.children);
60
+ const hasCustomFilterSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'filter').length > 0;
61
+ const hasCustomSelectedSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'selected').length > 0;
53
62
  const buttonId = 'button';
54
63
  const popoverId = 'list';
55
64
  const descriptionId = this.props.description ? 'description' : undefined;
56
65
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
57
66
  const ariaDescribedBy = [descriptionId, selectMessageId].filter(Boolean).join(' ');
58
67
  const style = minifyCss(getComponentCss$q(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact, this.props.theme));
59
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [this.props.slottedImagePath && jsx("img", { src: this.props.slottedImagePath, alt: "" }), jsx("span", { children: getSelectedOptionString(otherChildren) }), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, onBlur: (e) => e.stopPropagation(), role: "dialog", "aria-label": this.props.label, "aria-hidden": this.props.isOpen ? null : 'true', children: [this.props.filter && (jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, theme: this.props.theme, onBlur: (e) => e.stopPropagation() })), jsxs("div", { className: "options", role: "listbox", "aria-label": this.props.label, onPointerMove: this.props.onPointerMove, children: [this.props.filter && !this.props.hasFilterResults && jsx(NoResultsOption, {}), jsx("slot", {})] })] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
68
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [hasCustomSelectedSlot ? (jsx("slot", { name: "selected" })) : (jsxs(Fragment, { children: [this.selectedOption?.querySelector?.('img') && (jsx("img", { src: this.selectedOption.querySelector('img').src, alt: "" })), jsx("span", { children: this.selectedOption?.textContent ?? '' })] })), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, onBlur: (e) => e.stopPropagation(), role: "dialog", "aria-label": this.props.label, "aria-hidden": this.props.isOpen ? null : 'true', children: [this.props.filter && !hasCustomFilterSlot && (jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, theme: this.props.theme, onBlur: (e) => e.stopPropagation() })), hasCustomFilterSlot && jsx("slot", { name: "filter" }), jsxs("div", { className: "options", role: "listbox", "aria-label": this.props.label, onPointerMove: this.props.onPointerMove, children: [this.props.filter && !this.props.hasFilterResults && jsx(NoResultsOption, {}), jsx("slot", { name: "options-status" }), jsx("slot", {})] })] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
60
69
  }
61
- getSelectedOptionImagePath = (options) => {
62
- return (options
63
- .find((option) => option.selected)
64
- ?.querySelector('img')
65
- ?.getAttribute('src') ?? '');
66
- };
67
70
  }
68
71
 
69
72
  export { DSRSelect };
@@ -17,7 +17,7 @@ class DSRTagDismissible extends Component {
17
17
  const deprecationMap = {
18
18
  'background-default': 'background-base',
19
19
  };
20
- const style = minifyCss(getComponentCss$a((deprecationMap[this.props.color] || this.props.color), !!this.props.label, this.props.theme));
20
+ const style = minifyCss(getComponentCss$a((deprecationMap[this.props.color] || this.props.color), !!this.props.label, this.props.compact, this.props.theme));
21
21
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { type: "button", ...parseAndGetAriaAttributes(this.props.aria), children: [jsx("span", { className: "sr-only", children: "Remove:" }), jsxs("span", { children: [this.props.label && jsx("span", { className: "label", children: this.props.label }), jsx("slot", {})] }), jsx(PIcon, { className: "icon", name: "close", theme: this.props.theme, "aria-hidden": "true" })] })] }), this.props.children] }));
22
22
  }
23
23
  }
@@ -23,13 +23,14 @@ class DSRTextarea extends Component {
23
23
  this.props.internals?.setFormValue(this.props.defaultValue);
24
24
  }
25
25
  formDisabledCallback() {
26
+ // Called when a parent fieldset is disabled or enabled
26
27
  }
27
28
  formStateRestoreCallback() {
28
29
  }
29
30
  render() {
30
31
  const { namedSlotChildren} = splitChildren(this.props.children);
31
32
  const id = 'textarea';
32
- const style = minifyCss(getComponentCss$3(this.props.disabled, this.props.readOnly, this.props.hideLabel, this.props.state, this.props.counter, this.props.resize, this.props.theme));
33
+ const style = minifyCss(getComponentCss$3(this.props.disabled, this.props.readOnly, this.props.hideLabel, this.props.state, this.props.compact, this.props.counter, this.props.resize, this.props.theme));
33
34
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, htmlFor: id, label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", children: [jsx("textarea", { "aria-describedby": `${descriptionId} ${messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, defaultValue: this.props.value, form: this.props.form, disabled: this.props.disabled, required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, rows: this.props.rows, readOnly: this.props.readOnly, spellCheck: this.props.spellCheck, autoComplete: this.props.autoComplete, wrap: this.props.wrap }), this.props.counter && (jsxs(Fragment, { children: [jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
34
35
  ? `You have ${this.props.maxLength - this.props.value.length} out of ${this.props.maxLength} characters left`
35
36
  : `${this.props.value.length} characters entered` }), jsx("span", { className: "counter", "aria-hidden": "true", children: this.props.maxLength ? `${this.props.value.length}/${this.props.maxLength}` : `${this.props.value.length}` })] }))] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
@@ -30,6 +30,7 @@ export { PIcon } from './lib/components/icon.wrapper.mjs';
30
30
  export { PInlineNotification } from './lib/components/inline-notification.wrapper.mjs';
31
31
  export { PInputDate } from './lib/components/input-date.wrapper.mjs';
32
32
  export { PInputEmail } from './lib/components/input-email.wrapper.mjs';
33
+ export { PInputMonth } from './lib/components/input-month.wrapper.mjs';
33
34
  export { PInputNumber } from './lib/components/input-number.wrapper.mjs';
34
35
  export { PInputPassword } from './lib/components/input-password.wrapper.mjs';
35
36
  export { PInputSearch } from './lib/components/input-search.wrapper.mjs';
@@ -37,6 +38,7 @@ export { PInputTel } from './lib/components/input-tel.wrapper.mjs';
37
38
  export { PInputText } from './lib/components/input-text.wrapper.mjs';
38
39
  export { PInputTime } from './lib/components/input-time.wrapper.mjs';
39
40
  export { PInputUrl } from './lib/components/input-url.wrapper.mjs';
41
+ export { PInputWeek } from './lib/components/input-week.wrapper.mjs';
40
42
  export { PLink } from './lib/components/link.wrapper.mjs';
41
43
  export { PLinkPure } from './lib/components/link-pure.wrapper.mjs';
42
44
  export { PLinkSocial } from './lib/components/link-social.wrapper.mjs';
@@ -14,3 +14,6 @@ export declare const useBrowserLayoutEffect: typeof useEffect;
14
14
  export declare const useToastManager: () => {
15
15
  addMessage: (msg: ToastMessage) => void;
16
16
  };
17
+ export declare const internalHooks: {
18
+ usePrefix: (tagName: string) => string;
19
+ };
@@ -42,7 +42,7 @@ export type PAccordionProps = BaseProps & {
42
42
  */
43
43
  theme?: Theme;
44
44
  };
45
- export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
45
+ export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
46
46
  /**
47
47
  * Displays the Accordion as compact version with thinner border and smaller paddings.
48
48
  */
@@ -43,7 +43,7 @@ export type PBannerProps = BaseProps & {
43
43
  */
44
44
  width?: BannerWidth;
45
45
  };
46
- export declare const PBanner: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
46
+ export declare const PBanner: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
47
47
  /**
48
48
  * Description of the banner.
49
49
  */
@@ -6,7 +6,8 @@ export type PButtonGroupProps = BaseProps & {
6
6
  */
7
7
  direction?: BreakpointCustomizable<ButtonGroupDirection>;
8
8
  };
9
- export declare const PButtonGroup: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
9
+ /** @deprecated since v3.32.0, will be removed with next major release. Use simple styles instead. */
10
+ export declare const PButtonGroup: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
10
11
  /**
11
12
  * Defines the direction of the main and cross axis. The default is ’{base: ‘column’, xs: ‘row’}' showing buttons vertically stacked on mobile viewports and side-by-side in a horizontal row from breakpoint ‘xs’. You always need to provide a base value when using breakpoints.
12
13
  */