@porsche-design-system/components-react 3.8.0 → 3.9.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CHANGELOG.md +44 -2
  2. package/cjs/hooks.cjs +9 -0
  3. package/cjs/lib/components/accordion.wrapper.cjs +2 -2
  4. package/cjs/lib/components/banner.wrapper.cjs +2 -2
  5. package/cjs/lib/components/button-pure.wrapper.cjs +3 -3
  6. package/cjs/lib/components/button.wrapper.cjs +3 -3
  7. package/cjs/lib/components/carousel.wrapper.cjs +2 -2
  8. package/cjs/lib/components/checkbox-wrapper.wrapper.cjs +2 -2
  9. package/cjs/lib/components/content-wrapper.wrapper.cjs +2 -2
  10. package/cjs/lib/components/display.wrapper.cjs +2 -2
  11. package/cjs/lib/components/divider.wrapper.cjs +2 -2
  12. package/cjs/lib/components/fieldset-wrapper.wrapper.cjs +2 -2
  13. package/cjs/lib/components/fieldset.wrapper.cjs +2 -2
  14. package/cjs/lib/components/flyout.wrapper.cjs +2 -2
  15. package/cjs/lib/components/heading.wrapper.cjs +2 -2
  16. package/cjs/lib/components/headline.wrapper.cjs +2 -2
  17. package/cjs/lib/components/icon.wrapper.cjs +2 -2
  18. package/cjs/lib/components/inline-notification.wrapper.cjs +2 -2
  19. package/cjs/lib/components/link-pure.wrapper.cjs +2 -2
  20. package/cjs/lib/components/link-social.wrapper.cjs +2 -2
  21. package/cjs/lib/components/link.wrapper.cjs +2 -2
  22. package/cjs/lib/components/modal.wrapper.cjs +2 -2
  23. package/cjs/lib/components/model-signature.wrapper.cjs +2 -2
  24. package/cjs/lib/components/multi-select.wrapper.cjs +2 -2
  25. package/cjs/lib/components/pagination.wrapper.cjs +2 -2
  26. package/cjs/lib/components/pin-code.wrapper.cjs +2 -2
  27. package/cjs/lib/components/popover.wrapper.cjs +2 -2
  28. package/cjs/lib/components/radio-button-wrapper.wrapper.cjs +2 -2
  29. package/cjs/lib/components/scroller.wrapper.cjs +2 -2
  30. package/cjs/lib/components/segmented-control.wrapper.cjs +2 -2
  31. package/cjs/lib/components/select-wrapper.wrapper.cjs +2 -2
  32. package/cjs/lib/components/spinner.wrapper.cjs +2 -2
  33. package/cjs/lib/components/stepper-horizontal.wrapper.cjs +2 -2
  34. package/cjs/lib/components/switch.wrapper.cjs +2 -2
  35. package/cjs/lib/components/table.wrapper.cjs +2 -2
  36. package/cjs/lib/components/tabs-bar.wrapper.cjs +2 -2
  37. package/cjs/lib/components/tabs.wrapper.cjs +2 -2
  38. package/cjs/lib/components/tag-dismissible.wrapper.cjs +2 -2
  39. package/cjs/lib/components/tag.wrapper.cjs +2 -2
  40. package/cjs/lib/components/text-field-wrapper.wrapper.cjs +2 -2
  41. package/cjs/lib/components/text-list.wrapper.cjs +2 -2
  42. package/cjs/lib/components/text.wrapper.cjs +2 -2
  43. package/cjs/lib/components/textarea-wrapper.wrapper.cjs +2 -2
  44. package/cjs/lib/components/toast.wrapper.cjs +4 -3
  45. package/cjs/lib/components/wordmark.wrapper.cjs +2 -2
  46. package/cjs/provider.cjs +3 -2
  47. package/esm/hooks.d.ts +2 -1
  48. package/esm/hooks.mjs +9 -1
  49. package/esm/lib/components/accordion.wrapper.d.ts +1 -1
  50. package/esm/lib/components/accordion.wrapper.mjs +3 -3
  51. package/esm/lib/components/banner.wrapper.d.ts +1 -1
  52. package/esm/lib/components/banner.wrapper.mjs +3 -3
  53. package/esm/lib/components/button-pure.wrapper.d.ts +19 -3
  54. package/esm/lib/components/button-pure.wrapper.mjs +4 -4
  55. package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  56. package/esm/lib/components/button.wrapper.d.ts +17 -1
  57. package/esm/lib/components/button.wrapper.mjs +4 -4
  58. package/esm/lib/components/carousel.wrapper.d.ts +1 -1
  59. package/esm/lib/components/carousel.wrapper.mjs +3 -3
  60. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  61. package/esm/lib/components/checkbox-wrapper.wrapper.mjs +3 -3
  62. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  63. package/esm/lib/components/content-wrapper.wrapper.mjs +3 -3
  64. package/esm/lib/components/display.wrapper.d.ts +2 -2
  65. package/esm/lib/components/display.wrapper.mjs +3 -3
  66. package/esm/lib/components/divider.wrapper.d.ts +1 -1
  67. package/esm/lib/components/divider.wrapper.mjs +3 -3
  68. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  69. package/esm/lib/components/fieldset-wrapper.wrapper.mjs +3 -3
  70. package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  71. package/esm/lib/components/fieldset.wrapper.mjs +3 -3
  72. package/esm/lib/components/flex-item.wrapper.d.ts +1 -1
  73. package/esm/lib/components/flyout.wrapper.d.ts +1 -1
  74. package/esm/lib/components/flyout.wrapper.mjs +3 -3
  75. package/esm/lib/components/heading.wrapper.d.ts +2 -2
  76. package/esm/lib/components/heading.wrapper.mjs +3 -3
  77. package/esm/lib/components/headline.wrapper.d.ts +1 -1
  78. package/esm/lib/components/headline.wrapper.mjs +3 -3
  79. package/esm/lib/components/icon.wrapper.d.ts +3 -3
  80. package/esm/lib/components/icon.wrapper.mjs +3 -3
  81. package/esm/lib/components/inline-notification.wrapper.d.ts +2 -2
  82. package/esm/lib/components/inline-notification.wrapper.mjs +3 -3
  83. package/esm/lib/components/link-pure.wrapper.d.ts +3 -3
  84. package/esm/lib/components/link-pure.wrapper.mjs +3 -3
  85. package/esm/lib/components/link-social.wrapper.d.ts +1 -1
  86. package/esm/lib/components/link-social.wrapper.mjs +3 -3
  87. package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  88. package/esm/lib/components/link.wrapper.d.ts +1 -1
  89. package/esm/lib/components/link.wrapper.mjs +3 -3
  90. package/esm/lib/components/modal.wrapper.d.ts +1 -1
  91. package/esm/lib/components/modal.wrapper.mjs +3 -3
  92. package/esm/lib/components/model-signature.wrapper.d.ts +2 -2
  93. package/esm/lib/components/model-signature.wrapper.mjs +3 -3
  94. package/esm/lib/components/multi-select.wrapper.d.ts +1 -1
  95. package/esm/lib/components/multi-select.wrapper.mjs +3 -3
  96. package/esm/lib/components/pagination.wrapper.d.ts +1 -1
  97. package/esm/lib/components/pagination.wrapper.mjs +3 -3
  98. package/esm/lib/components/pin-code.wrapper.d.ts +2 -2
  99. package/esm/lib/components/pin-code.wrapper.mjs +3 -3
  100. package/esm/lib/components/popover.wrapper.d.ts +1 -1
  101. package/esm/lib/components/popover.wrapper.mjs +3 -3
  102. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +1 -1
  103. package/esm/lib/components/radio-button-wrapper.wrapper.mjs +3 -3
  104. package/esm/lib/components/scroller.wrapper.d.ts +3 -3
  105. package/esm/lib/components/scroller.wrapper.mjs +3 -3
  106. package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
  107. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  108. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  109. package/esm/lib/components/select-wrapper.wrapper.mjs +3 -3
  110. package/esm/lib/components/spinner.wrapper.d.ts +2 -2
  111. package/esm/lib/components/spinner.wrapper.mjs +3 -3
  112. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  113. package/esm/lib/components/stepper-horizontal.wrapper.mjs +3 -3
  114. package/esm/lib/components/switch.wrapper.d.ts +1 -1
  115. package/esm/lib/components/switch.wrapper.mjs +3 -3
  116. package/esm/lib/components/table.wrapper.d.ts +1 -1
  117. package/esm/lib/components/table.wrapper.mjs +3 -3
  118. package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  119. package/esm/lib/components/tabs-bar.wrapper.mjs +3 -3
  120. package/esm/lib/components/tabs.wrapper.d.ts +1 -1
  121. package/esm/lib/components/tabs.wrapper.mjs +3 -3
  122. package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
  123. package/esm/lib/components/tag-dismissible.wrapper.mjs +3 -3
  124. package/esm/lib/components/tag.wrapper.d.ts +2 -2
  125. package/esm/lib/components/tag.wrapper.mjs +3 -3
  126. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  127. package/esm/lib/components/text-field-wrapper.wrapper.mjs +3 -3
  128. package/esm/lib/components/text-list.wrapper.d.ts +1 -1
  129. package/esm/lib/components/text-list.wrapper.mjs +3 -3
  130. package/esm/lib/components/text.wrapper.d.ts +4 -4
  131. package/esm/lib/components/text.wrapper.mjs +3 -3
  132. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  133. package/esm/lib/components/textarea-wrapper.wrapper.mjs +3 -3
  134. package/esm/lib/components/toast.wrapper.d.ts +1 -1
  135. package/esm/lib/components/toast.wrapper.mjs +5 -4
  136. package/esm/lib/components/wordmark.wrapper.d.ts +2 -2
  137. package/esm/lib/components/wordmark.wrapper.mjs +3 -3
  138. package/esm/lib/types.d.ts +15 -0
  139. package/esm/provider.d.ts +4 -1
  140. package/esm/provider.mjs +3 -2
  141. package/package.json +2 -2
  142. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +798 -684
  143. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +3 -5
  144. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/hooks.cjs +9 -0
  145. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.cjs +3 -3
  146. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.cjs +3 -3
  147. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.cjs +4 -4
  148. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.cjs +4 -4
  149. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.cjs +3 -3
  150. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox-wrapper.wrapper.cjs +3 -3
  151. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.cjs +3 -3
  152. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/display.wrapper.cjs +3 -3
  153. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/divider.wrapper.cjs +3 -3
  154. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.cjs +3 -3
  155. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.cjs +3 -3
  156. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flyout.wrapper.cjs +3 -3
  157. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/heading.wrapper.cjs +3 -3
  158. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.cjs +3 -3
  159. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.cjs +3 -3
  160. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/inline-notification.wrapper.cjs +3 -3
  161. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-pure.wrapper.cjs +3 -3
  162. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.cjs +3 -3
  163. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link.wrapper.cjs +3 -3
  164. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/modal.wrapper.cjs +3 -3
  165. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/model-signature.wrapper.cjs +3 -3
  166. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +3 -3
  167. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pagination.wrapper.cjs +3 -3
  168. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +3 -3
  169. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.cjs +3 -3
  170. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.cjs +3 -3
  171. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.cjs +3 -3
  172. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +3 -3
  173. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper-dropdown.wrapper.cjs +3 -3
  174. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper.wrapper.cjs +3 -3
  175. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/spinner.wrapper.cjs +3 -3
  176. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/stepper-horizontal.wrapper.cjs +3 -3
  177. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/switch.wrapper.cjs +3 -3
  178. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.cjs +3 -3
  179. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.cjs +3 -3
  180. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.cjs +3 -3
  181. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tag-dismissible.wrapper.cjs +3 -3
  182. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tag.wrapper.cjs +3 -3
  183. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/text-field-wrapper.wrapper.cjs +3 -3
  184. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/text-list.wrapper.cjs +3 -3
  185. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/text.wrapper.cjs +3 -3
  186. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea-wrapper.wrapper.cjs +3 -3
  187. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.cjs +5 -4
  188. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/wordmark.wrapper.cjs +3 -3
  189. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -1
  190. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -1
  191. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +4 -2
  192. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -2
  193. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -2
  194. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.cjs +21 -0
  195. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +4 -5
  196. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +3 -6
  197. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +5 -4
  198. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +8 -2
  199. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +2 -5
  200. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +4 -2
  201. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -0
  202. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +5 -5
  203. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +4 -3
  204. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/provider.cjs +3 -2
  205. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/stripFocusAndHoverStyles.cjs +4 -1
  206. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +798 -685
  207. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +4 -5
  208. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/hooks.mjs +9 -1
  209. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.mjs +4 -4
  210. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.mjs +4 -4
  211. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.mjs +5 -5
  212. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.mjs +5 -5
  213. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.mjs +4 -4
  214. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox-wrapper.wrapper.mjs +4 -4
  215. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.mjs +4 -4
  216. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/display.wrapper.mjs +4 -4
  217. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/divider.wrapper.mjs +4 -4
  218. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.mjs +4 -4
  219. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.mjs +4 -4
  220. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flyout.wrapper.mjs +4 -4
  221. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/heading.wrapper.mjs +4 -4
  222. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.mjs +4 -4
  223. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.mjs +4 -4
  224. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/inline-notification.wrapper.mjs +4 -4
  225. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-pure.wrapper.mjs +4 -4
  226. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.mjs +4 -4
  227. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link.wrapper.mjs +4 -4
  228. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/modal.wrapper.mjs +4 -4
  229. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/model-signature.wrapper.mjs +4 -4
  230. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +4 -4
  231. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pagination.wrapper.mjs +4 -4
  232. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +4 -4
  233. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.mjs +4 -4
  234. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.mjs +4 -4
  235. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.mjs +4 -4
  236. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -4
  237. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper-dropdown.wrapper.mjs +4 -4
  238. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper.wrapper.mjs +4 -4
  239. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/spinner.wrapper.mjs +4 -4
  240. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/stepper-horizontal.wrapper.mjs +4 -4
  241. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/switch.wrapper.mjs +4 -4
  242. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.mjs +4 -4
  243. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.mjs +4 -4
  244. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.mjs +4 -4
  245. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tag-dismissible.wrapper.mjs +4 -4
  246. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tag.wrapper.mjs +4 -4
  247. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text-field-wrapper.wrapper.mjs +4 -4
  248. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text-list.wrapper.mjs +4 -4
  249. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text.wrapper.mjs +4 -4
  250. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea-wrapper.wrapper.mjs +4 -4
  251. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.mjs +6 -5
  252. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/wordmark.wrapper.mjs +4 -4
  253. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +1 -1
  254. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +1 -1
  255. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +4 -2
  256. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -3
  257. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -3
  258. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.mjs +17 -0
  259. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +4 -5
  260. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +4 -7
  261. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +5 -4
  262. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +8 -2
  263. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +2 -5
  264. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +4 -3
  265. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -0
  266. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +5 -5
  267. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +4 -3
  268. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/provider.mjs +3 -2
  269. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/stripFocusAndHoverStyles.mjs +4 -1
  270. package/ssr/esm/hooks.d.ts +2 -1
  271. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +16 -0
  272. package/ssr/esm/lib/components/button.wrapper.d.ts +16 -0
  273. package/ssr/esm/lib/dsr-components/label.d.ts +18 -0
  274. package/ssr/esm/lib/dsr-components/select-wrapper.d.ts +0 -1
  275. package/ssr/esm/lib/dsr-components/state-message.d.ts +2 -1
  276. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +1 -0
  277. package/ssr/esm/lib/types.d.ts +15 -0
  278. package/ssr/esm/provider.d.ts +4 -1
@@ -7,10 +7,10 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var wordmark = require('../dsr-components/wordmark.cjs');
9
9
 
10
- const PWordmark = react.forwardRef(({ aria, href, size = 'small', target = '_self', theme = 'light', className, ...rest }, ref) => {
10
+ const PWordmark = react.forwardRef(({ aria, href, size = 'small', target = '_self', theme, className, ...rest }, ref) => {
11
11
  const elementRef = react.useRef();
12
12
  const WebComponentTag = hooks.usePrefix('p-wordmark');
13
- const propsToSync = [aria, href, size, target, theme];
13
+ const propsToSync = [aria, href, size, target, theme || hooks.useTheme()];
14
14
  hooks.useBrowserLayoutEffect(() => {
15
15
  const { current } = elementRef;
16
16
  ['aria', 'href', 'size', 'target', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -24,7 +24,7 @@ const PWordmark = react.forwardRef(({ aria, href, size = 'small', target = '_sel
24
24
  // @ts-ignore
25
25
  ...(!process.browser
26
26
  ? {
27
- children: (jsxRuntime.jsx(wordmark.DSRWordmark, { aria, href, size, target, theme })),
27
+ children: (jsxRuntime.jsx(wordmark.DSRWordmark, { aria, href, size, target, theme: theme || hooks.useTheme() })),
28
28
  }
29
29
  : {
30
30
  suppressHydrationWarning: true,
@@ -87,7 +87,7 @@ class DSRButtonPure extends react.Component {
87
87
  theme: this.props.theme,
88
88
  };
89
89
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getButtonPureCss(this.props.icon, this.props.iconSource, this.props.active, this.props.loading, this.isDisabledOrLoading, this.props.stretch, this.props.size, this.props.hideLabel, this.props.alignLabel, this.props.theme)));
90
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("button", { ...utilsEntry.getButtonPureAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading ? (jsxRuntime.jsx(spinner_wrapper.PSpinner, { aria: { 'aria-label': 'Loading state' }, ...iconProps })) : (hasIcon && (jsxRuntime.jsx(icon_wrapper.PIcon, { ...iconProps, name: this.props.icon, source: this.props.iconSource, color: this.isDisabledOrLoading ? 'state-disabled' : 'primary', theme: this.props.theme, "aria-hidden": "true" }))), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] })] }), this.props.children] }));
90
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("button", { ...utilsEntry.getButtonPureAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, name: this.props.name, value: this.props.value, children: [this.props.loading ? (jsxRuntime.jsx(spinner_wrapper.PSpinner, { aria: { 'aria-label': 'Loading state' }, ...iconProps })) : (hasIcon && (jsxRuntime.jsx(icon_wrapper.PIcon, { ...iconProps, name: this.props.icon, source: this.props.iconSource, color: this.isDisabledOrLoading ? 'state-disabled' : 'primary', theme: this.props.theme, "aria-hidden": "true" }))), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] })] }), this.props.children] }));
91
91
  }
92
92
  }
93
93
 
@@ -77,7 +77,7 @@ class DSRButton extends react.Component {
77
77
  render() {
78
78
  splitChildren.splitChildren(this.props.children);
79
79
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getButtonCss(this.props.icon, this.props.iconSource, this.props.variant, this.props.hideLabel, this.props.disabled, this.props.loading, this.props.theme)));
80
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("button", { ...utilsEntry.getButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), utilsEntry.hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", size: "inherit", name: this.props.iconSource ? undefined : this.props.icon, source: this.props.iconSource, color: this.props.disabled ? (this.props.variant === 'primary' ? 'contrast-high' : 'state-disabled') : 'primary', theme: this.props.theme, "aria-hidden": "true" })), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] })] }), this.props.children] }));
80
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("button", { ...utilsEntry.getButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, name: this.props.name, value: this.props.value, children: [this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), utilsEntry.hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", size: "inherit", name: this.props.iconSource ? undefined : this.props.icon, source: this.props.iconSource, color: this.props.disabled ? (this.props.variant === 'primary' ? 'contrast-high' : 'state-disabled') : 'primary', theme: this.props.theme, "aria-hidden": "true" })), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] })] }), this.props.children] }));
81
81
  }
82
82
  }
83
83
 
@@ -71,14 +71,16 @@ var minifyCss = require('../../minifyCss.cjs');
71
71
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
72
72
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
73
73
  var stateMessage = require('./state-message.cjs');
74
+ var label = require('./label.cjs');
74
75
 
75
76
  class DSRCheckboxWrapper extends react.Component {
76
77
  host;
77
78
  input;
78
79
  render() {
79
80
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
80
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getCheckboxWrapperCss(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, this.props.loading, this.props.theme)));
81
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("label", { "aria-disabled": this.props.loading ? 'true' : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { className: "text", children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), jsxRuntime.jsx("slot", {}), this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
81
+ const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
82
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getCheckboxWrapperCss(this.props.hideLabel, this.props.state, disabled, this.props.loading, this.props.theme)));
83
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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, isLoading: this.props.loading, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), jsxRuntime.jsx(stateMessage.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] }));
82
84
  }
83
85
  }
84
86
 
@@ -14,10 +14,9 @@ class DSRFieldsetWrapper extends react.Component {
14
14
  host;
15
15
  render() {
16
16
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
17
- const messageId = 'message';
18
17
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
19
18
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getFieldsetWrapperCss(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme)));
20
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsxs("legend", { children: [this.props.label || jsxRuntime.jsx("slot", { name: "label" }), this.props.required && jsxRuntime.jsx(required.Required, {})] })), jsxRuntime.jsx("slot", {}), hasMessageValue && (jsxRuntime.jsx(stateMessage.StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
19
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { "aria-describedby": hasMessageValue ? stateMessage.messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsxs("legend", { children: [this.props.label || jsxRuntime.jsx("slot", { name: "label" }), this.props.required && jsxRuntime.jsx(required.Required, {})] })), jsxRuntime.jsx("slot", {}), jsxRuntime.jsx(stateMessage.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] }));
21
20
  }
22
21
  }
23
22
 
@@ -13,10 +13,9 @@ class DSRFieldset extends react.Component {
13
13
  host;
14
14
  render() {
15
15
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
16
- const messageId = 'message';
17
16
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
18
17
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getFieldsetCss(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme)));
19
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsxs("legend", { children: [this.props.label || jsxRuntime.jsx("slot", { name: "label" }), this.props.required && jsxRuntime.jsx(required.Required, {})] })), jsxRuntime.jsx("slot", {}), hasMessageValue && (jsxRuntime.jsx(stateMessage.StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
18
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { "aria-describedby": hasMessageValue ? stateMessage.messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsxs("legend", { children: [this.props.label || jsxRuntime.jsx("slot", { name: "label" }), this.props.required && jsxRuntime.jsx(required.Required, {})] })), jsxRuntime.jsx("slot", {}), jsxRuntime.jsx(stateMessage.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] }));
20
19
  }
21
20
  }
22
21
 
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var required = require('./required.cjs');
5
+
6
+ const labelId = 'label';
7
+ const descriptionId = 'description';
8
+ const Label = ({ hasLabel, hasDescription,
9
+ // host,
10
+ label, description, htmlFor, isRequired, isLoading, isDisabled,
11
+ // formElement,
12
+ }) => {
13
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("label", { className: "label", id: labelId, "aria-disabled": isLoading || isDisabled ? 'true' : null, ...(htmlFor
14
+ ? { htmlFor }
15
+ : {}), children: hasLabel && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [label || jsxRuntime.jsx("slot", { name: "label" }), ((isRequired /* && !isParentFieldsetRequired(host) */) /* ||
16
+ (formElement && isRequiredAndParentNotRequired(// host, formElement)) */) && jsxRuntime.jsx(required.Required, {})] })) }), hasDescription && (jsxRuntime.jsx("span", { className: "label", id: descriptionId, "aria-disabled": isLoading || isDisabled ? 'true' : null, children: description || jsxRuntime.jsx("slot", { name: "description" }) }))] }));
17
+ };
18
+
19
+ exports.Label = Label;
20
+ exports.descriptionId = descriptionId;
21
+ exports.labelId = labelId;
@@ -72,6 +72,7 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
72
72
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
73
73
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
74
74
  var stateMessage = require('./state-message.cjs');
75
+ var label = require('./label.cjs');
75
76
 
76
77
  class DSRMultiSelect extends react.Component {
77
78
  host;
@@ -91,13 +92,11 @@ class DSRMultiSelect extends react.Component {
91
92
  }
92
93
  render() {
93
94
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
94
- const labelId = 'label';
95
- const messageId = 'message';
96
- const descriptionId = 'description';
97
95
  const optionsSelectedId = 'options-selected';
98
96
  const dropdownId = 'list';
99
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getMultiSelectCss('down', this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.isWithinForm, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme)));
100
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { id: labelId, className: "label__text", children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsxRuntime.jsx("span", { id: descriptionId, className: "label__text", "aria-hidden": "true", children: this.props.description || jsxRuntime.jsx("slot", { name: "description" }) })), this.props.currentValue && (jsxRuntime.jsxs("span", { id: optionsSelectedId, className: "sr-text", children: [utilsEntry.getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] }))] }), jsxRuntime.jsxs("div", { className: "input-container", children: [jsxRuntime.jsx("input", { role: "combobox", autoComplete: "off", disabled: this.props.disabled, required: this.props.required, "aria-invalid": this.props.state === 'error' ? 'true' : null }), this.props.currentValue && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { className: "icon reset-icon", icon: "close", hideLabel: "true", theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon toggle-icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxRuntime.jsxs("div", { id: dropdownId, className: "listbox", children: [!this.props.hasFilterResults && (jsxRuntime.jsxs("div", { className: "no-results", "aria-live": "polite", role: "status", children: [jsxRuntime.jsx("span", { "aria-hidden": "true", children: "---" }), jsxRuntime.jsx("span", { className: "no-results__sr", children: "No results found" })] })), jsxRuntime.jsx("slot", {})] })] }), this.props.isWithinForm && jsxRuntime.jsx("slot", { name: "select" }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })), jsxRuntime.jsx("span", { className: "sr-text", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText })] })] }), this.props.children] }));
97
+ const inputId = 'filter';
98
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getMultiSelectCss('down', this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.isWithinForm, this.props.theme)));
99
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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: inputId, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.currentValue && (jsxRuntime.jsxs("span", { id: optionsSelectedId, className: "sr-only", children: [utilsEntry.getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] })), jsxRuntime.jsxs("div", { className: `wrapper${this.props.disabled ? ' disabled' : ''}`, children: [jsxRuntime.jsx("input", { id: inputId, role: "combobox", autoComplete: "off", disabled: this.props.disabled, required: this.props.required, "aria-invalid": this.props.state === 'error' ? 'true' : null }), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, "aria-hidden": "true" }), this.props.currentValue && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { className: "button", icon: "close", hideLabel: "true", theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsxs("div", { id: dropdownId, className: "listbox", children: [!this.props.hasFilterResults && (jsxRuntime.jsxs("div", { className: "no-results", "aria-live": "polite", role: "status", children: [jsxRuntime.jsx("span", { "aria-hidden": "true", children: "---" }), jsxRuntime.jsx("span", { className: "sr-only", children: "No results found" })] })), jsxRuntime.jsx("slot", {})] })] }), jsxRuntime.jsx(stateMessage.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 }), jsxRuntime.jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText }), this.props.isWithinForm && jsxRuntime.jsx("slot", { name: "internal-select" })] })] }), this.props.children] }));
101
100
  }
102
101
  }
103
102
 
@@ -70,8 +70,8 @@ var react = require('react');
70
70
  var minifyCss = require('../../minifyCss.cjs');
71
71
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
72
72
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
73
- var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
74
73
  var stateMessage = require('./state-message.cjs');
74
+ var label = require('./label.cjs');
75
75
 
76
76
  class DSRPinCode extends react.Component {
77
77
  host;
@@ -84,12 +84,9 @@ class DSRPinCode extends react.Component {
84
84
  // reset array of input elements
85
85
  this.inputElements = [];
86
86
  const currentInputId = 'current-input';
87
- const labelId = 'label';
88
- const descriptionId = 'description';
89
- const messageId = 'message';
90
87
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getPinCodeCss(this.props.hideLabel, this.props.state, this.props.disabled, this.props.loading, this.props.isWithinForm, this.props.length, this.props.theme)));
91
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("label", { className: "label", htmlFor: currentInputId, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { id: labelId, className: "label__text", children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsxRuntime.jsx("span", { id: descriptionId, className: "label__text", children: this.props.description || jsxRuntime.jsx("slot", { name: "description" }) }))] }), jsxRuntime.jsxs("div", { className: "input-container", children: [this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), this.props.isWithinForm && jsxRuntime.jsx("slot", { name: utilsEntry.hiddenInputSlotName }), Array.from(Array(this.props.length), (_, index) => (jsxRuntime.jsx("input", { id: index === this.props.value.length ? currentInputId : null, 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-busy": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
92
- , defaultValue: this.props.value[index] === ' ' ? null : this.props.value[index], disabled: this.props.disabled, required: this.props.required }, index)))] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
88
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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 }), jsxRuntime.jsxs("div", { className: "wrapper", children: [Array.from(Array(this.props.length), (_, index) => (jsxRuntime.jsx("input", { id: index === this.props.value.length ? currentInputId : null, type: this.props.type === 'number' ? 'text' : this.props.type, "aria-label": `${index + 1}-${this.props.length}`, "aria-describedby": `${label.labelId} ${label.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-busy": this.props.loading ? 'true' : null, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
89
+ , defaultValue: this.props.value[index] === ' ' ? null : this.props.value[index], disabled: this.props.disabled, required: this.props.required }, index))), this.props.loading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } }))] }), jsxRuntime.jsx(stateMessage.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.isWithinForm && jsxRuntime.jsx("slot", { name: "internal-input" })] })] }), this.props.children] }));
93
90
  }
94
91
  }
95
92
 
@@ -71,16 +71,17 @@ var minifyCss = require('../../minifyCss.cjs');
71
71
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
72
72
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
73
73
  var stateMessage = require('./state-message.cjs');
74
+ var label = require('./label.cjs');
74
75
 
75
76
  class DSRRadioButtonWrapper extends react.Component {
76
77
  host;
77
78
  input;
78
79
  render() {
79
80
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
80
- // spinner is only displayed when radio is not checked already
81
- const isLoading = this.props.loading && !(typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && (otherChildren[0]?.props.checked || otherChildren[0]?.props.defaultChecked));
82
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getRadioButtonWrapperCss(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, isLoading, this.props.theme)));
83
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("label", { "aria-disabled": isLoading ? 'true' : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { className: "text", children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), jsxRuntime.jsx("slot", {}), isLoading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
81
+ const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
82
+ const isLoading = this.props.loading && !(typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && (otherChildren[0]?.props.checked || otherChildren[0]?.props.defaultChecked)); // spinner is only displayed when radio is not checked already
83
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getRadioButtonWrapperCss(this.props.hideLabel, this.props.state, disabled, isLoading, this.props.theme)));
84
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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, isLoading: isLoading, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), isLoading && (jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), jsxRuntime.jsx(stateMessage.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] }));
84
85
  }
85
86
  }
86
87
 
@@ -82,6 +82,8 @@ class DSRSelectWrapperDropdown extends react.Component {
82
82
  return 0;
83
83
  }
84
84
  render() {
85
+ // TODO: part won't be needed as soon as button/input of select-wrapper-dropdown is part of shadow dom of select-wrapper itself
86
+ const part = 'select-wrapper-dropdown';
85
87
  this.props.description && 'description';
86
88
  const buttonId = 'value';
87
89
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectWrapperDropdownCss(this.props.direction === 'auto'
@@ -89,8 +91,12 @@ class DSRSelectWrapperDropdown extends react.Component {
89
91
  : this.props.direction, this.isOpen, this.props.state, this.props.disabled, this.props.filter, this.props.theme)));
90
92
  return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: this.props.filter ? ([
91
93
  jsxRuntime.jsx("input", { type: "text", role: "combobox", disabled: this.props.disabled, placeholder: utilsEntry.getSelectedOptionMap(this.optionMaps)?.value || null, autoComplete: "off", defaultValue: this.searchString }, "input"),
92
- jsxRuntime.jsx("span", {}, "span"),
93
- ]) : (jsxRuntime.jsx("button", { type: "button", role: "combobox", id: buttonId, disabled: this.props.disabled })) })] }) }));
94
+ jsxRuntime.jsx("span", {
95
+ /* @ts-ignore */
96
+ part: part }, "span"),
97
+ ]) : (jsxRuntime.jsx("button", {
98
+ /* @ts-ignore */
99
+ part: part, type: "button", role: "combobox", id: buttonId, disabled: this.props.disabled })) })] }) }));
94
100
  }
95
101
  }
96
102
 
@@ -73,21 +73,18 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
73
73
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
74
74
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
75
75
  var stateMessage = require('./state-message.cjs');
76
+ var label = require('./label.cjs');
76
77
 
77
78
  class DSRSelectWrapper extends react.Component {
78
79
  host;
79
80
  select;
80
81
  iconElement;
81
- dropdownElement;
82
82
  render() {
83
83
  const hasCustomDropdown = utilsEntry.isCustomDropdown(this.props.filter, this.props.native);
84
84
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
85
85
  const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
86
- const labelProps = disabled
87
- ? {}
88
- : {};
89
86
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectWrapperCss(disabled, hasCustomDropdown, this.props.hideLabel, this.props.state, this.props.theme)));
90
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.description || jsxRuntime.jsx("slot", { name: "description" }) })), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" }), jsxRuntime.jsx("slot", {})] }), hasCustomDropdown && !disabled && (jsxRuntime.jsx(selectWrapperDropdown_wrapper.PSelectWrapperDropdown, { selectRef: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props, label: this.props.label || namedSlotChildren.find(({ props: { slot } }) => slot === 'label')?.props.children, message: this.props.message || namedSlotChildren.find(({ props: { slot } }) => slot === 'message')?.props.children, description: this.props.description || namedSlotChildren.find(({ props: { slot } }) => slot === 'description')?.props.children, state: this.props.state, direction: this.props.dropdownDirection, filter: this.props.filter, theme: this.props.theme, required: false, disabled: disabled, onOpenChange: (isOpen) => this.props.iconElement.classList.toggle('icon--open', isOpen) }))] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
87
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" }), hasCustomDropdown && !disabled && (jsxRuntime.jsx(selectWrapperDropdown_wrapper.PSelectWrapperDropdown, { className: "dropdown", selectRef: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props, label: this.props.label || namedSlotChildren.find(({ props: { slot } }) => slot === 'label')?.props.children, message: this.props.message || namedSlotChildren.find(({ props: { slot } }) => slot === 'message')?.props.children, description: this.props.description || namedSlotChildren.find(({ props: { slot } }) => slot === 'description')?.props.children, state: this.props.state, direction: this.props.dropdownDirection, filter: this.props.filter, theme: this.props.theme, required: false, disabled: disabled, onOpenChange: (isOpen) => this.props.iconElement.classList.toggle('icon--open', isOpen) }))] }), jsxRuntime.jsx(stateMessage.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] }));
91
88
  }
92
89
  }
93
90
 
@@ -67,9 +67,11 @@ require('../components/toast.wrapper.cjs');
67
67
  require('../components/wordmark.wrapper.cjs');
68
68
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
69
69
 
70
- const StateMessage = ({ id, state, message, theme }) => {
70
+ const messageId = 'message';
71
+ const StateMessage = ({ hasMessage, state, message, theme }) => {
71
72
  const isErrorState = state === 'error';
72
- return (jsxRuntime.jsxs("span", { id: id, className: "message", role: utilsEntry.getRole(state), children: [jsxRuntime.jsx(icon_wrapper.PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'notification-error' : 'notification-success', theme: theme, "aria-hidden": "true" }), message || jsxRuntime.jsx("slot", { name: "message" })] }));
73
+ return (hasMessage && (jsxRuntime.jsxs("span", { id: messageId, className: "message", role: utilsEntry.getRole(state), children: [jsxRuntime.jsx(icon_wrapper.PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'notification-error' : 'notification-success', theme: theme, "aria-hidden": "true" }), message || jsxRuntime.jsx("slot", { name: "message" })] })));
73
74
  };
74
75
 
75
76
  exports.StateMessage = StateMessage;
77
+ exports.messageId = messageId;
@@ -74,6 +74,7 @@ var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-e
74
74
  class DSRTabsBar extends react.Component {
75
75
  host;
76
76
  tabElements = [];
77
+ internalTabIndex = this.props.activeTabIndex; // to not override and mutate external prop value
77
78
  barElement;
78
79
  scrollerElement;
79
80
  direction = 'next';
@@ -72,6 +72,7 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
72
72
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
73
73
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
74
74
  var stateMessage = require('./state-message.cjs');
75
+ var label = require('./label.cjs');
75
76
 
76
77
  class DSRTextFieldWrapper extends react.Component {
77
78
  host;
@@ -93,7 +94,6 @@ class DSRTextFieldWrapper extends react.Component {
93
94
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
94
95
  const { readOnly, disabled, type } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
95
96
  const disabledOrReadOnly = disabled || readOnly;
96
- const labelProps = {};
97
97
  const buttonProps = {
98
98
  hideLabel: true,
99
99
  theme: this.props.theme,
@@ -108,12 +108,12 @@ class DSRTextFieldWrapper extends react.Component {
108
108
  const hasCounter = false; // hasCounterAndIsTypeText(otherChildren[0]?.props);
109
109
  const isClearable = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && !!otherChildren[0]?.props.value;
110
110
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextFieldWrapperCss(disabled, this.props.hideLabel, this.props.state, this.props.isCounterVisible, this.props.isCounterVisible ? 'suffix' : this.props.unitPosition, isPassword ? 'password' : type, this.props.showPasswordToggle, this.props.isWithinForm, this.props.theme)));
111
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.description || jsxRuntime.jsx("slot", { name: "description" }) })), (this.props.isCounterVisible) && (jsxRuntime.jsx("span", { className: "unit", "aria-hidden": "true", children: this.props.unit })), jsxRuntime.jsx("slot", {}), hasCounter ] }), isPassword && this.props.showPasswordToggle ? (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: this.props.showPassword ? 'view-off' : 'view', disabled: disabled, aria: { 'aria-pressed': this.props.showPassword ? 'true' : 'false' }, children: "Toggle password visibility" })) : utilsEntry.showCustomCalendarOrTimeIndicator(isCalendar, isTime) ? (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: isCalendar ? 'calendar' : 'clock', disabled: disabled, children: `Show ${isCalendar ? 'date' : 'time'} picker` })) : (isSearch && [
111
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props, isDisabled: disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), hasCounter , (this.props.isCounterVisible) && (jsxRuntime.jsx("span", { className: "unit", "aria-hidden": "true", children: this.props.unit })), isPassword && this.props.showPasswordToggle ? (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: this.props.showPassword ? 'view-off' : 'view', disabled: disabled, aria: { 'aria-pressed': this.props.showPassword ? 'true' : 'false' }, children: "Toggle password visibility" })) : utilsEntry.showCustomCalendarOrTimeIndicator(isCalendar, isTime) ? (jsxRuntime.jsxs(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: isCalendar ? 'calendar' : 'clock', disabled: disabled, children: ["Show $", isCalendar ? 'date' : 'time', " picker"] })) : (isSearch && [
112
112
  // TODO: create an own component, which would fix SSR support too
113
113
  this.props.isWithinForm ? (react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, key: "btn-submit", type: "submit", icon: "search", disabled: disabledOrReadOnly }, "Search")) : (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "search", color: "state-disabled", theme: this.props.theme, "aria-hidden": "true" }, "icon")),
114
- react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", key: "btn-clear", icon: "close", tabIndex: -1, hidden: !isClearable, disabled: disabledOrReadOnly }, "Clear field"),
115
- hasAction && (react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", key: "btn-action", icon: "locate", hidden: isClearable, disabled: disabledOrReadOnly, loading: this.props.actionLoading }, "Locate me")),
116
- ])] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
114
+ react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, key: "btn-clear", type: "button", icon: "close", tabIndex: -1, hidden: !isClearable, disabled: disabledOrReadOnly }, "Clear field"),
115
+ hasAction && (react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, key: "btn-action", type: "button", icon: "locate", hidden: isClearable, disabled: disabledOrReadOnly, loading: this.props.actionLoading }, "Locate me")),
116
+ ])] }), jsxRuntime.jsx(stateMessage.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] }));
117
117
  }
118
118
  }
119
119
 
@@ -7,6 +7,7 @@ var minifyCss = require('../../minifyCss.cjs');
7
7
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
9
  var stateMessage = require('./state-message.cjs');
10
+ var label = require('./label.cjs');
10
11
 
11
12
  class DSRTextareaWrapper extends react.Component {
12
13
  host;
@@ -16,9 +17,9 @@ class DSRTextareaWrapper extends react.Component {
16
17
  hasCounter;
17
18
  render() {
18
19
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
19
- const labelProps = {};
20
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaWrapperCss(typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.theme)));
21
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.label || jsxRuntime.jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsxRuntime.jsx("span", { className: "label__text", ...labelProps, children: this.props.description || jsxRuntime.jsx("slot", { name: "description" }) })), this.props.hasCounter && jsxRuntime.jsx("span", { className: "counter", "aria-hidden": "true" }), jsxRuntime.jsx("slot", {}), this.props.hasCounter && jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite" })] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsxRuntime.jsx(stateMessage.StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
20
+ const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
21
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaWrapperCss(disabled, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.theme)));
22
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.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, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), this.props.hasCounter && jsxRuntime.jsx("span", { className: "counter", "aria-hidden": "true" }), this.props.hasCounter && jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite" })] }), jsxRuntime.jsx(stateMessage.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] }));
22
23
  }
23
24
  }
24
25
 
@@ -8,8 +8,9 @@ var componentsJs = require('@porsche-design-system/components-js');
8
8
  // to warn users about missing PorscheDesignSystemProvider, we set the default values as undefined
9
9
  const PorscheDesignSystemContext = react.createContext({
10
10
  prefix: undefined,
11
+ theme: 'light',
11
12
  });
12
- const PorscheDesignSystemProvider = ({ prefix = '', cdn, ...props }) => {
13
+ const PorscheDesignSystemProvider = ({ prefix = '', cdn, theme = 'light', ...props }) => {
13
14
  // @ts-ignore
14
15
  if (!process.browser) {
15
16
  // for ssr we set the global PORSCHE_DESIGN_SYSTEM_CDN_URL variable that is used in our getCDNBaseURL() util to respect the cdn
@@ -20,7 +21,7 @@ const PorscheDesignSystemProvider = ({ prefix = '', cdn, ...props }) => {
20
21
  react.useEffect(() => {
21
22
  componentsJs.load({ prefix, cdn });
22
23
  }, []); // runtime prefix or cdn change is not supported
23
- return jsxRuntime.jsx(PorscheDesignSystemContext.Provider, { value: { prefix }, ...props });
24
+ return jsxRuntime.jsx(PorscheDesignSystemContext.Provider, { value: { prefix, theme }, ...props });
24
25
  };
25
26
 
26
27
  exports.PorscheDesignSystemContext = PorscheDesignSystemContext;
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
- const stripFocusAndHoverStyles = (css) => css.replace(/\n.*(?::focus|hover:hover)[\s\S]+?\n}/g, '');
3
+ // TODO: The replacement currently doesn't work when there are empty lines between closing brackets, thus we manually replace where this is the case
4
+ const stripFocusAndHoverStyles = (css) => css
5
+ .replace(/@media screen and \(-webkit-min-device-pixel-ratio: 0\) and \(min-resolution: 0.001dpcm\) {[\s\S]+?}\n\n/g, '')
6
+ .replace(/\n.*(?::focus|hover:hover)[\s\S]+?\n}/g, '');
4
7
 
5
8
  exports.stripFocusAndHoverStyles = stripFocusAndHoverStyles;