@porsche-design-system/components-react 4.0.0-rc.0 → 4.0.0-rc.2

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 (296) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/OSS_NOTICE +195 -855
  3. package/README.md +0 -5
  4. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  5. package/cjs/lib/components/banner.wrapper.cjs +3 -3
  6. package/cjs/lib/components/segmented-control.wrapper.cjs +3 -3
  7. package/esm/hooks.mjs +1 -1
  8. package/esm/lib/components/accordion.wrapper.d.ts +8 -0
  9. package/esm/lib/components/banner.wrapper.d.ts +37 -15
  10. package/esm/lib/components/banner.wrapper.mjs +3 -3
  11. package/esm/lib/components/button-pure.wrapper.d.ts +22 -0
  12. package/esm/lib/components/button-tile.wrapper.d.ts +20 -0
  13. package/esm/lib/components/button.wrapper.d.ts +14 -0
  14. package/esm/lib/components/canvas.wrapper.d.ts +6 -0
  15. package/esm/lib/components/carousel.wrapper.d.ts +22 -0
  16. package/esm/lib/components/checkbox.wrapper.d.ts +24 -0
  17. package/esm/lib/components/crest.wrapper.d.ts +2 -0
  18. package/esm/lib/components/display.wrapper.d.ts +8 -0
  19. package/esm/lib/components/divider.wrapper.d.ts +4 -0
  20. package/esm/lib/components/drilldown-item.wrapper.d.ts +6 -0
  21. package/esm/lib/components/drilldown-link.wrapper.d.ts +4 -0
  22. package/esm/lib/components/drilldown.wrapper.d.ts +2 -0
  23. package/esm/lib/components/fieldset.wrapper.d.ts +10 -0
  24. package/esm/lib/components/flag.wrapper.d.ts +4 -0
  25. package/esm/lib/components/flyout.wrapper.d.ts +12 -0
  26. package/esm/lib/components/heading.wrapper.d.ts +12 -0
  27. package/esm/lib/components/icon.wrapper.d.ts +6 -0
  28. package/esm/lib/components/inline-notification.wrapper.d.ts +14 -0
  29. package/esm/lib/components/input-date.wrapper.d.ts +24 -0
  30. package/esm/lib/components/input-email.wrapper.d.ts +28 -0
  31. package/esm/lib/components/input-month.wrapper.d.ts +24 -0
  32. package/esm/lib/components/input-number.wrapper.d.ts +28 -0
  33. package/esm/lib/components/input-password.wrapper.d.ts +26 -0
  34. package/esm/lib/components/input-search.wrapper.d.ts +28 -0
  35. package/esm/lib/components/input-tel.wrapper.d.ts +26 -0
  36. package/esm/lib/components/input-text.wrapper.d.ts +26 -0
  37. package/esm/lib/components/input-time.wrapper.d.ts +24 -0
  38. package/esm/lib/components/input-url.wrapper.d.ts +26 -0
  39. package/esm/lib/components/input-week.wrapper.d.ts +24 -0
  40. package/esm/lib/components/link-pure.wrapper.d.ts +18 -0
  41. package/esm/lib/components/link-tile-product.wrapper.d.ts +8 -0
  42. package/esm/lib/components/link-tile.wrapper.d.ts +14 -0
  43. package/esm/lib/components/link.wrapper.d.ts +10 -0
  44. package/esm/lib/components/modal.wrapper.d.ts +12 -0
  45. package/esm/lib/components/model-signature.wrapper.d.ts +12 -0
  46. package/esm/lib/components/multi-select-option.wrapper.d.ts +2 -0
  47. package/esm/lib/components/multi-select.wrapper.d.ts +20 -0
  48. package/esm/lib/components/optgroup.wrapper.d.ts +2 -0
  49. package/esm/lib/components/pagination.wrapper.d.ts +10 -0
  50. package/esm/lib/components/pin-code.wrapper.d.ts +24 -0
  51. package/esm/lib/components/popover.wrapper.d.ts +2 -0
  52. package/esm/lib/components/radio-group-option.wrapper.d.ts +4 -0
  53. package/esm/lib/components/radio-group.wrapper.d.ts +22 -0
  54. package/esm/lib/components/scroller.wrapper.d.ts +6 -0
  55. package/esm/lib/components/segmented-control-item.wrapper.d.ts +2 -0
  56. package/esm/lib/components/segmented-control.wrapper.d.ts +28 -0
  57. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  58. package/esm/lib/components/select-option.wrapper.d.ts +2 -0
  59. package/esm/lib/components/select.wrapper.d.ts +20 -0
  60. package/esm/lib/components/sheet.wrapper.d.ts +8 -0
  61. package/esm/lib/components/spinner.wrapper.d.ts +4 -0
  62. package/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -0
  63. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +2 -0
  64. package/esm/lib/components/switch.wrapper.d.ts +14 -0
  65. package/esm/lib/components/table-cell.wrapper.d.ts +2 -0
  66. package/esm/lib/components/table-head-cell.wrapper.d.ts +4 -0
  67. package/esm/lib/components/table.wrapper.d.ts +6 -0
  68. package/esm/lib/components/tabs-bar.wrapper.d.ts +6 -0
  69. package/esm/lib/components/tabs.wrapper.d.ts +8 -0
  70. package/esm/lib/components/tag-dismissible.wrapper.d.ts +2 -0
  71. package/esm/lib/components/tag.wrapper.d.ts +6 -0
  72. package/esm/lib/components/text-list.wrapper.d.ts +2 -0
  73. package/esm/lib/components/text.wrapper.d.ts +14 -0
  74. package/esm/lib/components/textarea.wrapper.d.ts +30 -0
  75. package/esm/lib/components/wordmark.wrapper.d.ts +4 -0
  76. package/esm/lib/types.d.ts +34 -25
  77. package/global-styles/cn/index.css +43 -39
  78. package/global-styles/color-scheme.css +24 -24
  79. package/global-styles/index.css +43 -39
  80. package/global-styles/variables.css +19 -15
  81. package/package.json +5 -3
  82. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1043 -847
  83. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +58 -84
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.cjs +4 -5
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +4 -4
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +18 -8
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -1
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -1
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +3 -2
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +13 -11
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +3 -1
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +4 -5
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.cjs +10 -0
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +5 -2
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -2
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +4 -2
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +8 -4
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +6 -5
  107. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
  108. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -6
  109. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
  110. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  111. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  112. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +4 -24
  113. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
  114. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +4 -2
  115. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1043 -848
  116. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +54 -83
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/hooks.mjs +1 -1
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.mjs +4 -5
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -4
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +18 -8
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +1 -1
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -4
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +14 -12
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +4 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +5 -6
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.mjs +8 -0
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +6 -3
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -2
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +5 -3
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +10 -6
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +7 -6
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +2 -7
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +4 -24
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +5 -3
  153. package/ssr/esm/lib/components/accordion.wrapper.d.ts +8 -0
  154. package/ssr/esm/lib/components/banner.wrapper.d.ts +37 -15
  155. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +22 -0
  156. package/ssr/esm/lib/components/button-tile.wrapper.d.ts +20 -0
  157. package/ssr/esm/lib/components/button.wrapper.d.ts +14 -0
  158. package/ssr/esm/lib/components/canvas.wrapper.d.ts +6 -0
  159. package/ssr/esm/lib/components/carousel.wrapper.d.ts +22 -0
  160. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +24 -0
  161. package/ssr/esm/lib/components/crest.wrapper.d.ts +2 -0
  162. package/ssr/esm/lib/components/display.wrapper.d.ts +8 -0
  163. package/ssr/esm/lib/components/divider.wrapper.d.ts +4 -0
  164. package/ssr/esm/lib/components/drilldown-item.wrapper.d.ts +6 -0
  165. package/ssr/esm/lib/components/drilldown-link.wrapper.d.ts +4 -0
  166. package/ssr/esm/lib/components/drilldown.wrapper.d.ts +2 -0
  167. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +10 -0
  168. package/ssr/esm/lib/components/flag.wrapper.d.ts +4 -0
  169. package/ssr/esm/lib/components/flyout.wrapper.d.ts +12 -0
  170. package/ssr/esm/lib/components/heading.wrapper.d.ts +12 -0
  171. package/ssr/esm/lib/components/icon.wrapper.d.ts +6 -0
  172. package/ssr/esm/lib/components/inline-notification.wrapper.d.ts +14 -0
  173. package/ssr/esm/lib/components/input-date.wrapper.d.ts +24 -0
  174. package/ssr/esm/lib/components/input-email.wrapper.d.ts +28 -0
  175. package/ssr/esm/lib/components/input-month.wrapper.d.ts +24 -0
  176. package/ssr/esm/lib/components/input-number.wrapper.d.ts +28 -0
  177. package/ssr/esm/lib/components/input-password.wrapper.d.ts +26 -0
  178. package/ssr/esm/lib/components/input-search.wrapper.d.ts +28 -0
  179. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +26 -0
  180. package/ssr/esm/lib/components/input-text.wrapper.d.ts +26 -0
  181. package/ssr/esm/lib/components/input-time.wrapper.d.ts +24 -0
  182. package/ssr/esm/lib/components/input-url.wrapper.d.ts +26 -0
  183. package/ssr/esm/lib/components/input-week.wrapper.d.ts +24 -0
  184. package/ssr/esm/lib/components/link-pure.wrapper.d.ts +18 -0
  185. package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +8 -0
  186. package/ssr/esm/lib/components/link-tile.wrapper.d.ts +14 -0
  187. package/ssr/esm/lib/components/link.wrapper.d.ts +10 -0
  188. package/ssr/esm/lib/components/modal.wrapper.d.ts +12 -0
  189. package/ssr/esm/lib/components/model-signature.wrapper.d.ts +12 -0
  190. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +2 -0
  191. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +20 -0
  192. package/ssr/esm/lib/components/optgroup.wrapper.d.ts +2 -0
  193. package/ssr/esm/lib/components/pagination.wrapper.d.ts +10 -0
  194. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +24 -0
  195. package/ssr/esm/lib/components/popover.wrapper.d.ts +2 -0
  196. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +4 -0
  197. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +22 -0
  198. package/ssr/esm/lib/components/scroller.wrapper.d.ts +6 -0
  199. package/ssr/esm/lib/components/segmented-control-item.wrapper.d.ts +2 -0
  200. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +28 -0
  201. package/ssr/esm/lib/components/select-option.wrapper.d.ts +2 -0
  202. package/ssr/esm/lib/components/select.wrapper.d.ts +20 -0
  203. package/ssr/esm/lib/components/sheet.wrapper.d.ts +8 -0
  204. package/ssr/esm/lib/components/spinner.wrapper.d.ts +4 -0
  205. package/ssr/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -0
  206. package/ssr/esm/lib/components/stepper-horizontal.wrapper.d.ts +2 -0
  207. package/ssr/esm/lib/components/switch.wrapper.d.ts +14 -0
  208. package/ssr/esm/lib/components/table-cell.wrapper.d.ts +2 -0
  209. package/ssr/esm/lib/components/table-head-cell.wrapper.d.ts +4 -0
  210. package/ssr/esm/lib/components/table.wrapper.d.ts +6 -0
  211. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +6 -0
  212. package/ssr/esm/lib/components/tabs.wrapper.d.ts +8 -0
  213. package/ssr/esm/lib/components/tag-dismissible.wrapper.d.ts +2 -0
  214. package/ssr/esm/lib/components/tag.wrapper.d.ts +6 -0
  215. package/ssr/esm/lib/components/text-list.wrapper.d.ts +2 -0
  216. package/ssr/esm/lib/components/text.wrapper.d.ts +14 -0
  217. package/ssr/esm/lib/components/textarea.wrapper.d.ts +30 -0
  218. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +4 -0
  219. package/ssr/esm/lib/dsr-components/accordion.d.ts +1 -0
  220. package/ssr/esm/lib/dsr-components/banner.d.ts +8 -4
  221. package/ssr/esm/lib/dsr-components/button-pure.d.ts +1 -0
  222. package/ssr/esm/lib/dsr-components/button-tile.d.ts +1 -0
  223. package/ssr/esm/lib/dsr-components/button.d.ts +1 -0
  224. package/ssr/esm/lib/dsr-components/canvas.d.ts +1 -0
  225. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  226. package/ssr/esm/lib/dsr-components/checkbox.d.ts +1 -0
  227. package/ssr/esm/lib/dsr-components/crest.d.ts +1 -0
  228. package/ssr/esm/lib/dsr-components/display.d.ts +1 -0
  229. package/ssr/esm/lib/dsr-components/divider.d.ts +1 -0
  230. package/ssr/esm/lib/dsr-components/drilldown-item.d.ts +1 -0
  231. package/ssr/esm/lib/dsr-components/drilldown-link.d.ts +1 -0
  232. package/ssr/esm/lib/dsr-components/drilldown.d.ts +1 -0
  233. package/ssr/esm/lib/dsr-components/fieldset.d.ts +1 -0
  234. package/ssr/esm/lib/dsr-components/flag.d.ts +1 -0
  235. package/ssr/esm/lib/dsr-components/flyout.d.ts +1 -0
  236. package/ssr/esm/lib/dsr-components/heading.d.ts +1 -0
  237. package/ssr/esm/lib/dsr-components/icon.d.ts +1 -0
  238. package/ssr/esm/lib/dsr-components/inline-notification.d.ts +4 -2
  239. package/ssr/esm/lib/dsr-components/input-base.d.ts +1 -0
  240. package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
  241. package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
  242. package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
  243. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  244. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  245. package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
  246. package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
  247. package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
  248. package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
  249. package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
  250. package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
  251. package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
  252. package/ssr/esm/lib/dsr-components/link-pure.d.ts +1 -0
  253. package/ssr/esm/lib/dsr-components/link-tile-product.d.ts +1 -0
  254. package/ssr/esm/lib/dsr-components/link-tile.d.ts +1 -0
  255. package/ssr/esm/lib/dsr-components/link.d.ts +1 -0
  256. package/ssr/esm/lib/dsr-components/modal.d.ts +1 -0
  257. package/ssr/esm/lib/dsr-components/model-signature.d.ts +1 -0
  258. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +1 -0
  259. package/ssr/esm/lib/dsr-components/multi-select.d.ts +1 -0
  260. package/ssr/esm/lib/dsr-components/notification-base.d.ts +14 -0
  261. package/ssr/esm/lib/dsr-components/optgroup.d.ts +1 -0
  262. package/ssr/esm/lib/dsr-components/pagination.d.ts +1 -0
  263. package/ssr/esm/lib/dsr-components/pin-code.d.ts +1 -0
  264. package/ssr/esm/lib/dsr-components/popover.d.ts +1 -0
  265. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +1 -0
  266. package/ssr/esm/lib/dsr-components/radio-group.d.ts +1 -0
  267. package/ssr/esm/lib/dsr-components/scroller.d.ts +1 -0
  268. package/ssr/esm/lib/dsr-components/segmented-control-item.d.ts +1 -0
  269. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +1 -0
  270. package/ssr/esm/lib/dsr-components/select-option.d.ts +1 -0
  271. package/ssr/esm/lib/dsr-components/select.d.ts +1 -0
  272. package/ssr/esm/lib/dsr-components/sheet.d.ts +1 -0
  273. package/ssr/esm/lib/dsr-components/spinner.d.ts +1 -0
  274. package/ssr/esm/lib/dsr-components/stepper-horizontal-item.d.ts +1 -0
  275. package/ssr/esm/lib/dsr-components/stepper-horizontal.d.ts +1 -0
  276. package/ssr/esm/lib/dsr-components/switch.d.ts +1 -0
  277. package/ssr/esm/lib/dsr-components/table-body.d.ts +1 -0
  278. package/ssr/esm/lib/dsr-components/table-cell.d.ts +1 -0
  279. package/ssr/esm/lib/dsr-components/table-head-cell.d.ts +1 -0
  280. package/ssr/esm/lib/dsr-components/table-head-row.d.ts +1 -0
  281. package/ssr/esm/lib/dsr-components/table-head.d.ts +1 -0
  282. package/ssr/esm/lib/dsr-components/table-row.d.ts +1 -0
  283. package/ssr/esm/lib/dsr-components/table.d.ts +1 -0
  284. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +1 -0
  285. package/ssr/esm/lib/dsr-components/tabs-item.d.ts +1 -0
  286. package/ssr/esm/lib/dsr-components/tabs.d.ts +1 -0
  287. package/ssr/esm/lib/dsr-components/tag-dismissible.d.ts +1 -0
  288. package/ssr/esm/lib/dsr-components/tag.d.ts +1 -0
  289. package/ssr/esm/lib/dsr-components/text-list-item.d.ts +1 -0
  290. package/ssr/esm/lib/dsr-components/text-list.d.ts +1 -0
  291. package/ssr/esm/lib/dsr-components/text.d.ts +1 -0
  292. package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
  293. package/ssr/esm/lib/dsr-components/toast.d.ts +1 -0
  294. package/ssr/esm/lib/dsr-components/wordmark.d.ts +1 -0
  295. package/ssr/esm/lib/types.d.ts +34 -25
  296. package/tailwindcss/index.css +350 -92
@@ -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$y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { getHasNativePopoverSupport, getComboboxAriaAttributes, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { getHasNativePopoverSupport, descriptionId, getComboboxAriaAttributes, labelId, getListboxAriaAttributes } 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';
@@ -61,16 +61,15 @@ class DSRMultiSelect extends Component {
61
61
  this.props.setFormValue(this.props.defaultValue);
62
62
  }
63
63
  render() {
64
- const { namedSlotChildren} = splitChildren(this.props.children);
64
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
65
65
  const hasCustomFilterSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'filter').length > 0;
66
66
  const hasCustomSelectedSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'selected').length > 0;
67
67
  const buttonId = 'button';
68
- const popoverId = 'list';
69
- const descriptionId = this.props.description ? 'description' : undefined;
68
+ const listboxId = 'listbox';
69
+ const selectDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
70
70
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
71
- const ariaDescribedBy = [descriptionId, selectMessageId].filter(Boolean).join(' ');
72
71
  const style = minifyCss(getComponentCss$y(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact));
73
- 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, disabled: this.props.disabled, children: "Reset selection" })), jsx(PIcon, { className: "icon", name: "arrow-head-down", color: "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, 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, 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, tabIndex: 0, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, listboxId), 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, disabled: this.props.disabled, children: "Reset selection" })), jsx(PIcon, { className: "icon", name: "arrow-head-down", color: "primary", "aria-hidden": "true" })] }), jsxs("div", { popover: "manual", tabIndex: 0, 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, onBlur: (e) => e.stopPropagation() })), jsxs("div", { id: listboxId, className: "options", ...getListboxAriaAttributes(this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, true), onPointerMove: this.props.onPointerMove, onBlur: (e) => e.stopPropagation(), 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, host: null })] })] }), this.props.children] }));
74
73
  }
75
74
  }
76
75
 
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ const NotificationBase = ({ heading, headingTag, hasHeadingSlot, description, hasDescriptionSlot, innerHTML, actionLabel, dismissButton, ...rest }) => {
4
+ const Heading = headingTag;
5
+ return (jsxs("div", { className: "notification", ...rest, children: [heading ? jsx(Heading, { children: heading }) : hasHeadingSlot && jsx("slot", { name: "heading" }), description ? (innerHTML ? (jsx("p", { dangerouslySetInnerHTML: { __html: description } })) : (jsx("p", { children: description }))) : hasDescriptionSlot ? (jsx("slot", { name: "description" })) : (jsx("slot", {})), actionLabel, dismissButton] }));
6
+ };
7
+
8
+ export { NotificationBase };
@@ -4,7 +4,7 @@ import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getPinCodeCss as getComponentCss$w } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { labelId, descriptionId, getFieldsetAriaAttributes, isCurrentInput } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { labelId, descriptionId, getFieldsetAriaAttributes, setAriaIDREF, isCurrentInput } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { loadingId, LoadingMessage } from './loading-message.mjs';
9
9
  import { Label } from './label.mjs';
10
10
  import { messageId, StateMessage } from './state-message.mjs';
@@ -35,12 +35,15 @@ class DSRPinCode extends Component {
35
35
  formStateRestoreCallback() {
36
36
  }
37
37
  render() {
38
- const { namedSlotChildren} = splitChildren(this.props.children);
38
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
39
39
  // reset array of input elements
40
40
  this.inputElements = [];
41
41
  const currentInputId = 'current-input';
42
+ const inputLabelId = (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : undefined;
43
+ const inputDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
44
+ const inputMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
42
45
  const style = minifyCss(getComponentCss$w(this.props.hideLabel, this.props.state, this.props.disabled, this.props.loading, this.props.length, this.props.compact));
43
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-describedby": this.props.loading ? loadingId : `${descriptionId} ${messageId}`, "aria-labelledby": labelId, 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: currentInputId, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", dir: "ltr", children: [Array.from(new Array(this.props.length), (_, index) => (jsx("input", { name: this.props.name, form: this.props.form, ...(isCurrentInput(index, this.props.value, this.props.length) && { id: currentInputId }), type: this.props.type === 'number' ? 'text' : this.props.type, "aria-label": `${index + 1}-${this.props.length}`, "aria-describedby": `${labelId} ${descriptionId} ${messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
46
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-describedby": setAriaIDREF(this.props.loading && loadingId, inputMessageId, inputDescriptionId), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : null, 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: currentInputId, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", dir: "ltr", children: [Array.from(new Array(this.props.length), (_, index) => (jsx("input", { name: this.props.name, form: this.props.form, ...(isCurrentInput(index, this.props.value, this.props.length) && { id: currentInputId }), type: this.props.type === 'number' ? 'text' : this.props.type, "aria-label": `${index + 1}-${this.props.length}`, "aria-describedby": setAriaIDREF(inputLabelId, inputMessageId), "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
44
47
  , defaultValue: this.props.value[index] === ' ' ? null : this.props.value[index], disabled: this.props.disabled, required: this.props.required, onBlur: this.props.onInputBlur }, index))), this.props.loading && jsx(PSpinner, { className: "spinner", size: "inherit", "aria-hidden": "true" })] }), 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, host: null }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
45
48
  }
46
49
  }
@@ -23,7 +23,7 @@ class DSRPopover extends Component {
23
23
  // TODO: This should be updated when slot is changed
24
24
  hasSlottedButton;
25
25
  render() {
26
- const { namedSlotChildren} = splitChildren(this.props.children);
26
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
27
27
  const hasSlottedButton = namedSlotChildren.filter(({ props: { slot } }) => slot === 'button').length > 0;
28
28
  const style = minifyCss(getComponentCss$v()).replace(/(:host {[\S\s]+?})[\S\s]+(button {[\S\s]+?})[\S\s]+(.icon {[\S\s]+?})[\S\s]+(.label {[\S\s]+?})[\S\s]+/, '$1\n$2\n$3\n$4');
29
29
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [hasSlottedButton ? (jsx("slot", { name: "button" })) : (jsxs("button", { type: "button", ...parseAndGetAriaAttributes({
@@ -6,7 +6,6 @@ import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getRadioGroupOptionCss as getComponentCss$u } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { loadingId, LoadingMessage } from './loading-message.mjs';
8
8
  import { Label } from './label.mjs';
9
- import { messageId } from './state-message.mjs';
10
9
  import { PSpinner } from '../components/spinner.wrapper.mjs';
11
10
 
12
11
  // Though "description" and "message" slots are technically available (provided by the "label" component),
@@ -29,7 +28,7 @@ class DSRRadioGroupOption extends Component {
29
28
  const style = minifyCss(getComponentCss$u(isDisabled, isLoading, state));
30
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: [jsxs("div", { className: "wrapper", children: [jsx("input", { id: id, type: "radio", name: name, checked: isSelected, disabled: isDisabled || isLoading, value: this.props.value, onClick: (e) => {
31
30
  e.stopPropagation();
32
- }, 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", "aria-hidden": "true" }))] }), jsx(Label, { hasLabel: this.props.label, hasDescription: false, host: null, label: this.props.label, htmlFor: id, isDisabled: isDisabled, isLoading: isLoading, stopClickPropagation: true }), !this.props.loadingParent && (jsx(LoadingMessage, { loading: isOptionLoading, initialLoading: this.props.initialLoading }))] }) })] }), this.props.children] }));
31
+ }, onBlur: this.props.onBlur, "aria-describedby": isLoading ? loadingId : null, "aria-invalid": state === 'error' ? 'true' : null, "aria-disabled": isDisabled || isLoading ? 'true' : null }), isOptionLoading && !this.props.loadingParent && (jsx(PSpinner, { className: "spinner", "aria-hidden": "true" }))] }), jsx(Label, { hasLabel: this.props.label, hasDescription: false, host: null, label: this.props.label, htmlFor: id, isDisabled: isDisabled, isLoading: isLoading, stopClickPropagation: true }), !this.props.loadingParent && (jsx(LoadingMessage, { loading: isOptionLoading, initialLoading: this.props.initialLoading }))] }) })] }), this.props.children] }));
33
32
  }
34
33
  }
35
34
 
@@ -4,7 +4,7 @@ import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getRadioGroupCss as getComponentCss$t } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { labelId, descriptionId, getFieldsetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { descriptionId, getFieldsetAriaAttributes, setAriaIDREF, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { loadingId, LoadingMessage } from './loading-message.mjs';
9
9
  import { Label } from './label.mjs';
10
10
  import { messageId, StateMessage } from './state-message.mjs';
@@ -35,9 +35,11 @@ class DSRRadioGroup extends Component {
35
35
  formStateRestoreCallback() {
36
36
  }
37
37
  render() {
38
- const { namedSlotChildren} = splitChildren(this.props.children);
38
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
39
+ const inputDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
40
+ const inputMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
39
41
  const style = minifyCss(getComponentCss$t(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.direction));
40
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error', { role: 'radiogroup' }), "aria-describedby": this.props.loading ? loadingId : `${descriptionId} ${messageId}`, "aria-labelledby": labelId, 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: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), this.props.loading && jsx(PSpinner, { className: "spinner", "aria-hidden": "true" })] }), 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, host: null }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
42
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error', { role: 'radiogroup' }), "aria-describedby": setAriaIDREF(this.props.loading && loadingId, inputMessageId, inputDescriptionId), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : null, 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: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), this.props.loading && jsx(PSpinner, { className: "spinner", "aria-hidden": "true" })] }), 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, host: null }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
41
43
  }
42
44
  }
43
45
 
@@ -13,7 +13,7 @@ import { PIcon } from '../components/icon.wrapper.mjs';
13
13
  class DSRSegmentedControlItem extends Component {
14
14
  host;
15
15
  render() {
16
- const { children} = splitChildren(this.props.children);
16
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
17
17
  // this additional validation is still needed because undefined is allowed with current propTypes
18
18
  const hasIcon = !!this.props.icon || !!this.props.iconSource;
19
19
  const hasSlottedContent = !!children.length;
@@ -1,11 +1,13 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { splitChildren } from '../../splitChildren.mjs';
3
2
  import { Component } from 'react';
3
+ import '../../provider.mjs';
4
+ import { splitChildren } from '../../splitChildren.mjs';
4
5
  import { minifyCss } from '../../minifyCss.mjs';
5
6
  import { getSegmentedControlCss as getComponentCss$q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
- import { descriptionId, labelId, getFieldsetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { descriptionId, getFieldsetAriaAttributes, labelId, setAriaIDREF } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
8
  import { Label } from './label.mjs';
8
- import { StateMessage } from './state-message.mjs';
9
+ import { messageId, StateMessage } from './state-message.mjs';
10
+ import { PScroller } from '../components/scroller.wrapper.mjs';
9
11
 
10
12
  /**
11
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."}
@@ -33,9 +35,11 @@ class DSRSegmentedControl extends Component {
33
35
  const manipulatedChildren = children.map((child) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
34
36
  ? { ...child, props: { ...child.props, selected: child.props?.value === this.props.value, backgroundColor: this.props.backgroundColor, theme: this.props.theme } }
35
37
  : child);
36
- const { minWidth, maxWidth } = { minWidth: 100, maxWidth: 100 };
37
- const style = minifyCss(getComponentCss$q(minWidth, maxWidth, this.props.columns, this.props.disabled, this.props.hideLabel, this.props.state));
38
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-labelledby": labelId, "aria-describedby": descriptionId, 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: "div", 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, host: null })] })] }), manipulatedChildren] }));
38
+ const itemWidths = this.props.noWrap ? undefined : { minWidth: 100, maxWidth: 100 };
39
+ const fieldDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
40
+ const fieldMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
41
+ const style = minifyCss(getComponentCss$q(itemWidths?.minWidth, itemWidths?.maxWidth, this.props.columns, this.props.disabled, this.props.hideLabel, this.props.state, this.props.noWrap));
42
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : null, "aria-describedby": setAriaIDREF(fieldMessageId, fieldDescriptionId), 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: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.noWrap ? (jsx(PScroller, { className: "scroller", children: jsx("slot", {}) })) : (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, host: null })] })] }), manipulatedChildren] }));
39
43
  }
40
44
  }
41
45
 
@@ -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$o } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { getHasNativePopoverSupport, getComboboxAriaAttributes, labelId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
+ import { getHasNativePopoverSupport, descriptionId, getComboboxAriaAttributes, labelId, getListboxAriaAttributes } 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';
@@ -57,16 +57,17 @@ class DSRSelect extends Component {
57
57
  this.props.internals?.setFormValue(this.props.defaultValue);
58
58
  }
59
59
  render() {
60
- const { namedSlotChildren} = splitChildren(this.props.children);
60
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
61
61
  const hasCustomFilterSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'filter').length > 0;
62
62
  const hasCustomSelectedSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'selected').length > 0;
63
63
  const buttonId = 'button';
64
- const popoverId = 'list';
65
- const descriptionId = this.props.description ? 'description' : undefined;
64
+ const listboxId = 'listbox';
65
+ const selectDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
66
66
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
67
- const ariaDescribedBy = [descriptionId, selectMessageId].filter(Boolean).join(' ');
68
67
  const style = minifyCss(getComponentCss$o(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact));
69
- 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", color: "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, 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, 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,
69
+ // only needed for Safari to recognize focus state on click
70
+ tabIndex: 0, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, listboxId), "aria-autocomplete": "none", 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", color: "primary", "aria-hidden": "true" })] }), jsxs("div", { popover: "manual", tabIndex: 0, children: [this.props.filter && !hasCustomFilterSlot && (jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, onBlur: (e) => e.stopPropagation() })), hasCustomFilterSlot && jsx("slot", { name: "filter" }), jsxs("div", { id: listboxId, className: "options", ...getListboxAriaAttributes(this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, false), tabIndex: -1, onPointerMove: this.props.onPointerMove, onBlur: (e) => e.stopPropagation(), 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, host: null })] })] }), this.props.children] }));
70
71
  }
71
72
  }
72
73
 
@@ -19,7 +19,7 @@ class DSRSheet extends Component {
19
19
  scroller;
20
20
  hasHeader;
21
21
  render() {
22
- const { namedSlotChildren} = splitChildren(this.props.children);
22
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
23
23
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
24
24
  if (this.props.open) ;
25
25
  const style = minifyCss(getComponentCss$n(this.props.open, this.props.background, this.props.dismissButton));
@@ -1,4 +1,4 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import 'react';
3
3
  import '../../provider.mjs';
4
4
  import { PIcon } from '../components/icon.wrapper.mjs';
@@ -6,12 +6,7 @@ import { PIcon } from '../components/icon.wrapper.mjs';
6
6
  const messageId = 'message';
7
7
  const StateMessage = ({ hasMessage, state, message }) => {
8
8
  const isErrorState = state === 'error';
9
- return (
10
- // needs to be rendered always to have correct behaviour for screen readers
11
- jsx("span", { id: messageId, className: "message", role: state === 'success' ? 'status' : 'alert', children: hasMessage && [
12
- jsx(PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'error' : 'success', "aria-hidden": "true" }),
13
- message || jsx("slot", { name: "message" }),
14
- ] }));
9
+ return (jsx("span", { id: messageId, className: "message", role: state === 'success' ? 'status' : 'alert', children: hasMessage && (jsxs(Fragment, { children: [jsx(PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'error' : 'success', "aria-hidden": "true" }), message || jsx("slot", { name: "message" })] })) }));
15
10
  };
16
11
 
17
12
  export { StateMessage, messageId };
@@ -16,7 +16,7 @@ class DSRStepperHorizontal extends Component {
16
16
  slot;
17
17
  resizeObserver;
18
18
  render() {
19
- const { children, otherChildren } = splitChildren(this.props.children);
19
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
20
20
  const manipulatedChildren = children.map((child) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
21
21
  ? { ...child, props: { ...child.props, theme: this.props.theme } }
22
22
  : child);
@@ -21,7 +21,7 @@ class DSRSwitch extends Component {
21
21
  const id = 'x';
22
22
  const style = minifyCss(getComponentCss$j(this.props.alignLabel, this.props.hideLabel, this.props.stretch, this.props.checked, this.props.disabled, this.props.loading, this.props.compact));
23
23
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx("button", { ...getSwitchButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.checked), id: id, type: "button", role: "switch", "aria-labelledby": "label" // only relevant for axe-core because of https://github.com/dequelabs/axe-core/issues/1393
24
- , "aria-describedby": this.props.loading ? loadingId : undefined, children: jsx("span", { className: "toggle", children: this.props.loading && jsx(PSpinner, { className: "spinner", "aria-hidden": "true" }) }) }), jsx("label", { id: "label", htmlFor: id, children: jsx("slot", {}) }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
24
+ , "aria-describedby": this.props.loading ? loadingId : null, children: jsx("span", { className: "toggle", children: this.props.loading && jsx(PSpinner, { className: "spinner", "aria-hidden": "true" }) }) }), jsx("label", { id: "label", htmlFor: id, children: jsx("slot", {}) }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
25
25
  }
26
26
  }
27
27
 
@@ -13,7 +13,7 @@ import { PScroller } from '../components/scroller.wrapper.mjs';
13
13
  class DSRTable extends Component {
14
14
  host;
15
15
  render() {
16
- const { namedSlotChildren} = splitChildren(this.props.children);
16
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
17
17
  const hasSlottedCaption = namedSlotChildren.filter(({ props: { slot } }) => slot === 'caption').length > 0;
18
18
  const captionId = 'caption';
19
19
  const tableAttr = this.props.caption
@@ -4,6 +4,7 @@ import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
6
  import { getTabsBarCss as getComponentCss$b } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
+ import { getSanitizedActiveTabIndex } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
8
  import { PScroller } from '../components/scroller.wrapper.mjs';
8
9
 
9
10
  /**
@@ -21,30 +22,9 @@ class DSRTabsBar extends Component {
21
22
  isTabList;
22
23
  resizeObserver;
23
24
  render() {
24
- const { children, otherChildren } = splitChildren(this.props.children);
25
- const manipulatedChildren = children.map((child, i) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
26
- ? child.type === 'button'
27
- ? {
28
- ...child,
29
- props: {
30
- ...child.props,
31
- role: 'tab',
32
- tabIndex: (this.props.activeTabIndex || 0) === i ? '0' : '-1',
33
- 'aria-selected': this.props.activeTabIndex === i ? 'true' : 'false',
34
- },
35
- }
36
- : child.type === 'a'
37
- ? {
38
- ...child,
39
- props: {
40
- ...child.props,
41
- 'aria-current': this.props.activeTabIndex === i ? 'true' : 'false',
42
- },
43
- }
44
- : child
45
- : child);
46
- const style = minifyCss(getComponentCss$b(this.props.background, this.props.size, this.props.compact));
47
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && { aria: { role: 'tablist' } }), children: [jsx("slot", {}), jsx("span", { className: "bar" })] })] }), manipulatedChildren] }));
25
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
26
+ const style = minifyCss(getComponentCss$b(this.props.background, this.props.size, this.props.compact, getSanitizedActiveTabIndex(this.props.activeTabIndex, children)));
27
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && { aria: { role: 'tablist' } }), children: [jsx("slot", {}), jsx("span", { className: "bar" })] })] }), this.props.children] }));
48
28
  }
49
29
  }
50
30
 
@@ -16,7 +16,7 @@ class DSRTabs extends Component {
16
16
  tabsItems = [];
17
17
  slot;
18
18
  render() {
19
- const { children, otherChildren } = splitChildren(this.props.children);
19
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
20
20
  const manipulatedChildren = children.map((child, i) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
21
21
  ? { ...child, props: { ...child.props, theme: this.props.theme, hidden: this.props.activeTabIndex !== i ? true : null } }
22
22
  : child);
@@ -3,7 +3,7 @@ import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
5
  import { getTextareaCss as getComponentCss$3 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
- import { descriptionId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
6
+ import { descriptionId, setAriaIDREF } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
  import { Label } from './label.mjs';
8
8
  import { messageId, StateMessage } from './state-message.mjs';
9
9
 
@@ -29,10 +29,12 @@ class DSRTextarea extends Component {
29
29
  formStateRestoreCallback() {
30
30
  }
31
31
  render() {
32
- const { namedSlotChildren} = splitChildren(this.props.children);
32
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
33
33
  const id = 'textarea';
34
+ const textareaDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
35
+ const textareaMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
34
36
  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));
35
- 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
37
+ 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": setAriaIDREF(textareaMessageId, textareaDescriptionId), "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
36
38
  ? `You have ${this.props.maxLength - this.props.value.length} out of ${this.props.maxLength} characters left`
37
39
  : `${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, host: null })] })] }), this.props.children] }));
38
40
  }
@@ -3,10 +3,12 @@ import type { AccordionAlignMarker, AccordionBackground, AccordionHeadingTag, Ac
3
3
  export type PAccordionProps = BaseProps & {
4
4
  /**
5
5
  * Aligns the marker within the summary section.
6
+ * @default 'end'
6
7
  */
7
8
  alignMarker?: AccordionAlignMarker;
8
9
  /**
9
10
  * Defines the background color. Use `frosted` only on images, videos or gradients.
11
+ * @default 'none'
10
12
  */
11
13
  background?: AccordionBackground;
12
14
  /**
@@ -19,6 +21,7 @@ export type PAccordionProps = BaseProps & {
19
21
  heading?: string;
20
22
  /**
21
23
  * @deprecated Will be removed in the next major release. Use the `summary` slot instead. Sets the heading tag for proper semantic structure within the page.
24
+ * @default 'h2'
22
25
  */
23
26
  headingTag?: AccordionHeadingTag;
24
27
  /**
@@ -31,6 +34,7 @@ export type PAccordionProps = BaseProps & {
31
34
  open?: boolean;
32
35
  /**
33
36
  * @deprecated Will be removed in the next major release. Use the `summary` slot instead. Controls the heading size in the summary section (only applies when using the `heading` prop or `heading` slot).
37
+ * @default 'small'
34
38
  */
35
39
  size?: BreakpointCustomizable<AccordionSize>;
36
40
  /**
@@ -41,10 +45,12 @@ export type PAccordionProps = BaseProps & {
41
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"> & {
42
46
  /**
43
47
  * Aligns the marker within the summary section.
48
+ * @default 'end'
44
49
  */
45
50
  alignMarker?: AccordionAlignMarker;
46
51
  /**
47
52
  * Defines the background color. Use `frosted` only on images, videos or gradients.
53
+ * @default 'none'
48
54
  */
49
55
  background?: AccordionBackground;
50
56
  /**
@@ -57,6 +63,7 @@ export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<
57
63
  heading?: string;
58
64
  /**
59
65
  * @deprecated Will be removed in the next major release. Use the `summary` slot instead. Sets the heading tag for proper semantic structure within the page.
66
+ * @default 'h2'
60
67
  */
61
68
  headingTag?: AccordionHeadingTag;
62
69
  /**
@@ -69,6 +76,7 @@ export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<
69
76
  open?: boolean;
70
77
  /**
71
78
  * @deprecated Will be removed in the next major release. Use the `summary` slot instead. Controls the heading size in the summary section (only applies when using the `heading` prop or `heading` slot).
79
+ * @default 'small'
72
80
  */
73
81
  size?: BreakpointCustomizable<AccordionSize>;
74
82
  /**
@@ -1,62 +1,84 @@
1
1
  import type { BaseProps } from '../../BaseProps';
2
- import type { BannerHeadingTag, BannerState } from '../types';
2
+ import type { BannerHeadingTag, BreakpointCustomizable, BannerPosition, BannerState } from '../types';
3
3
  export type PBannerProps = BaseProps & {
4
4
  /**
5
- * Description of the banner.
5
+ * Sets the description text of the banner.
6
+ * @default ''
6
7
  */
7
8
  description?: string;
8
9
  /**
9
- * If false, the banner will not have a dismiss button.
10
+ * Shows a dismiss button allowing the banner to be closed.
11
+ * @default true
10
12
  */
11
13
  dismissButton?: boolean;
12
14
  /**
13
- * Heading of the banner.
15
+ * Sets the heading text of the banner.
16
+ * @default ''
14
17
  */
15
18
  heading?: string;
16
19
  /**
17
- * Sets a heading tag, so it fits correctly within the outline of the page.
20
+ * Sets the heading tag for proper semantic structure within the page.
21
+ * @default 'h5'
18
22
  */
19
23
  headingTag?: BannerHeadingTag;
20
24
  /**
21
- * Emitted when the close button is clicked.
25
+ * Emitted when the banner is requested to be dismissed.
22
26
  */
23
27
  onDismiss?: (event: CustomEvent<void>) => void;
24
28
  /**
25
- * If true, the banner is open.
29
+ * Controls whether the banner is open or closed.
30
+ * @default false
26
31
  */
27
32
  open: boolean;
28
33
  /**
29
- * State of the banner.
34
+ * Sets the position of the banner.
35
+ * @default { base: 'bottom', s: 'top' }
36
+ */
37
+ position?: BreakpointCustomizable<BannerPosition>;
38
+ /**
39
+ * Defines the visual state of the banner.
40
+ * @default 'info'
30
41
  */
31
42
  state?: BannerState;
32
43
  };
33
44
  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"> & {
34
45
  /**
35
- * Description of the banner.
46
+ * Sets the description text of the banner.
47
+ * @default ''
36
48
  */
37
49
  description?: string;
38
50
  /**
39
- * If false, the banner will not have a dismiss button.
51
+ * Shows a dismiss button allowing the banner to be closed.
52
+ * @default true
40
53
  */
41
54
  dismissButton?: boolean;
42
55
  /**
43
- * Heading of the banner.
56
+ * Sets the heading text of the banner.
57
+ * @default ''
44
58
  */
45
59
  heading?: string;
46
60
  /**
47
- * Sets a heading tag, so it fits correctly within the outline of the page.
61
+ * Sets the heading tag for proper semantic structure within the page.
62
+ * @default 'h5'
48
63
  */
49
64
  headingTag?: BannerHeadingTag;
50
65
  /**
51
- * Emitted when the close button is clicked.
66
+ * Emitted when the banner is requested to be dismissed.
52
67
  */
53
68
  onDismiss?: (event: CustomEvent<void>) => void;
54
69
  /**
55
- * If true, the banner is open.
70
+ * Controls whether the banner is open or closed.
71
+ * @default false
56
72
  */
57
73
  open: boolean;
58
74
  /**
59
- * State of the banner.
75
+ * Sets the position of the banner.
76
+ * @default { base: 'bottom', s: 'top' }
77
+ */
78
+ position?: BreakpointCustomizable<BannerPosition>;
79
+ /**
80
+ * Defines the visual state of the banner.
81
+ * @default 'info'
60
82
  */
61
83
  state?: BannerState;
62
84
  } & {