@porsche-design-system/components-react 3.8.0-rc.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 +45 -1
  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
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTagDismissible } from '../dsr-components/tag-dismissible.mjs';
7
7
 
8
- const PTagDismissible = forwardRef(({ aria, color = 'background-surface', label, theme = 'light', className, children, ...rest }, ref) => {
8
+ const PTagDismissible = forwardRef(({ aria, color = 'background-surface', label, theme, className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-tag-dismissible');
11
- const propsToSync = [aria, color, label, theme];
11
+ const propsToSync = [aria, color, label, theme || useTheme()];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['aria', 'color', 'label', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PTagDismissible = forwardRef(({ aria, color = 'background-surface', label,
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRTagDismissible, { aria, color, label, theme, children })),
25
+ children: (jsx(DSRTagDismissible, { aria, color, label, theme: theme || useTheme(), children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTag } from '../dsr-components/tag.mjs';
7
7
 
8
- const PTag = forwardRef(({ color = 'background-surface', icon, iconSource, theme = 'light', className, children, ...rest }, ref) => {
8
+ const PTag = forwardRef(({ color = 'background-surface', icon, iconSource, theme, className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-tag');
11
- const propsToSync = [color, icon, iconSource, theme];
11
+ const propsToSync = [color, icon, iconSource, theme || useTheme()];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['color', 'icon', 'iconSource', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PTag = forwardRef(({ color = 'background-surface', icon, iconSource, theme
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRTag, { color, icon, iconSource, theme, children })),
25
+ children: (jsx(DSRTag, { color, icon, iconSource, theme: theme || useTheme(), children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -1,15 +1,15 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTextFieldWrapper } from '../dsr-components/text-field-wrapper.mjs';
7
7
 
8
- const PTextFieldWrapper = forwardRef(({ actionIcon, actionLoading = false, description = '', hideLabel = false, label = '', message = '', onAction, showCharacterCount, showCounter = true, showPasswordToggle = true, state = 'none', theme = 'light', unit = '', unitPosition = 'prefix', className, children, ...rest }, ref) => {
8
+ const PTextFieldWrapper = forwardRef(({ actionIcon, actionLoading = false, description = '', hideLabel = false, label = '', message = '', onAction, showCharacterCount, showCounter = true, showPasswordToggle = true, state = 'none', theme, unit = '', unitPosition = 'prefix', className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  useEventCallback(elementRef, 'action', onAction);
11
11
  const WebComponentTag = usePrefix('p-text-field-wrapper');
12
- const propsToSync = [actionIcon, actionLoading, description, hideLabel, label, message, showCharacterCount, showCounter, showPasswordToggle, state, theme, unit, unitPosition];
12
+ const propsToSync = [actionIcon, actionLoading, description, hideLabel, label, message, showCharacterCount, showCounter, showPasswordToggle, state, theme || useTheme(), unit, unitPosition];
13
13
  useBrowserLayoutEffect(() => {
14
14
  const { current } = elementRef;
15
15
  ['actionIcon', 'actionLoading', 'description', 'hideLabel', 'label', 'message', 'showCharacterCount', 'showCounter', 'showPasswordToggle', 'state', 'theme', 'unit', 'unitPosition'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -23,7 +23,7 @@ const PTextFieldWrapper = forwardRef(({ actionIcon, actionLoading = false, descr
23
23
  // @ts-ignore
24
24
  ...(!process.browser
25
25
  ? {
26
- children: (jsx(DSRTextFieldWrapper, { actionIcon, actionLoading, description, hideLabel, label, message, showCharacterCount, showCounter, showPasswordToggle, state, theme, unit, unitPosition, children })),
26
+ children: (jsx(DSRTextFieldWrapper, { actionIcon, actionLoading, description, hideLabel, label, message, showCharacterCount, showCounter, showPasswordToggle, state, theme: theme || useTheme(), unit, unitPosition, children })),
27
27
  }
28
28
  : {
29
29
  children,
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTextList } from '../dsr-components/text-list.mjs';
7
7
 
8
- const PTextList = forwardRef(({ listType, orderType, theme = 'light', type = 'unordered', className, children, ...rest }, ref) => {
8
+ const PTextList = forwardRef(({ listType, orderType, theme, type = 'unordered', className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-text-list');
11
- const propsToSync = [listType, orderType, theme, type];
11
+ const propsToSync = [listType, orderType, theme || useTheme(), type];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['listType', 'orderType', 'theme', 'type'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PTextList = forwardRef(({ listType, orderType, theme = 'light', type = 'un
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRTextList, { listType, orderType, theme, type, children })),
25
+ children: (jsx(DSRTextList, { listType, orderType, theme: theme || useTheme(), type, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRText } from '../dsr-components/text.mjs';
7
7
 
8
- const PText = forwardRef(({ align = 'start', color = 'primary', ellipsis = false, size = 'small', tag = 'p', theme = 'light', weight = 'regular', className, children, ...rest }, ref) => {
8
+ const PText = forwardRef(({ align = 'start', color = 'primary', ellipsis = false, size = 'small', tag = 'p', theme, weight = 'regular', className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-text');
11
- const propsToSync = [align, color, ellipsis, size, tag, theme, weight];
11
+ const propsToSync = [align, color, ellipsis, size, tag, theme || useTheme(), weight];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['align', 'color', 'ellipsis', 'size', 'tag', 'theme', 'weight'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PText = forwardRef(({ align = 'start', color = 'primary', ellipsis = false
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRText, { align, color, ellipsis, size, tag, theme, weight, children })),
25
+ children: (jsx(DSRText, { align, color, ellipsis, size, tag, theme: theme || useTheme(), weight, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTextareaWrapper } from '../dsr-components/textarea-wrapper.mjs';
7
7
 
8
- const PTextareaWrapper = forwardRef(({ description = '', hideLabel = false, label = '', message = '', showCharacterCount, showCounter = true, state = 'none', theme = 'light', className, children, ...rest }, ref) => {
8
+ const PTextareaWrapper = forwardRef(({ description = '', hideLabel = false, label = '', message = '', showCharacterCount, showCounter = true, state = 'none', theme, className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-textarea-wrapper');
11
- const propsToSync = [description, hideLabel, label, message, showCharacterCount, showCounter, state, theme];
11
+ const propsToSync = [description, hideLabel, label, message, showCharacterCount, showCounter, state, theme || useTheme()];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['description', 'hideLabel', 'label', 'message', 'showCharacterCount', 'showCounter', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PTextareaWrapper = forwardRef(({ description = '', hideLabel = false, labe
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRTextareaWrapper, { description, hideLabel, label, message, showCharacterCount, showCounter, state, theme, children })),
25
+ children: (jsx(DSRTextareaWrapper, { description, hideLabel, label, message, showCharacterCount, showCounter, state, theme: theme || useTheme(), children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -1,16 +1,17 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRToast } from '../dsr-components/toast.mjs';
7
7
 
8
- const PToast = forwardRef(({ theme = 'light', className, ...rest }, ref) => {
8
+ const PToast = forwardRef(({ theme, className, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-toast');
11
+ const themeValue = useTheme();
11
12
  useBrowserLayoutEffect(() => {
12
- elementRef.current.theme = theme;
13
- }, [theme]);
13
+ elementRef.current.theme = theme || themeValue;
14
+ }, [theme, themeValue]);
14
15
  // @ts-ignore
15
16
  if (!process.browser) {
16
17
  className = className ? `${className} ssr` : 'ssr';
@@ -20,7 +21,7 @@ const PToast = forwardRef(({ theme = 'light', className, ...rest }, ref) => {
20
21
  // @ts-ignore
21
22
  ...(!process.browser
22
23
  ? {
23
- children: (jsx(DSRToast, { theme })),
24
+ children: (jsx(DSRToast, { theme: theme || useTheme() })),
24
25
  }
25
26
  : {
26
27
  suppressHydrationWarning: true,
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
4
+ import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRWordmark } from '../dsr-components/wordmark.mjs';
7
7
 
8
- const PWordmark = forwardRef(({ aria, href, size = 'small', target = '_self', theme = 'light', className, ...rest }, ref) => {
8
+ const PWordmark = forwardRef(({ aria, href, size = 'small', target = '_self', theme, className, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-wordmark');
11
- const propsToSync = [aria, href, size, target, theme];
11
+ const propsToSync = [aria, href, size, target, theme || useTheme()];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
14
  ['aria', 'href', 'size', 'target', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
@@ -22,7 +22,7 @@ const PWordmark = forwardRef(({ aria, href, size = 'small', target = '_self', th
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRWordmark, { aria, href, size, target, theme })),
25
+ children: (jsx(DSRWordmark, { aria, href, size, target, theme: theme || useTheme() })),
26
26
  }
27
27
  : {
28
28
  suppressHydrationWarning: true,
@@ -85,7 +85,7 @@ class DSRButtonPure extends Component {
85
85
  theme: this.props.theme,
86
86
  };
87
87
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Z(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)));
88
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...getButtonPureAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading ? (jsx(PSpinner, { aria: { 'aria-label': 'Loading state' }, ...iconProps })) : (hasIcon && (jsx(PIcon, { ...iconProps, name: this.props.icon, source: this.props.iconSource, color: this.isDisabledOrLoading ? 'state-disabled' : 'primary', theme: this.props.theme, "aria-hidden": "true" }))), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
88
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...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 ? (jsx(PSpinner, { aria: { 'aria-label': 'Loading state' }, ...iconProps })) : (hasIcon && (jsx(PIcon, { ...iconProps, name: this.props.icon, source: this.props.iconSource, color: this.isDisabledOrLoading ? 'state-disabled' : 'primary', theme: this.props.theme, "aria-hidden": "true" }))), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
89
89
  }
90
90
  }
91
91
 
@@ -75,7 +75,7 @@ class DSRButton extends Component {
75
75
  render() {
76
76
  splitChildren(this.props.children);
77
77
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$X(this.props.icon, this.props.iconSource, this.props.variant, this.props.hideLabel, this.props.disabled, this.props.loading, this.props.theme)));
78
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...getButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsx(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" })), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
78
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...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 && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsx(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" })), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
79
79
  }
80
80
  }
81
81
 
@@ -69,14 +69,16 @@ import { minifyCss } from '../../minifyCss.mjs';
69
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
70
70
  import { getCheckboxWrapperCss as getComponentCss$V } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
71
  import { StateMessage } from './state-message.mjs';
72
+ import { Label } from './label.mjs';
72
73
 
73
74
  class DSRCheckboxWrapper extends Component {
74
75
  host;
75
76
  input;
76
77
  render() {
77
78
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
78
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$V(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, this.props.loading, this.props.theme)));
79
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("label", { "aria-disabled": this.props.loading ? 'true' : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { className: "text", children: this.props.label || jsx("slot", { name: "label" }) })), jsx("slot", {}), this.props.loading && (jsx(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) && (jsx(StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
79
+ const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
80
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$V(this.props.hideLabel, this.props.state, disabled, this.props.loading, this.props.theme)));
81
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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, isLoading: this.props.loading, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
80
82
  }
81
83
  }
82
84
 
@@ -4,7 +4,7 @@ import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
5
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
6
6
  import { getFieldsetWrapperCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { StateMessage } from './state-message.mjs';
7
+ import { messageId, StateMessage } from './state-message.mjs';
8
8
  import { Required } from './required.mjs';
9
9
 
10
10
  /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-fieldset" instead. */
@@ -12,10 +12,9 @@ class DSRFieldsetWrapper extends Component {
12
12
  host;
13
13
  render() {
14
14
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
15
- const messageId = 'message';
16
15
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
17
16
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Q(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme)));
18
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), hasMessageValue && (jsx(StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
17
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
19
18
  }
20
19
  }
21
20
 
@@ -4,17 +4,16 @@ import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
5
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
6
6
  import { getFieldsetCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
- import { StateMessage } from './state-message.mjs';
7
+ import { messageId, StateMessage } from './state-message.mjs';
8
8
  import { Required } from './required.mjs';
9
9
 
10
10
  class DSRFieldset extends Component {
11
11
  host;
12
12
  render() {
13
13
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
14
- const messageId = 'message';
15
14
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
16
15
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$P(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme)));
17
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), hasMessageValue && (jsx(StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
16
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
18
17
  }
19
18
  }
20
19
 
@@ -0,0 +1,17 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { Required } from './required.mjs';
3
+
4
+ const labelId = 'label';
5
+ const descriptionId = 'description';
6
+ const Label = ({ hasLabel, hasDescription,
7
+ // host,
8
+ label, description, htmlFor, isRequired, isLoading, isDisabled,
9
+ // formElement,
10
+ }) => {
11
+ return (jsxs(Fragment, { children: [jsx("label", { className: "label", id: labelId, "aria-disabled": isLoading || isDisabled ? 'true' : null, ...(htmlFor
12
+ ? { htmlFor }
13
+ : {}), children: hasLabel && (jsxs(Fragment, { children: [label || jsx("slot", { name: "label" }), ((isRequired /* && !isParentFieldsetRequired(host) */) /* ||
14
+ (formElement && isRequiredAndParentNotRequired(// host, formElement)) */) && jsx(Required, {})] })) }), hasDescription && (jsx("span", { className: "label", id: descriptionId, "aria-disabled": isLoading || isDisabled ? 'true' : null, children: description || jsx("slot", { name: "description" }) }))] }));
15
+ };
16
+
17
+ export { Label, descriptionId, labelId };
@@ -70,6 +70,7 @@ import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
70
70
  import { getMultiSelectCss as getComponentCss$x } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
71
  import { getSelectedOptionValues, getSelectedOptions } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
72
72
  import { StateMessage } from './state-message.mjs';
73
+ import { Label } from './label.mjs';
73
74
 
74
75
  class DSRMultiSelect extends Component {
75
76
  host;
@@ -89,13 +90,11 @@ class DSRMultiSelect extends Component {
89
90
  }
90
91
  render() {
91
92
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
92
- const labelId = 'label';
93
- const messageId = 'message';
94
- const descriptionId = 'description';
95
93
  const optionsSelectedId = 'options-selected';
96
94
  const dropdownId = 'list';
97
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$x('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)));
98
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("div", { className: "root", children: [jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { id: labelId, className: "label__text", children: this.props.label || jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsx("span", { id: descriptionId, className: "label__text", "aria-hidden": "true", children: this.props.description || jsx("slot", { name: "description" }) })), this.props.currentValue && (jsxs("span", { id: optionsSelectedId, className: "sr-text", children: [getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] }))] }), jsxs("div", { className: "input-container", children: [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 && (jsx(PButtonPure, { className: "icon reset-icon", icon: "close", hideLabel: "true", theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsx(PIcon, { className: "icon toggle-icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxs("div", { id: dropdownId, className: "listbox", children: [!this.props.hasFilterResults && (jsxs("div", { className: "no-results", "aria-live": "polite", role: "status", children: [jsx("span", { "aria-hidden": "true", children: "---" }), jsx("span", { className: "no-results__sr", children: "No results found" })] })), jsx("slot", {})] })] }), this.props.isWithinForm && jsx("slot", { name: "select" }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsx(StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })), jsx("span", { className: "sr-text", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText })] })] }), this.props.children] }));
95
+ const inputId = 'filter';
96
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$x('down', this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.isWithinForm, this.props.theme)));
97
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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: inputId, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.currentValue && (jsxs("span", { id: optionsSelectedId, className: "sr-only", children: [getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] })), jsxs("div", { className: `wrapper${this.props.disabled ? ' disabled' : ''}`, children: [jsx("input", { id: inputId, role: "combobox", autoComplete: "off", disabled: this.props.disabled, required: this.props.required, "aria-invalid": this.props.state === 'error' ? 'true' : null }), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, "aria-hidden": "true" }), this.props.currentValue && (jsx(PButtonPure, { className: "button", icon: "close", hideLabel: "true", theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsxs("div", { id: dropdownId, className: "listbox", children: [!this.props.hasFilterResults && (jsxs("div", { className: "no-results", "aria-live": "polite", role: "status", children: [jsx("span", { "aria-hidden": "true", children: "---" }), jsx("span", { className: "sr-only", children: "No results found" })] })), jsx("slot", {})] })] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText }), this.props.isWithinForm && jsx("slot", { name: "internal-select" })] })] }), this.props.children] }));
99
98
  }
100
99
  }
101
100
 
@@ -68,8 +68,8 @@ import { Component } from 'react';
68
68
  import { minifyCss } from '../../minifyCss.mjs';
69
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
70
70
  import { getPinCodeCss as getComponentCss$v } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
- import { hiddenInputSlotName } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
72
- import { StateMessage } from './state-message.mjs';
71
+ import { messageId, StateMessage } from './state-message.mjs';
72
+ import { Label, labelId, descriptionId } from './label.mjs';
73
73
 
74
74
  class DSRPinCode extends Component {
75
75
  host;
@@ -82,12 +82,9 @@ class DSRPinCode extends Component {
82
82
  // reset array of input elements
83
83
  this.inputElements = [];
84
84
  const currentInputId = 'current-input';
85
- const labelId = 'label';
86
- const descriptionId = 'description';
87
- const messageId = 'message';
88
85
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$v(this.props.hideLabel, this.props.state, this.props.disabled, this.props.loading, this.props.isWithinForm, this.props.length, this.props.theme)));
89
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("label", { className: "label", htmlFor: currentInputId, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { id: labelId, className: "label__text", children: this.props.label || jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsx("span", { id: descriptionId, className: "label__text", children: this.props.description || jsx("slot", { name: "description" }) }))] }), jsxs("div", { className: "input-container", children: [this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), this.props.isWithinForm && jsx("slot", { name: hiddenInputSlotName }), Array.from(Array(this.props.length), (_, index) => (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
90
- , 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) && (jsx(StateMessage, { id: messageId, state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
86
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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: currentInputId, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxs("div", { className: "wrapper", children: [Array.from(Array(this.props.length), (_, index) => (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, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
87
+ , defaultValue: this.props.value[index] === ' ' ? null : this.props.value[index], disabled: this.props.disabled, required: this.props.required }, index))), this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } }))] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), this.props.isWithinForm && jsx("slot", { name: "internal-input" })] })] }), this.props.children] }));
91
88
  }
92
89
  }
93
90
 
@@ -69,16 +69,17 @@ import { minifyCss } from '../../minifyCss.mjs';
69
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
70
70
  import { getRadioButtonWrapperCss as getComponentCss$t } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
71
  import { StateMessage } from './state-message.mjs';
72
+ import { Label } from './label.mjs';
72
73
 
73
74
  class DSRRadioButtonWrapper extends Component {
74
75
  host;
75
76
  input;
76
77
  render() {
77
78
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
78
- // spinner is only displayed when radio is not checked already
79
- const isLoading = this.props.loading && !(typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && (otherChildren[0]?.props.checked || otherChildren[0]?.props.defaultChecked));
80
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$t(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, isLoading, this.props.theme)));
81
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("label", { "aria-disabled": isLoading ? 'true' : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { className: "text", children: this.props.label || jsx("slot", { name: "label" }) })), jsx("slot", {}), isLoading && (jsx(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) && (jsx(StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
79
+ const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
80
+ 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
81
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$t(this.props.hideLabel, this.props.state, disabled, isLoading, this.props.theme)));
82
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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, isLoading: isLoading, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), isLoading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
82
83
  }
83
84
  }
84
85
 
@@ -80,6 +80,8 @@ class DSRSelectWrapperDropdown extends Component {
80
80
  return 0;
81
81
  }
82
82
  render() {
83
+ // TODO: part won't be needed as soon as button/input of select-wrapper-dropdown is part of shadow dom of select-wrapper itself
84
+ const part = 'select-wrapper-dropdown';
83
85
  this.props.description && 'description';
84
86
  const buttonId = 'value';
85
87
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$p(this.props.direction === 'auto'
@@ -87,8 +89,12 @@ class DSRSelectWrapperDropdown extends Component {
87
89
  : this.props.direction, this.isOpen, this.props.state, this.props.disabled, this.props.filter, this.props.theme)));
88
90
  return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: this.props.filter ? ([
89
91
  jsx("input", { type: "text", role: "combobox", disabled: this.props.disabled, placeholder: getSelectedOptionMap(this.optionMaps)?.value || null, autoComplete: "off", defaultValue: this.searchString }, "input"),
90
- jsx("span", {}, "span"),
91
- ]) : (jsx("button", { type: "button", role: "combobox", id: buttonId, disabled: this.props.disabled })) })] }) }));
92
+ jsx("span", {
93
+ /* @ts-ignore */
94
+ part: part }, "span"),
95
+ ]) : (jsx("button", {
96
+ /* @ts-ignore */
97
+ part: part, type: "button", role: "combobox", id: buttonId, disabled: this.props.disabled })) })] }) }));
92
98
  }
93
99
  }
94
100
 
@@ -71,21 +71,18 @@ import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
71
71
  import { getSelectWrapperCss as getComponentCss$o } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
72
72
  import { isCustomDropdown } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
73
73
  import { StateMessage } from './state-message.mjs';
74
+ import { Label } from './label.mjs';
74
75
 
75
76
  class DSRSelectWrapper extends Component {
76
77
  host;
77
78
  select;
78
79
  iconElement;
79
- dropdownElement;
80
80
  render() {
81
81
  const hasCustomDropdown = isCustomDropdown(this.props.filter, this.props.native);
82
82
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
83
83
  const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
84
- const labelProps = disabled
85
- ? {}
86
- : {};
87
84
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$o(disabled, hasCustomDropdown, this.props.hideLabel, this.props.state, this.props.theme)));
88
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("div", { className: "root", children: [jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { className: "label__text", ...labelProps, children: this.props.label || jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsx("span", { className: "label__text", ...labelProps, children: this.props.description || jsx("slot", { name: "description" }) })), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" }), jsx("slot", {})] }), hasCustomDropdown && !disabled && (jsx(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) && (jsx(StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
85
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), jsx(PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" }), hasCustomDropdown && !disabled && (jsx(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) }))] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
89
86
  }
90
87
  }
91
88
 
@@ -65,9 +65,10 @@ import '../components/toast.wrapper.mjs';
65
65
  import '../components/wordmark.wrapper.mjs';
66
66
  import { getRole } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
67
67
 
68
- const StateMessage = ({ id, state, message, theme }) => {
68
+ const messageId = 'message';
69
+ const StateMessage = ({ hasMessage, state, message, theme }) => {
69
70
  const isErrorState = state === 'error';
70
- return (jsxs("span", { id: id, className: "message", role: getRole(state), children: [jsx(PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'notification-error' : 'notification-success', theme: theme, "aria-hidden": "true" }), message || jsx("slot", { name: "message" })] }));
71
+ return (hasMessage && (jsxs("span", { id: messageId, className: "message", role: getRole(state), children: [jsx(PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'notification-error' : 'notification-success', theme: theme, "aria-hidden": "true" }), message || jsx("slot", { name: "message" })] })));
71
72
  };
72
73
 
73
- export { StateMessage };
74
+ export { StateMessage, messageId };
@@ -72,6 +72,7 @@ import { getTabsBarCss as getComponentCss$c } from '../../../../../../components
72
72
  class DSRTabsBar extends Component {
73
73
  host;
74
74
  tabElements = [];
75
+ internalTabIndex = this.props.activeTabIndex; // to not override and mutate external prop value
75
76
  barElement;
76
77
  scrollerElement;
77
78
  direction = 'next';
@@ -70,6 +70,7 @@ import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
70
70
  import { getTextFieldWrapperCss as getComponentCss$7 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
71
  import { isWithinForm, hasLocateAction, showCustomCalendarOrTimeIndicator, isType } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
72
72
  import { StateMessage } from './state-message.mjs';
73
+ import { Label } from './label.mjs';
73
74
 
74
75
  class DSRTextFieldWrapper extends Component {
75
76
  host;
@@ -91,7 +92,6 @@ class DSRTextFieldWrapper extends Component {
91
92
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
92
93
  const { readOnly, disabled, type } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
93
94
  const disabledOrReadOnly = disabled || readOnly;
94
- const labelProps = {};
95
95
  const buttonProps = {
96
96
  hideLabel: true,
97
97
  theme: this.props.theme,
@@ -106,12 +106,12 @@ class DSRTextFieldWrapper extends Component {
106
106
  const hasCounter = false; // hasCounterAndIsTypeText(otherChildren[0]?.props);
107
107
  const isClearable = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && !!otherChildren[0]?.props.value;
108
108
  const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$7(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)));
109
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("div", { className: "root", children: [jsxs("label", { className: "label", children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { className: "label__text", ...labelProps, children: this.props.label || jsx("slot", { name: "label" }) })), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) && (jsx("span", { className: "label__text", ...labelProps, children: this.props.description || jsx("slot", { name: "description" }) })), (this.props.isCounterVisible) && (jsx("span", { className: "unit", "aria-hidden": "true", children: this.props.unit })), jsx("slot", {}), hasCounter ] }), isPassword && this.props.showPasswordToggle ? (jsx(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" })) : showCustomCalendarOrTimeIndicator(isCalendar, isTime) ? (jsx(PButtonPure, { ...buttonProps, type: "button", icon: isCalendar ? 'calendar' : 'clock', disabled: disabled, children: `Show ${isCalendar ? 'date' : 'time'} picker` })) : (isSearch && [
109
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props, isDisabled: disabled }), jsxs("div", { className: "wrapper", children: [jsx("slot", {}), hasCounter , (this.props.isCounterVisible) && (jsx("span", { className: "unit", "aria-hidden": "true", children: this.props.unit })), isPassword && this.props.showPasswordToggle ? (jsx(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" })) : showCustomCalendarOrTimeIndicator(isCalendar, isTime) ? (jsxs(PButtonPure, { ...buttonProps, type: "button", icon: isCalendar ? 'calendar' : 'clock', disabled: disabled, children: ["Show $", isCalendar ? 'date' : 'time', " picker"] })) : (isSearch && [
110
110
  // TODO: create an own component, which would fix SSR support too
111
111
  this.props.isWithinForm ? (createElement(PButtonPure, { ...buttonProps, key: "btn-submit", type: "submit", icon: "search", disabled: disabledOrReadOnly }, "Search")) : (jsx(PIcon, { className: "icon", name: "search", color: "state-disabled", theme: this.props.theme, "aria-hidden": "true" }, "icon")),
112
- createElement(PButtonPure, { ...buttonProps, type: "button", key: "btn-clear", icon: "close", tabIndex: -1, hidden: !isClearable, disabled: disabledOrReadOnly }, "Clear field"),
113
- hasAction && (createElement(PButtonPure, { ...buttonProps, type: "button", key: "btn-action", icon: "locate", hidden: isClearable, disabled: disabledOrReadOnly, loading: this.props.actionLoading }, "Locate me")),
114
- ])] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsx(StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
112
+ createElement(PButtonPure, { ...buttonProps, key: "btn-clear", type: "button", icon: "close", tabIndex: -1, hidden: !isClearable, disabled: disabledOrReadOnly }, "Clear field"),
113
+ hasAction && (createElement(PButtonPure, { ...buttonProps, key: "btn-action", type: "button", icon: "locate", hidden: isClearable, disabled: disabledOrReadOnly, loading: this.props.actionLoading }, "Locate me")),
114
+ ])] }), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
115
115
  }
116
116
  }
117
117