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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/OSS_NOTICE +195 -855
  3. package/README.md +0 -5
  4. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  5. package/cjs/lib/components/banner.wrapper.cjs +3 -3
  6. package/cjs/lib/components/segmented-control.wrapper.cjs +3 -3
  7. package/esm/hooks.mjs +1 -1
  8. package/esm/lib/components/accordion.wrapper.d.ts +8 -0
  9. package/esm/lib/components/banner.wrapper.d.ts +37 -15
  10. package/esm/lib/components/banner.wrapper.mjs +3 -3
  11. package/esm/lib/components/button-pure.wrapper.d.ts +22 -0
  12. package/esm/lib/components/button-tile.wrapper.d.ts +20 -0
  13. package/esm/lib/components/button.wrapper.d.ts +14 -0
  14. package/esm/lib/components/canvas.wrapper.d.ts +6 -0
  15. package/esm/lib/components/carousel.wrapper.d.ts +22 -0
  16. package/esm/lib/components/checkbox.wrapper.d.ts +24 -0
  17. package/esm/lib/components/crest.wrapper.d.ts +2 -0
  18. package/esm/lib/components/display.wrapper.d.ts +8 -0
  19. package/esm/lib/components/divider.wrapper.d.ts +4 -0
  20. package/esm/lib/components/drilldown-item.wrapper.d.ts +6 -0
  21. package/esm/lib/components/drilldown-link.wrapper.d.ts +4 -0
  22. package/esm/lib/components/drilldown.wrapper.d.ts +2 -0
  23. package/esm/lib/components/fieldset.wrapper.d.ts +10 -0
  24. package/esm/lib/components/flag.wrapper.d.ts +4 -0
  25. package/esm/lib/components/flyout.wrapper.d.ts +12 -0
  26. package/esm/lib/components/heading.wrapper.d.ts +12 -0
  27. package/esm/lib/components/icon.wrapper.d.ts +6 -0
  28. package/esm/lib/components/inline-notification.wrapper.d.ts +14 -0
  29. package/esm/lib/components/input-date.wrapper.d.ts +24 -0
  30. package/esm/lib/components/input-email.wrapper.d.ts +28 -0
  31. package/esm/lib/components/input-month.wrapper.d.ts +24 -0
  32. package/esm/lib/components/input-number.wrapper.d.ts +28 -0
  33. package/esm/lib/components/input-password.wrapper.d.ts +26 -0
  34. package/esm/lib/components/input-search.wrapper.d.ts +28 -0
  35. package/esm/lib/components/input-tel.wrapper.d.ts +26 -0
  36. package/esm/lib/components/input-text.wrapper.d.ts +26 -0
  37. package/esm/lib/components/input-time.wrapper.d.ts +24 -0
  38. package/esm/lib/components/input-url.wrapper.d.ts +26 -0
  39. package/esm/lib/components/input-week.wrapper.d.ts +24 -0
  40. package/esm/lib/components/link-pure.wrapper.d.ts +18 -0
  41. package/esm/lib/components/link-tile-product.wrapper.d.ts +8 -0
  42. package/esm/lib/components/link-tile.wrapper.d.ts +14 -0
  43. package/esm/lib/components/link.wrapper.d.ts +10 -0
  44. package/esm/lib/components/modal.wrapper.d.ts +12 -0
  45. package/esm/lib/components/model-signature.wrapper.d.ts +12 -0
  46. package/esm/lib/components/multi-select-option.wrapper.d.ts +2 -0
  47. package/esm/lib/components/multi-select.wrapper.d.ts +20 -0
  48. package/esm/lib/components/optgroup.wrapper.d.ts +2 -0
  49. package/esm/lib/components/pagination.wrapper.d.ts +10 -0
  50. package/esm/lib/components/pin-code.wrapper.d.ts +24 -0
  51. package/esm/lib/components/popover.wrapper.d.ts +2 -0
  52. package/esm/lib/components/radio-group-option.wrapper.d.ts +4 -0
  53. package/esm/lib/components/radio-group.wrapper.d.ts +22 -0
  54. package/esm/lib/components/scroller.wrapper.d.ts +6 -0
  55. package/esm/lib/components/segmented-control-item.wrapper.d.ts +2 -0
  56. package/esm/lib/components/segmented-control.wrapper.d.ts +28 -0
  57. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  58. package/esm/lib/components/select-option.wrapper.d.ts +2 -0
  59. package/esm/lib/components/select.wrapper.d.ts +20 -0
  60. package/esm/lib/components/sheet.wrapper.d.ts +8 -0
  61. package/esm/lib/components/spinner.wrapper.d.ts +4 -0
  62. package/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -0
  63. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +2 -0
  64. package/esm/lib/components/switch.wrapper.d.ts +14 -0
  65. package/esm/lib/components/table-cell.wrapper.d.ts +2 -0
  66. package/esm/lib/components/table-head-cell.wrapper.d.ts +4 -0
  67. package/esm/lib/components/table.wrapper.d.ts +6 -0
  68. package/esm/lib/components/tabs-bar.wrapper.d.ts +6 -0
  69. package/esm/lib/components/tabs.wrapper.d.ts +8 -0
  70. package/esm/lib/components/tag-dismissible.wrapper.d.ts +2 -0
  71. package/esm/lib/components/tag.wrapper.d.ts +6 -0
  72. package/esm/lib/components/text-list.wrapper.d.ts +2 -0
  73. package/esm/lib/components/text.wrapper.d.ts +14 -0
  74. package/esm/lib/components/textarea.wrapper.d.ts +30 -0
  75. package/esm/lib/components/wordmark.wrapper.d.ts +4 -0
  76. package/esm/lib/types.d.ts +34 -25
  77. package/global-styles/cn/index.css +43 -39
  78. package/global-styles/color-scheme.css +24 -24
  79. package/global-styles/index.css +43 -39
  80. package/global-styles/variables.css +19 -15
  81. package/package.json +5 -3
  82. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1043 -847
  83. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +58 -84
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.cjs +4 -5
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +4 -4
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +18 -8
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -1
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -1
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +3 -2
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +13 -11
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +3 -1
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +4 -5
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.cjs +10 -0
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +5 -2
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -2
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +4 -2
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +8 -4
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +6 -5
  107. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
  108. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -6
  109. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
  110. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  111. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  112. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +4 -24
  113. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
  114. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +4 -2
  115. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1043 -848
  116. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +54 -83
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/hooks.mjs +1 -1
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/banner.wrapper.mjs +4 -5
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -4
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +18 -8
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +1 -1
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -4
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +14 -12
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +4 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +5 -6
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.mjs +8 -0
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +6 -3
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -2
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +5 -3
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +10 -6
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +7 -6
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +2 -7
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +4 -24
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +5 -3
  153. package/ssr/esm/lib/components/accordion.wrapper.d.ts +8 -0
  154. package/ssr/esm/lib/components/banner.wrapper.d.ts +37 -15
  155. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +22 -0
  156. package/ssr/esm/lib/components/button-tile.wrapper.d.ts +20 -0
  157. package/ssr/esm/lib/components/button.wrapper.d.ts +14 -0
  158. package/ssr/esm/lib/components/canvas.wrapper.d.ts +6 -0
  159. package/ssr/esm/lib/components/carousel.wrapper.d.ts +22 -0
  160. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +24 -0
  161. package/ssr/esm/lib/components/crest.wrapper.d.ts +2 -0
  162. package/ssr/esm/lib/components/display.wrapper.d.ts +8 -0
  163. package/ssr/esm/lib/components/divider.wrapper.d.ts +4 -0
  164. package/ssr/esm/lib/components/drilldown-item.wrapper.d.ts +6 -0
  165. package/ssr/esm/lib/components/drilldown-link.wrapper.d.ts +4 -0
  166. package/ssr/esm/lib/components/drilldown.wrapper.d.ts +2 -0
  167. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +10 -0
  168. package/ssr/esm/lib/components/flag.wrapper.d.ts +4 -0
  169. package/ssr/esm/lib/components/flyout.wrapper.d.ts +12 -0
  170. package/ssr/esm/lib/components/heading.wrapper.d.ts +12 -0
  171. package/ssr/esm/lib/components/icon.wrapper.d.ts +6 -0
  172. package/ssr/esm/lib/components/inline-notification.wrapper.d.ts +14 -0
  173. package/ssr/esm/lib/components/input-date.wrapper.d.ts +24 -0
  174. package/ssr/esm/lib/components/input-email.wrapper.d.ts +28 -0
  175. package/ssr/esm/lib/components/input-month.wrapper.d.ts +24 -0
  176. package/ssr/esm/lib/components/input-number.wrapper.d.ts +28 -0
  177. package/ssr/esm/lib/components/input-password.wrapper.d.ts +26 -0
  178. package/ssr/esm/lib/components/input-search.wrapper.d.ts +28 -0
  179. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +26 -0
  180. package/ssr/esm/lib/components/input-text.wrapper.d.ts +26 -0
  181. package/ssr/esm/lib/components/input-time.wrapper.d.ts +24 -0
  182. package/ssr/esm/lib/components/input-url.wrapper.d.ts +26 -0
  183. package/ssr/esm/lib/components/input-week.wrapper.d.ts +24 -0
  184. package/ssr/esm/lib/components/link-pure.wrapper.d.ts +18 -0
  185. package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +8 -0
  186. package/ssr/esm/lib/components/link-tile.wrapper.d.ts +14 -0
  187. package/ssr/esm/lib/components/link.wrapper.d.ts +10 -0
  188. package/ssr/esm/lib/components/modal.wrapper.d.ts +12 -0
  189. package/ssr/esm/lib/components/model-signature.wrapper.d.ts +12 -0
  190. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +2 -0
  191. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +20 -0
  192. package/ssr/esm/lib/components/optgroup.wrapper.d.ts +2 -0
  193. package/ssr/esm/lib/components/pagination.wrapper.d.ts +10 -0
  194. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +24 -0
  195. package/ssr/esm/lib/components/popover.wrapper.d.ts +2 -0
  196. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +4 -0
  197. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +22 -0
  198. package/ssr/esm/lib/components/scroller.wrapper.d.ts +6 -0
  199. package/ssr/esm/lib/components/segmented-control-item.wrapper.d.ts +2 -0
  200. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +28 -0
  201. package/ssr/esm/lib/components/select-option.wrapper.d.ts +2 -0
  202. package/ssr/esm/lib/components/select.wrapper.d.ts +20 -0
  203. package/ssr/esm/lib/components/sheet.wrapper.d.ts +8 -0
  204. package/ssr/esm/lib/components/spinner.wrapper.d.ts +4 -0
  205. package/ssr/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -0
  206. package/ssr/esm/lib/components/stepper-horizontal.wrapper.d.ts +2 -0
  207. package/ssr/esm/lib/components/switch.wrapper.d.ts +14 -0
  208. package/ssr/esm/lib/components/table-cell.wrapper.d.ts +2 -0
  209. package/ssr/esm/lib/components/table-head-cell.wrapper.d.ts +4 -0
  210. package/ssr/esm/lib/components/table.wrapper.d.ts +6 -0
  211. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +6 -0
  212. package/ssr/esm/lib/components/tabs.wrapper.d.ts +8 -0
  213. package/ssr/esm/lib/components/tag-dismissible.wrapper.d.ts +2 -0
  214. package/ssr/esm/lib/components/tag.wrapper.d.ts +6 -0
  215. package/ssr/esm/lib/components/text-list.wrapper.d.ts +2 -0
  216. package/ssr/esm/lib/components/text.wrapper.d.ts +14 -0
  217. package/ssr/esm/lib/components/textarea.wrapper.d.ts +30 -0
  218. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +4 -0
  219. package/ssr/esm/lib/dsr-components/accordion.d.ts +1 -0
  220. package/ssr/esm/lib/dsr-components/banner.d.ts +8 -4
  221. package/ssr/esm/lib/dsr-components/button-pure.d.ts +1 -0
  222. package/ssr/esm/lib/dsr-components/button-tile.d.ts +1 -0
  223. package/ssr/esm/lib/dsr-components/button.d.ts +1 -0
  224. package/ssr/esm/lib/dsr-components/canvas.d.ts +1 -0
  225. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  226. package/ssr/esm/lib/dsr-components/checkbox.d.ts +1 -0
  227. package/ssr/esm/lib/dsr-components/crest.d.ts +1 -0
  228. package/ssr/esm/lib/dsr-components/display.d.ts +1 -0
  229. package/ssr/esm/lib/dsr-components/divider.d.ts +1 -0
  230. package/ssr/esm/lib/dsr-components/drilldown-item.d.ts +1 -0
  231. package/ssr/esm/lib/dsr-components/drilldown-link.d.ts +1 -0
  232. package/ssr/esm/lib/dsr-components/drilldown.d.ts +1 -0
  233. package/ssr/esm/lib/dsr-components/fieldset.d.ts +1 -0
  234. package/ssr/esm/lib/dsr-components/flag.d.ts +1 -0
  235. package/ssr/esm/lib/dsr-components/flyout.d.ts +1 -0
  236. package/ssr/esm/lib/dsr-components/heading.d.ts +1 -0
  237. package/ssr/esm/lib/dsr-components/icon.d.ts +1 -0
  238. package/ssr/esm/lib/dsr-components/inline-notification.d.ts +4 -2
  239. package/ssr/esm/lib/dsr-components/input-base.d.ts +1 -0
  240. package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
  241. package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
  242. package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
  243. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  244. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  245. package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
  246. package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
  247. package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
  248. package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
  249. package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
  250. package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
  251. package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
  252. package/ssr/esm/lib/dsr-components/link-pure.d.ts +1 -0
  253. package/ssr/esm/lib/dsr-components/link-tile-product.d.ts +1 -0
  254. package/ssr/esm/lib/dsr-components/link-tile.d.ts +1 -0
  255. package/ssr/esm/lib/dsr-components/link.d.ts +1 -0
  256. package/ssr/esm/lib/dsr-components/modal.d.ts +1 -0
  257. package/ssr/esm/lib/dsr-components/model-signature.d.ts +1 -0
  258. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +1 -0
  259. package/ssr/esm/lib/dsr-components/multi-select.d.ts +1 -0
  260. package/ssr/esm/lib/dsr-components/notification-base.d.ts +14 -0
  261. package/ssr/esm/lib/dsr-components/optgroup.d.ts +1 -0
  262. package/ssr/esm/lib/dsr-components/pagination.d.ts +1 -0
  263. package/ssr/esm/lib/dsr-components/pin-code.d.ts +1 -0
  264. package/ssr/esm/lib/dsr-components/popover.d.ts +1 -0
  265. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +1 -0
  266. package/ssr/esm/lib/dsr-components/radio-group.d.ts +1 -0
  267. package/ssr/esm/lib/dsr-components/scroller.d.ts +1 -0
  268. package/ssr/esm/lib/dsr-components/segmented-control-item.d.ts +1 -0
  269. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +1 -0
  270. package/ssr/esm/lib/dsr-components/select-option.d.ts +1 -0
  271. package/ssr/esm/lib/dsr-components/select.d.ts +1 -0
  272. package/ssr/esm/lib/dsr-components/sheet.d.ts +1 -0
  273. package/ssr/esm/lib/dsr-components/spinner.d.ts +1 -0
  274. package/ssr/esm/lib/dsr-components/stepper-horizontal-item.d.ts +1 -0
  275. package/ssr/esm/lib/dsr-components/stepper-horizontal.d.ts +1 -0
  276. package/ssr/esm/lib/dsr-components/switch.d.ts +1 -0
  277. package/ssr/esm/lib/dsr-components/table-body.d.ts +1 -0
  278. package/ssr/esm/lib/dsr-components/table-cell.d.ts +1 -0
  279. package/ssr/esm/lib/dsr-components/table-head-cell.d.ts +1 -0
  280. package/ssr/esm/lib/dsr-components/table-head-row.d.ts +1 -0
  281. package/ssr/esm/lib/dsr-components/table-head.d.ts +1 -0
  282. package/ssr/esm/lib/dsr-components/table-row.d.ts +1 -0
  283. package/ssr/esm/lib/dsr-components/table.d.ts +1 -0
  284. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +1 -0
  285. package/ssr/esm/lib/dsr-components/tabs-item.d.ts +1 -0
  286. package/ssr/esm/lib/dsr-components/tabs.d.ts +1 -0
  287. package/ssr/esm/lib/dsr-components/tag-dismissible.d.ts +1 -0
  288. package/ssr/esm/lib/dsr-components/tag.d.ts +1 -0
  289. package/ssr/esm/lib/dsr-components/text-list-item.d.ts +1 -0
  290. package/ssr/esm/lib/dsr-components/text-list.d.ts +1 -0
  291. package/ssr/esm/lib/dsr-components/text.d.ts +1 -0
  292. package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
  293. package/ssr/esm/lib/dsr-components/toast.d.ts +1 -0
  294. package/ssr/esm/lib/dsr-components/wordmark.d.ts +1 -0
  295. package/ssr/esm/lib/types.d.ts +34 -25
  296. package/tailwindcss/index.css +350 -92
@@ -3187,7 +3187,7 @@ var jssPluginSortMediaQueries = /*@__PURE__*/getDefaultExportFromCjs(distExports
3187
3187
  const getTagName = (el) => el.tagName.toLowerCase();
3188
3188
  const getTagNameWithoutPrefix = (host) => {
3189
3189
  const tagName = getTagName(host);
3190
- const [, tagNameWithoutPrefix = ''] = /^(?:[a-z-]+-)?(p-[a-z-]+)$/.exec(tagName) || [];
3190
+ const [, tagNameWithoutPrefix = ''] = /^(?:[a-z0-9-]+-)?(p-[a-z-]+)$/.exec(tagName) || [];
3191
3191
  return (tagNameWithoutPrefix || tagName); // return tagName as fallback for default tags
3192
3192
  };
3193
3193
 
@@ -3252,36 +3252,50 @@ const parseAndGetAriaAttributes = (rawAttributes) => {
3252
3252
  }
3253
3253
  return undefined;
3254
3254
  };
3255
+ /**
3256
+ * Builds a space-separated IDREF string from conditional ID entries.
3257
+ * Returns `null` when no IDs are truthy — safe for JSX attribute assignment.
3258
+ */
3259
+ const setAriaIDREF = (...ids) => {
3260
+ const result = ids.filter(Boolean).join(' ');
3261
+ return result || null;
3262
+ };
3255
3263
 
3256
3264
  const getButtonBaseAriaAttributes = (isDisabled, isLoading) => {
3257
3265
  return {
3258
3266
  'aria-disabled': isDisabledOrLoading(isDisabled, isLoading) ? 'true' : null,
3259
3267
  };
3260
3268
  };
3261
- // TODO: Can this be shared with select-wrapper dropdown?
3262
- const getComboboxAriaAttributes = (isOpen, isRequired, labelId, descriptionId, dropdownId) => {
3269
+
3270
+ const getComboboxAriaAttributes = (isOpen, isRequired, labelId, messageId, descriptionId, listboxId) => {
3263
3271
  return {
3264
3272
  'aria-labelledby': labelId || null,
3265
- 'aria-describedby': descriptionId || null,
3273
+ 'aria-describedby': setAriaIDREF(messageId, descriptionId),
3266
3274
  'aria-haspopup': 'listbox',
3267
3275
  'aria-expanded': isOpen ? 'true' : 'false',
3268
3276
  'aria-required': isRequired ? 'true' : 'false',
3269
- 'aria-controls': dropdownId,
3277
+ 'aria-controls': listboxId || null,
3278
+ };
3279
+ };
3280
+ const getListboxAriaAttributes = (isRequired, labelId, messageId, descriptionId, multiselectable) => {
3281
+ return {
3282
+ role: 'listbox',
3283
+ 'aria-labelledby': labelId || null,
3284
+ 'aria-describedby': setAriaIDREF(messageId, descriptionId),
3285
+ 'aria-required': isRequired ? 'true' : 'false',
3286
+ 'aria-multiselectable': multiselectable ? 'true' : 'false',
3270
3287
  };
3271
3288
  };
3272
-
3273
- /** @deprecated since v4.0.0, will be removed with next major release. Use 2px instead. */
3274
- const borderWidthBase = '2px';
3275
3289
 
3276
3290
  const fontPorscheNext = "'Porsche Next','Arial Narrow',Arial,'Heiti SC',SimHei,sans-serif";
3277
3291
 
3278
3292
  /** @deprecated since v4.0.0, will be removed with next major release. Use fontPorscheNext instead. */
3279
3293
  const fontFamily = fontPorscheNext;
3280
3294
 
3281
- const leadingNormal = 'calc(6px + 2.125ex)';
3295
+ const leadingNormal$1 = 'calc(6px + 2.125ex)';
3282
3296
 
3283
3297
  /** @deprecated since v4.0.0, will be removed with next major release. Use leadingNormal instead */
3284
- const fontLineHeight = leadingNormal;
3298
+ const fontLineHeight = leadingNormal$1;
3285
3299
 
3286
3300
  const typescaleSm = '1rem';
3287
3301
 
@@ -3440,7 +3454,7 @@ const hasShowPickerSupport = () => (hasDocument &&
3440
3454
  'showPicker' in HTMLInputElement.prototype &&
3441
3455
  CSS.supports('selector(::-webkit-calendar-picker-indicator)'));
3442
3456
 
3443
- const prefix = `[Porsche Design System v${"4.0.0-rc.0"}]` // this part isn't covered by unit tests
3457
+ const prefix = `[Porsche Design System v${"4.0.0-rc.2"}]` // this part isn't covered by unit tests
3444
3458
  ;
3445
3459
  const consoleError$1 = (...messages) => {
3446
3460
  console.error(prefix, ...messages);
@@ -3461,64 +3475,6 @@ const supportsNativePopover = () => {
3461
3475
  const hasNativePopoverSupport = supportsNativePopover();
3462
3476
  // getter for easy mocking
3463
3477
  const getHasNativePopoverSupport = () => hasNativePopoverSupport;
3464
-
3465
- /*
3466
- Stencil Client Platform v4.23.2 | MIT Licensed | https://stenciljs.com
3467
- */
3468
- var __defProp = Object.defineProperty;
3469
- var __export = (target, all) => {
3470
- for (var name in all)
3471
- __defProp(target, name, { get: all[name], enumerable: true });
3472
- };
3473
-
3474
- // src/utils/result.ts
3475
- var result_exports = {};
3476
- __export(result_exports, {
3477
- err: () => err,
3478
- map: () => map,
3479
- ok: () => ok,
3480
- unwrap: () => unwrap,
3481
- unwrapErr: () => unwrapErr
3482
- });
3483
- var ok = (value) => ({
3484
- isOk: true,
3485
- isErr: false,
3486
- value
3487
- });
3488
- var err = (value) => ({
3489
- isOk: false,
3490
- isErr: true,
3491
- value
3492
- });
3493
- function map(result, fn) {
3494
- if (result.isOk) {
3495
- const val = fn(result.value);
3496
- if (val instanceof Promise) {
3497
- return val.then((newVal) => ok(newVal));
3498
- } else {
3499
- return ok(val);
3500
- }
3501
- }
3502
- if (result.isErr) {
3503
- const value = result.value;
3504
- return err(value);
3505
- }
3506
- throw "should never get here";
3507
- }
3508
- var unwrap = (result) => {
3509
- if (result.isOk) {
3510
- return result.value;
3511
- } else {
3512
- throw result.value;
3513
- }
3514
- };
3515
- var unwrapErr = (result) => {
3516
- if (result.isErr) {
3517
- return result.value;
3518
- } else {
3519
- throw result.value;
3520
- }
3521
- };
3522
3478
  const headerSlot = 'header';
3523
3479
  const anchorSlot = 'anchor';
3524
3480
 
@@ -3619,6 +3575,14 @@ const internalValidateProps = {
3619
3575
  const breakpointCustomizableTemplate = `value, ${internalValidateProps
3620
3576
  .formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {}))
3621
3577
  .replace(/"/g, '')}`;
3578
+ const getBannerAriaAttributes = (state, heading) => {
3579
+ const isAlert = state === 'warning' || state === 'error';
3580
+ return {
3581
+ role: isAlert ? 'alert' : 'status',
3582
+ 'aria-live': isAlert ? 'assertive' : 'polite',
3583
+ 'aria-label': heading || null,
3584
+ };
3585
+ };
3622
3586
  const getButtonPureAriaAttributes = (isDisabled, isLoading, aria) => {
3623
3587
  return {
3624
3588
  ...parseAndGetAriaAttributes(aria),
@@ -3767,22 +3731,12 @@ const buildIconUrl = (iconNameOrSource = DEFAULT_ICON_NAME) => {
3767
3731
  }
3768
3732
  return buildIconUrl(DEFAULT_ICON_NAME);
3769
3733
  };
3770
- const getInlineNotificationIconName = (state) => {
3771
- const iconMap = {
3772
- info: 'information-filled',
3773
- warning: 'warning-filled',
3774
- success: 'success-filled',
3775
- error: 'error-filled',
3776
- };
3777
- return iconMap[state];
3778
- };
3779
- const getContentAriaAttributes = (state, labelId, descriptionId) => {
3734
+ const getInlineNotificationAriaAttributes = (state, heading) => {
3780
3735
  const isAlert = state === 'warning' || state === 'error';
3781
3736
  return {
3782
3737
  role: isAlert ? 'alert' : 'status',
3783
3738
  'aria-live': isAlert ? 'assertive' : 'polite',
3784
- 'aria-labelledby': labelId,
3785
- 'aria-describedby': descriptionId,
3739
+ 'aria-label': heading || null,
3786
3740
  };
3787
3741
  };
3788
3742
  const getSvgUrl = (model) => {
@@ -3919,7 +3873,7 @@ const tempDiv = hasDocument ? document.createElement('div') : undefined;
3919
3873
  if (tempDiv) {
3920
3874
  tempDiv.style.position = 'absolute';
3921
3875
  tempDiv.style.visibility = 'hidden';
3922
- tempDiv.style.border = `${borderWidthBase} solid`;
3876
+ tempDiv.style.border = '1px solid';
3923
3877
  tempDiv.style.boxSizing = 'border-box';
3924
3878
  tempDiv.style.font = BUTTON_FONT.replace(fontFamily, tempFont);
3925
3879
  }
@@ -3949,6 +3903,23 @@ const getSwitchButtonAriaAttributes = (isDisabled, isLoading, isChecked) => {
3949
3903
  const isSortable = (active, direction) => {
3950
3904
  return active !== undefined && direction !== undefined;
3951
3905
  };
3906
+ /**
3907
+ * Clamps and validates a tab index against the available tabs array.
3908
+ * Returns `undefined` if the index is out of range or invalid.
3909
+ * @internal
3910
+ */
3911
+ const getSanitizedActiveTabIndex = (tabIndex, tabs) => {
3912
+ const maxIndex = tabs.length - 1; // can be -1 without children
3913
+ if (tabIndex === undefined ||
3914
+ tabIndex === null ||
3915
+ !Number.isInteger(tabIndex) ||
3916
+ maxIndex < 0 ||
3917
+ tabIndex < 0 ||
3918
+ tabIndex > maxIndex) {
3919
+ return undefined;
3920
+ }
3921
+ return tabIndex;
3922
+ };
3952
3923
  const isListTypeOrdered = (type) => {
3953
3924
  return type !== 'unordered';
3954
3925
  };
@@ -3976,12 +3947,12 @@ exports.createRange = createRange;
3976
3947
  exports.crestSize = crestSize;
3977
3948
  exports.descriptionId = descriptionId;
3978
3949
  exports.displaySizeToTagMap = displaySizeToTagMap;
3950
+ exports.getBannerAriaAttributes = getBannerAriaAttributes;
3979
3951
  exports.getButtonAriaAttributes = getButtonAriaAttributes;
3980
3952
  exports.getButtonBaseAriaAttributes = getButtonBaseAriaAttributes;
3981
3953
  exports.getButtonPureAriaAttributes = getButtonPureAriaAttributes;
3982
3954
  exports.getCDNBaseURL = getCDNBaseURL;
3983
3955
  exports.getComboboxAriaAttributes = getComboboxAriaAttributes;
3984
- exports.getContentAriaAttributes = getContentAriaAttributes;
3985
3956
  exports.getCurrentActivePage = getCurrentActivePage;
3986
3957
  exports.getDirectChildHTMLElement = getDirectChildHTMLElement;
3987
3958
  exports.getDisplayTagType = getDisplayTagType;
@@ -3989,7 +3960,9 @@ exports.getFieldsetAriaAttributes = getFieldsetAriaAttributes;
3989
3960
  exports.getHTMLElement = getHTMLElement;
3990
3961
  exports.getHasNativePopoverSupport = getHasNativePopoverSupport;
3991
3962
  exports.getHeadingTagType = getHeadingTagType;
3992
- exports.getInlineNotificationIconName = getInlineNotificationIconName;
3963
+ exports.getInlineNotificationAriaAttributes = getInlineNotificationAriaAttributes;
3964
+ exports.getListboxAriaAttributes = getListboxAriaAttributes;
3965
+ exports.getSanitizedActiveTabIndex = getSanitizedActiveTabIndex;
3993
3966
  exports.getSegmentedControlItemAriaAttributes = getSegmentedControlItemAriaAttributes;
3994
3967
  exports.getStepperHorizontalIconName = getStepperHorizontalIconName;
3995
3968
  exports.getSvgUrl = getSvgUrl;
@@ -4017,6 +3990,7 @@ exports.labelId = labelId;
4017
3990
  exports.observedNodesMap = observedNodesMap;
4018
3991
  exports.parseAndGetAriaAttributes = parseAndGetAriaAttributes;
4019
3992
  exports.parseJSONAttribute = parseJSONAttribute;
3993
+ exports.setAriaIDREF = setAriaIDREF;
4020
3994
  exports.supportsConstructableStylesheets = supportsConstructableStylesheets;
4021
3995
  exports.supportsNativePopover = supportsNativePopover;
4022
3996
  exports.tempDiv = tempDiv;
@@ -7,22 +7,21 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var banner = require('../dsr-components/banner.cjs');
9
9
 
10
- const PBanner = /*#__PURE__*/ react.forwardRef(({ description = '', dismissButton = true, heading = '', headingTag = 'h5', onDismiss, open = false, state = 'info', className, children, ...rest }, ref) => {
10
+ const PBanner = /*#__PURE__*/ react.forwardRef(({ description = '', dismissButton = true, heading = '', headingTag = 'h5', onDismiss, open = false, position = { base: 'bottom', s: 'top' }, state = 'info', className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  hooks.useEventCallback(elementRef, 'dismiss', onDismiss);
13
13
  const WebComponentTag = hooks.usePrefix('p-banner');
14
- const propsToSync = [description, dismissButton, heading, headingTag, open, state];
14
+ const propsToSync = [description, dismissButton, heading, headingTag, open, position, state];
15
15
  hooks.useBrowserLayoutEffect(() => {
16
16
  const { current } = elementRef;
17
- ['description', 'dismissButton', 'heading', 'headingTag', 'open', 'state'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
+ ['description', 'dismissButton', 'heading', 'headingTag', 'open', 'position', 'state'].forEach((propName, i) => (current[propName] = propsToSync[i]));
18
18
  }, propsToSync);
19
19
  const props = {
20
20
  ...rest,
21
21
  // @ts-ignore
22
22
  ...(!process.browser
23
23
  ? {
24
- ...{ "popover": "manual" },
25
- children: (jsxRuntime.jsx(banner.DSRBanner, { description, dismissButton, heading, headingTag, open, state, children })),
24
+ children: (jsxRuntime.jsx(banner.DSRBanner, { description, dismissButton, heading, headingTag, open, position, state, children })),
26
25
  }
27
26
  : {
28
27
  children,
@@ -7,22 +7,22 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var segmentedControl = require('../dsr-components/segmented-control.cjs');
9
9
 
10
- const PSegmentedControl = /*#__PURE__*/ react.forwardRef(({ columns = 'auto', compact = false, description = '', disabled = false, form, hideLabel = false, label = '', message = '', name, onBlur, onChange, required = false, state = 'none', value, className, children, ...rest }, ref) => {
10
+ const PSegmentedControl = /*#__PURE__*/ react.forwardRef(({ columns = 'auto', compact = false, description = '', disabled = false, form, hideLabel = false, label = '', message = '', name, noWrap = false, onBlur, onChange, required = false, state = 'none', value, className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  hooks.useEventCallback(elementRef, 'blur', onBlur);
13
13
  hooks.useEventCallback(elementRef, 'change', onChange);
14
14
  const WebComponentTag = hooks.usePrefix('p-segmented-control');
15
- const propsToSync = [columns, compact, description, disabled, form, hideLabel, label, message, name, required, state, value];
15
+ const propsToSync = [columns, compact, description, disabled, form, hideLabel, label, message, name, noWrap, required, state, value];
16
16
  hooks.useBrowserLayoutEffect(() => {
17
17
  const { current } = elementRef;
18
- ['columns', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
18
+ ['columns', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'label', 'message', 'name', 'noWrap', 'required', 'state', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
19
  }, propsToSync);
20
20
  const props = {
21
21
  ...rest,
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsxRuntime.jsx(segmentedControl.DSRSegmentedControl, { columns, compact, description, disabled, form, hideLabel, label, message, name, required, state, value, children })),
25
+ children: (jsxRuntime.jsx(segmentedControl.DSRSegmentedControl, { columns, compact, description, disabled, form, hideLabel, label, message, name, noWrap, required, state, value, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -21,7 +21,7 @@ class DSRAccordion extends react.Component {
21
21
  hasSummaryBefore;
22
22
  hasSummaryAfter;
23
23
  render() {
24
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
24
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
25
25
  const hasSummary = namedSlotChildren.filter(({ props: { slot } }) => slot === 'summary').length > 0;
26
26
  const hasSummaryBefore = namedSlotChildren.filter(({ props: { slot } }) => slot === 'summary-before').length > 0;
27
27
  const hasSummaryAfter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'summary-after').length > 0;
@@ -6,22 +6,32 @@ require('../../provider.cjs');
6
6
  var splitChildren = require('../../splitChildren.cjs');
7
7
  var minifyCss = require('../../minifyCss.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
- var inlineNotification_wrapper = require('../components/inline-notification.wrapper.cjs');
9
+ var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
10
+ var notificationBase = require('./notification-base.cjs');
11
+ var button_wrapper = require('../components/button.wrapper.cjs');
10
12
 
11
13
  /**
12
- * @slot {"name": "heading", "description": "Defines the heading used in the banner. Can be used alternatively to the heading prop. Can be used for rich content.", "hasAltProp": true }
13
- * @slot {"name": "description", "description": "Defines the description used in the banner. Can be used alternatively to the description prop. Can be used for rich content.", "hasAltProp": true }
14
+ * @slot {"name": "heading", "description": "Defines the heading of the banner. Can be used as an alternative to the `heading` prop for rich content." }
15
+ * @slot {"name": "", "description": "Default slot for the banner description content." }
16
+ * @slot {"name": "description", "description": "Deprecated: Use the default slot instead.", "isDeprecated": true }
14
17
  *
15
18
  * @controlled {"props": ["open"], "event": "dismiss"}
16
19
  */
17
20
  class DSRBanner extends react.Component {
18
21
  host;
19
- inlineNotificationElement;
20
- closeBtn;
22
+ refPopover;
23
+ refDismiss;
24
+ hasHeadingSlot;
25
+ hasDescriptionSlot;
21
26
  render() {
22
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
23
- const style = minifyCss.minifyCss(stylesEntry.getBannerCss(this.props.open));
24
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(inlineNotification_wrapper.PInlineNotification, { heading: this.props.heading, headingTag: this.props.headingTag, description: this.props.description, state: this.props.state, dismissButton: this.props.dismissButton, "aria-hidden": this.props.open ? 'false' : 'true', children: [namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0 && jsxRuntime.jsx("slot", { name: "heading", slot: "heading" }), namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0 && jsxRuntime.jsx("slot", { name: "description" })] }) })] }), this.props.children] }));
27
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
28
+ const hasHeadingSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0;
29
+ const hasDescriptionSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0;
30
+ const headingText = this.props.heading ? this.props.heading : namedSlotChildren.find(({ props: { slot } }) => slot === 'heading')?.props.children;
31
+ const style = minifyCss.minifyCss(stylesEntry.getBannerCss(this.props.open, this.props.position, this.props.state, this.props.dismissButton, !!(this.props.heading || hasHeadingSlot)));
32
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx("div", { popover: "manual", "aria-hidden": this.props.open ? 'false' : 'true', ...utilsEntry.getBannerAriaAttributes(this.props.state, headingText), children: jsxRuntime.jsx(notificationBase.NotificationBase, { heading: this.props.heading, headingTag: this.props.headingTag, hasHeadingSlot: hasHeadingSlot, description: this.props.description, hasDescriptionSlot: hasDescriptionSlot, ...(this.props.dismissButton && {
33
+ dismissButton: (jsxRuntime.jsx(button_wrapper.PButton, { className: "dismiss", type: "button", variant: "secondary", icon: "close", hideLabel: true, compact: true, ...(headingText ? { aria: { 'aria-description': headingText } } : {}), children: "Close banner" })),
34
+ }) }) })] }), this.props.children] }));
25
35
  }
26
36
  }
27
37
 
@@ -22,7 +22,7 @@ class DSRButton extends react.Component {
22
22
  render() {
23
23
  splitChildren.splitChildren(this.props.children);
24
24
  const style = minifyCss.minifyCss(stylesEntry.getButtonCss(this.props.icon, this.props.iconSource, this.props.variant, this.props.hideLabel, this.props.disabled, this.props.loading, this.props.compact));
25
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [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, "aria-describedby": this.props.loading ? loadingMessage.loadingId : undefined, children: [this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", "aria-hidden": "true" }), 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: "inherit", "aria-hidden": "true" })), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
25
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [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, "aria-describedby": this.props.loading ? loadingMessage.loadingId : undefined, children: [this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", "aria-hidden": "true" }), utilsEntry.hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: this.props.iconSource ? undefined : this.props.icon, source: this.props.iconSource, color: "inherit", "aria-hidden": "true" })), jsxRuntime.jsx("span", { className: "label", children: jsxRuntime.jsx("slot", {}) })] }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
26
26
  }
27
27
  }
28
28
 
@@ -30,7 +30,7 @@ class DSRCanvas extends react.Component {
30
30
  hasFooter;
31
31
  hasBackground;
32
32
  render() {
33
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
33
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
34
34
  const hasTitle = namedSlotChildren.filter(({ props: { slot } }) => slot === 'title').length > 0;
35
35
  const hasSidebarEnd = namedSlotChildren.filter(({ props: { slot } }) => slot === 'sidebar-end').length > 0;
36
36
  const hasFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'footer').length > 0;
@@ -34,7 +34,7 @@ class DSRCarousel extends react.Component {
34
34
  return this.props.slidesPerPage === 'auto' || this.props.amountOfPages > 1;
35
35
  }
36
36
  render() {
37
- const { namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
37
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
38
38
  const hasHeadingPropOrSlot = (this.props.heading || namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0);
39
39
  const hasDescriptionPropOrSlot = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0);
40
40
  const hasControlsSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'controls').length > 0;
@@ -35,10 +35,11 @@ class DSRCheckbox extends react.Component {
35
35
  formStateRestoreCallback() {
36
36
  }
37
37
  render() {
38
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
38
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
39
+ const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? stateMessage.messageId : undefined;
39
40
  const id = 'x';
40
41
  const style = minifyCss.minifyCss(stylesEntry.getCheckboxCss(this.props.hideLabel, this.props.state, this.props.disabled, this.props.loading, this.props.compact));
41
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsxs("div", { className: "input-wrapper", children: [jsxRuntime.jsx("input", { type: "checkbox", id: id, "aria-describedby": `${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading || this.props.disabled ? 'true' : null, checked: this.props.checked, form: this.props.form, value: this.props.value, name: this.props.name, onBlur: this.props.onBlur, required: this.props.required, disabled: this.props.disabled }), this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", "aria-hidden": "true" })] }), 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, htmlFor: id, label: this.props.label, isLoading: this.props.loading, isDisabled: this.props.disabled, isRequired: this.props.required })] }), 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, host: null }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
42
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsxs("div", { className: "input-wrapper", children: [jsxRuntime.jsx("input", { type: "checkbox", id: id, "aria-describedby": utilsEntry.setAriaIDREF(this.props.loading && loadingMessage.loadingId, selectMessageId), "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading || this.props.disabled ? 'true' : null, checked: this.props.checked, form: this.props.form, value: this.props.value, name: this.props.name, onBlur: this.props.onBlur, required: this.props.required, disabled: this.props.disabled }), this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", "aria-hidden": "true" })] }), 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, htmlFor: id, label: this.props.label, isLoading: this.props.loading, isDisabled: this.props.disabled, isRequired: this.props.required })] }), 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, host: null }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
42
43
  }
43
44
  }
44
45
 
@@ -20,7 +20,7 @@ class DSRDrilldownItem extends react.Component {
20
20
  hasSlottedHeader;
21
21
  hasSlottedButton;
22
22
  render() {
23
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
23
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
24
24
  const hasSlottedHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
25
25
  const hasSlottedButton = namedSlotChildren.filter(({ props: { slot } }) => slot === 'button').length > 0;
26
26
  const style = minifyCss.minifyCss(stylesEntry.getDrilldownItemCss(this.props.primary, this.props.secondary, this.props.cascade));
@@ -17,7 +17,7 @@ var stateMessage = require('./state-message.cjs');
17
17
  class DSRFieldset extends react.Component {
18
18
  host;
19
19
  render() {
20
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
20
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
21
21
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
22
22
  const style = minifyCss.minifyCss(stylesEntry.getFieldsetCss(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0)));
23
23
  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, ...utilsEntry.getFieldsetAriaAttributes(this.props.required, this.props.state === 'error', this.props.aria), 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, host: null })] })] }), this.props.children] }));
@@ -27,7 +27,7 @@ class DSRFlyout extends react.Component {
27
27
  hasFooter;
28
28
  hasSubFooter;
29
29
  render() {
30
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
30
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
31
31
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
32
32
  const hasFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'footer').length > 0;
33
33
  const hasSubFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'sub-footer').length > 0;
@@ -7,25 +7,27 @@ var splitChildren = require('../../splitChildren.cjs');
7
7
  var minifyCss = require('../../minifyCss.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
9
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
10
+ var notificationBase = require('./notification-base.cjs');
10
11
  var button_wrapper = require('../components/button.wrapper.cjs');
11
12
  var buttonPure_wrapper = require('../components/button-pure.wrapper.cjs');
12
- var icon_wrapper = require('../components/icon.wrapper.cjs');
13
13
 
14
14
  /**
15
- * @slot {"name": "heading", "description": "Shows a heading. Can be used to render rich markup." }
16
- * @slot {"name": "", "description": "Default slot to render a description. Can be used to render rich markup." }
15
+ * @slot {"name": "heading", "description": "Defines the heading of the inline notification. Can be used as an alternative to the `heading` prop for rich content." }
16
+ * @slot {"name": "", "description": "Default slot for the inline notification description content." }
17
17
  */
18
18
  class DSRInlineNotification extends react.Component {
19
19
  host;
20
+ hasHeadingSlot;
20
21
  render() {
21
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
22
- const bannerId = 'banner';
23
- const labelId = 'label';
24
- const descriptionId = 'description';
25
- const Heading = this.props.headingTag;
26
- const style = minifyCss.minifyCss(stylesEntry.getInlineNotificationCss(this.props.state, !!this.props.actionLabel, this.props.dismissButton));
27
- 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.jsx(icon_wrapper.PIcon, { className: "icon", name: utilsEntry.getInlineNotificationIconName(this.props.state), color: this.props.state, "aria-hidden": "true" }), jsxRuntime.jsxs("div", { id: bannerId, className: "content", ...utilsEntry.getContentAriaAttributes(this.props.state, labelId, descriptionId), children: [(this.props.heading || namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0) &&
28
- (this.props.heading ? (jsxRuntime.jsx(Heading, { id: labelId, className: "heading", children: this.props.heading })) : (jsxRuntime.jsx("slot", { name: "heading" }))), jsxRuntime.jsx("p", { id: descriptionId, className: "description", children: this.props.description || jsxRuntime.jsx("slot", {}) })] }), this.props.actionLabel && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { className: "action", icon: this.props.actionIcon, loading: this.props.actionLoading, children: this.props.actionLabel })), this.props.dismissButton && (jsxRuntime.jsx(button_wrapper.PButton, { className: "close", type: "button", variant: "secondary", icon: "close", hideLabel: true, "aria-controls": bannerId, children: "Close notification" }))] })] }), this.props.children] }));
22
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
23
+ const hasHeadingSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0;
24
+ const headingText = this.props.heading ? this.props.heading : namedSlotChildren.find(({ props: { slot } }) => slot === 'heading')?.props.children;
25
+ const style = minifyCss.minifyCss(stylesEntry.getInlineNotificationCss(this.props.state, !!this.props.actionLabel, this.props.dismissButton, !!(this.props.heading || hasHeadingSlot)));
26
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(notificationBase.NotificationBase, { ...utilsEntry.getInlineNotificationAriaAttributes(this.props.state, headingText), heading: this.props.heading, headingTag: this.props.headingTag, hasHeadingSlot: hasHeadingSlot, description: this.props.description, ...(this.props.actionLabel && {
27
+ actionLabel: (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { className: "action", icon: this.props.actionIcon, loading: this.props.actionLoading, children: this.props.actionLabel })),
28
+ }), ...(this.props.dismissButton && {
29
+ dismissButton: (jsxRuntime.jsx(button_wrapper.PButton, { className: "dismiss", type: "button", variant: "secondary", icon: "close", hideLabel: true, compact: true, ...(headingText ? { aria: { 'aria-description': headingText } } : {}), children: "Close notification" })),
30
+ }) })] }), this.props.children] }));
29
31
  }
30
32
  }
31
33
 
@@ -21,7 +21,9 @@ id, label: label$1, description, loading, initialLoading, required, disabled, st
21
21
  // refElement,
22
22
  start, end, }) => {
23
23
  const { namedSlotChildren } = splitChildren.splitChildren(children);
24
- return (jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: !!label$1 || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: !!description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: label$1, description: description, htmlFor: id, isRequired: required, isLoading: loading, isDisabled: disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", { name: "start" }), start, jsxRuntime.jsx("input", { "aria-describedby": loading ? loadingMessage.loadingId : `${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-invalid": state === 'error' ? 'true' : null, "aria-disabled": disabled || loading ? 'true' : null, "aria-readonly": readOnly ? 'true' : null, id: id, name: name, form: form, type: type, required: required, placeholder: placeholder || null, maxLength: maxLength, minLength: minLength, spellCheck: spellCheck, max: max, min: min, step: step, defaultValue: value, readOnly: readOnly, autoComplete: autoComplete, disabled: disabled, pattern: pattern, multiple: multiple, dir: "auto" // This overwrites the default: let the browser now decide in which direction the value should be placed.
24
+ const inputDescriptionId = (description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? utilsEntry.descriptionId : undefined;
25
+ const inputMessageId = (message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(state) ? stateMessage.messageId : undefined;
26
+ return (jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: !!label$1 || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: !!description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: label$1, description: description, htmlFor: id, isRequired: required, isLoading: loading, isDisabled: disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", { name: "start" }), start, jsxRuntime.jsx("input", { "aria-describedby": utilsEntry.setAriaIDREF(loading && loadingMessage.loadingId, inputMessageId, inputDescriptionId), "aria-invalid": state === 'error' ? 'true' : null, "aria-disabled": disabled || loading ? 'true' : null, "aria-readonly": readOnly ? 'true' : null, id: id, name: name, form: form, type: type, required: required, placeholder: placeholder || null, maxLength: maxLength, minLength: minLength, spellCheck: spellCheck, max: max, min: min, step: step, defaultValue: value, readOnly: readOnly, autoComplete: autoComplete, disabled: disabled, pattern: pattern, multiple: multiple, dir: "auto" // This overwrites the default: let the browser now decide in which direction the value should be placed.
25
27
  }), end, jsxRuntime.jsx("slot", { name: "end" }), loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { "aria-hidden": "true" })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(state), state: state, message: message, host: null }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: loading, initialLoading: initialLoading })] }));
26
28
  };
27
29
 
@@ -24,7 +24,7 @@ class DSRModal extends react.Component {
24
24
  hasHeader;
25
25
  hasFooter;
26
26
  render() {
27
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
27
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
28
28
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
29
29
  const hasFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'footer').length > 0;
30
30
  this.props.disableCloseButton ? false : this.props.dismissButton;
@@ -63,16 +63,15 @@ class DSRMultiSelect extends react.Component {
63
63
  this.props.setFormValue(this.props.defaultValue);
64
64
  }
65
65
  render() {
66
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
66
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
67
67
  const hasCustomFilterSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'filter').length > 0;
68
68
  const hasCustomSelectedSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'selected').length > 0;
69
69
  const buttonId = 'button';
70
- const popoverId = 'list';
71
- const descriptionId = this.props.description ? 'description' : undefined;
70
+ const listboxId = 'listbox';
71
+ const selectDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? utilsEntry.descriptionId : undefined;
72
72
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? stateMessage.messageId : undefined;
73
- const ariaDescribedBy = [descriptionId, selectMessageId].filter(Boolean).join(' ');
74
73
  const style = minifyCss.minifyCss(stylesEntry.getMultiSelectCss(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact));
75
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", 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: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxRuntime.jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...utilsEntry.getComboboxAriaAttributes(this.props.isOpen, this.props.required, utilsEntry.labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [hasCustomSelectedSlot ? (jsxRuntime.jsx("slot", { name: "selected" })) : (jsxRuntime.jsx("span", { children: this.selectedOptions.map((option) => (option.textContent ?? '').toString().trim()).join(', ') })), this.props.value.length > 0 && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", color: "primary", "aria-hidden": "true" })] }), jsxRuntime.jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, onBlur: (e) => e.stopPropagation(), role: "dialog", "aria-label": this.props.label, "aria-hidden": this.props.isOpen ? null : 'true', children: [hasCustomFilterSlot ? (jsxRuntime.jsx("slot", { name: "filter" })) : (jsxRuntime.jsx(inputSearch_wrapper.PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, onBlur: (e) => e.stopPropagation() })), jsxRuntime.jsxs("div", { className: "options", role: "listbox", "aria-label": this.props.label, "aria-multiselectable": "true", onPointerMove: this.props.onPointerMove, children: [!this.props.hasFilterResults && jsxRuntime.jsx(noResultsOption.NoResultsOption, {}), jsxRuntime.jsx("slot", { name: "options-status" }), 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, host: null })] })] }), this.props.children] }));
74
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", 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: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxRuntime.jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, tabIndex: 0, ...utilsEntry.getComboboxAriaAttributes(this.props.isOpen, this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && utilsEntry.labelId, selectMessageId, selectDescriptionId, listboxId), disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [hasCustomSelectedSlot ? (jsxRuntime.jsx("slot", { name: "selected" })) : (jsxRuntime.jsx("span", { children: this.selectedOptions.map((option) => (option.textContent ?? '').toString().trim()).join(', ') })), this.props.value.length > 0 && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", color: "primary", "aria-hidden": "true" })] }), jsxRuntime.jsxs("div", { popover: "manual", tabIndex: 0, children: [hasCustomFilterSlot ? (jsxRuntime.jsx("slot", { name: "filter" })) : (jsxRuntime.jsx(inputSearch_wrapper.PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, onBlur: (e) => e.stopPropagation() })), jsxRuntime.jsxs("div", { id: listboxId, className: "options", ...utilsEntry.getListboxAriaAttributes(this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && utilsEntry.labelId, selectMessageId, selectDescriptionId, true), onPointerMove: this.props.onPointerMove, onBlur: (e) => e.stopPropagation(), children: [!this.props.hasFilterResults && jsxRuntime.jsx(noResultsOption.NoResultsOption, {}), jsxRuntime.jsx("slot", { name: "options-status" }), 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, host: null })] })] }), this.props.children] }));
76
75
  }
77
76
  }
78
77
 
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ const NotificationBase = ({ heading, headingTag, hasHeadingSlot, description, hasDescriptionSlot, innerHTML, actionLabel, dismissButton, ...rest }) => {
6
+ const Heading = headingTag;
7
+ return (jsxRuntime.jsxs("div", { className: "notification", ...rest, children: [heading ? jsxRuntime.jsx(Heading, { children: heading }) : hasHeadingSlot && jsxRuntime.jsx("slot", { name: "heading" }), description ? (innerHTML ? (jsxRuntime.jsx("p", { dangerouslySetInnerHTML: { __html: description } })) : (jsxRuntime.jsx("p", { children: description }))) : hasDescriptionSlot ? (jsxRuntime.jsx("slot", { name: "description" })) : (jsxRuntime.jsx("slot", {})), actionLabel, dismissButton] }));
8
+ };
9
+
10
+ exports.NotificationBase = NotificationBase;
@@ -37,12 +37,15 @@ class DSRPinCode extends react.Component {
37
37
  formStateRestoreCallback() {
38
38
  }
39
39
  render() {
40
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
40
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
41
41
  // reset array of input elements
42
42
  this.inputElements = [];
43
43
  const currentInputId = 'current-input';
44
+ const inputLabelId = (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? utilsEntry.labelId : undefined;
45
+ const inputDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? utilsEntry.descriptionId : undefined;
46
+ const inputMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? stateMessage.messageId : undefined;
44
47
  const style = minifyCss.minifyCss(stylesEntry.getPinCodeCss(this.props.hideLabel, this.props.state, this.props.disabled, this.props.loading, this.props.length, this.props.compact));
45
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...utilsEntry.getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-describedby": this.props.loading ? loadingMessage.loadingId : `${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-labelledby": utilsEntry.labelId, 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", dir: "ltr", children: [Array.from(new Array(this.props.length), (_, index) => (jsxRuntime.jsx("input", { name: this.props.name, form: this.props.form, ...(utilsEntry.isCurrentInput(index, this.props.value, this.props.length) && { id: currentInputId }), type: this.props.type === 'number' ? 'text' : this.props.type, "aria-label": `${index + 1}-${this.props.length}`, "aria-describedby": `${utilsEntry.labelId} ${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
48
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...utilsEntry.getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-describedby": utilsEntry.setAriaIDREF(this.props.loading && loadingMessage.loadingId, inputMessageId, inputDescriptionId), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? utilsEntry.labelId : null, 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", dir: "ltr", children: [Array.from(new Array(this.props.length), (_, index) => (jsxRuntime.jsx("input", { name: this.props.name, form: this.props.form, ...(utilsEntry.isCurrentInput(index, this.props.value, this.props.length) && { id: currentInputId }), type: this.props.type === 'number' ? 'text' : this.props.type, "aria-label": `${index + 1}-${this.props.length}`, "aria-describedby": utilsEntry.setAriaIDREF(inputLabelId, inputMessageId), "aria-invalid": this.props.state === 'error' ? 'true' : null, "aria-disabled": this.props.loading ? 'true' : null, autoComplete: "one-time-code", pattern: "\\d*", inputMode: "numeric" // get numeric keyboard on mobile
46
49
  , defaultValue: this.props.value[index] === ' ' ? null : this.props.value[index], disabled: this.props.disabled, required: this.props.required, onBlur: this.props.onInputBlur }, index))), this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", size: "inherit", "aria-hidden": "true" })] }), 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, host: null }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
47
50
  }
48
51
  }