@porsche-design-system/components-react 4.0.0-alpha.0 → 4.0.0-beta.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 (122) hide show
  1. package/CHANGELOG.md +187 -1
  2. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  3. package/cjs/lib/components/canvas.wrapper.cjs +3 -3
  4. package/{styles → emotion}/cjs/index.cjs +3 -3
  5. package/emotion/esm/index.d.ts +1 -0
  6. package/emotion/esm/index.mjs +1 -0
  7. package/{styles → emotion}/package.json +0 -5
  8. package/esm/lib/components/canvas.wrapper.d.ts +9 -1
  9. package/esm/lib/components/canvas.wrapper.mjs +3 -3
  10. package/esm/lib/components/display.wrapper.d.ts +2 -2
  11. package/esm/lib/components/divider.wrapper.d.ts +2 -2
  12. package/esm/lib/components/heading.wrapper.d.ts +2 -2
  13. package/esm/lib/components/icon.wrapper.d.ts +2 -2
  14. package/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
  15. package/esm/lib/components/text.wrapper.d.ts +2 -2
  16. package/esm/lib/components/textarea.wrapper.d.ts +2 -2
  17. package/esm/lib/types.d.ts +8 -1
  18. package/global-styles/cn/font-face.css +1 -1
  19. package/global-styles/cn/index.css +264 -115
  20. package/global-styles/color-scheme.css +135 -0
  21. package/global-styles/font-face.css +1 -1
  22. package/global-styles/index.css +264 -115
  23. package/global-styles/variables.css +158 -144
  24. package/package.json +16 -14
  25. package/scss/_index.scss +1 -0
  26. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +671 -600
  27. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +37 -29
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.cjs +4 -4
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.cjs +3 -2
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +5 -4
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +2 -13
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +5 -3
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +1 -0
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +1 -0
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -0
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +1 -0
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -0
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -0
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +1 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +1 -0
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.cjs +4 -2
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +5 -4
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +3 -2
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +3 -2
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +11 -3
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +3 -4
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +4 -2
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -1
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -0
  54. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +671 -601
  55. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +37 -29
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.mjs +4 -4
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.mjs +3 -2
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -4
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -13
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -3
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +1 -0
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -0
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +1 -0
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -0
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +1 -0
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -0
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -0
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -0
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +1 -0
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -0
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +1 -0
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.mjs +4 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -4
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +3 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +5 -4
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +12 -4
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +4 -5
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +4 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -1
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -0
  82. package/ssr/esm/lib/components/canvas.wrapper.d.ts +9 -1
  83. package/ssr/esm/lib/components/display.wrapper.d.ts +2 -2
  84. package/ssr/esm/lib/components/divider.wrapper.d.ts +2 -2
  85. package/ssr/esm/lib/components/heading.wrapper.d.ts +2 -2
  86. package/ssr/esm/lib/components/icon.wrapper.d.ts +2 -2
  87. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
  88. package/ssr/esm/lib/components/text.wrapper.d.ts +2 -2
  89. package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -2
  90. package/ssr/esm/lib/dsr-components/canvas.d.ts +0 -3
  91. package/ssr/esm/lib/dsr-components/checkbox.d.ts +4 -2
  92. package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
  93. package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
  94. package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
  95. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  96. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  97. package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
  98. package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
  99. package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
  100. package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
  101. package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
  102. package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
  103. package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
  104. package/ssr/esm/lib/dsr-components/multi-select.d.ts +2 -1
  105. package/ssr/esm/lib/dsr-components/pin-code.d.ts +2 -1
  106. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +4 -0
  107. package/ssr/esm/lib/dsr-components/radio-group.d.ts +2 -1
  108. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +2 -1
  109. package/ssr/esm/lib/dsr-components/select.d.ts +2 -1
  110. package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
  111. package/ssr/esm/lib/types.d.ts +8 -1
  112. package/tailwindcss/index.css +223 -135
  113. package/{styles/vanilla-extract → vanilla-extract}/cjs/index.cjs +1 -1
  114. package/vanilla-extract/esm/index.d.ts +1 -0
  115. package/vanilla-extract/esm/index.mjs +1 -0
  116. package/vanilla-extract/package.json +13 -0
  117. package/ssr/esm/lib/dsr-components/legacy-label.d.ts +0 -14
  118. package/styles/_index.scss +0 -1
  119. package/styles/esm/index.d.ts +0 -1
  120. package/styles/esm/index.mjs +0 -1
  121. package/styles/vanilla-extract/esm/index.d.ts +0 -1
  122. package/styles/vanilla-extract/esm/index.mjs +0 -1
@@ -14,8 +14,9 @@ var spinner_wrapper = require('../components/spinner.wrapper.cjs');
14
14
 
15
15
  /**
16
16
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
17
+ * @slot {"name": "label-after", "description": "Places additional content after the label text (for content that should not be part of the label, e.g. external links or `p-popover`)."}
17
18
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
18
- * @slot {"name": "", "description": "Default slot for the p-radio-group-option tags." }
19
+ * @slot {"name": "", "description": "Default slot for the p-radio-group-option tags."}
19
20
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
20
21
  */
21
22
  class DSRRadioGroup extends react.Component {
@@ -38,9 +39,7 @@ class DSRRadioGroup extends react.Component {
38
39
  render() {
39
40
  const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
40
41
  const style = minifyCss.minifyCss(stylesEntry.getRadioGroupCss(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.direction));
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("fieldset", { className: "root",
42
- // biome-ignore lint/a11y/noNoninteractiveElementToInteractiveRole: radiogroup is the correct role for a fieldset containing radio buttons
43
- role: "radiogroup", "aria-required": this.props.required ? 'true' : null, "aria-describedby": this.props.loading ? loadingMessage.loadingId : `${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : 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, tag: "legend", label: this.props.label, description: this.props.description, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), 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] }));
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("fieldset", { className: "root", disabled: this.props.disabled, ...utilsEntry.getFieldsetAriaAttributes(this.props.required, this.props.state === 'error', { role: 'radiogroup' }), "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, tag: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isLoading: this.props.loading, isDisabled: this.props.disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), 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] }));
44
43
  }
45
44
  }
46
45
 
@@ -5,16 +5,18 @@ var splitChildren = require('../../splitChildren.cjs');
5
5
  var react = require('react');
6
6
  var minifyCss = require('../../minifyCss.cjs');
7
7
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
8
+ var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
8
9
  var label = require('./label.cjs');
9
10
  var stateMessage = require('./state-message.cjs');
10
11
 
11
12
  /**
12
13
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
14
+ * @slot {"name": "label-after", "description": "Places additional content after the label text (for content that should not be part of the label, e.g. external links or `p-popover`)."}
13
15
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
14
16
  * @slot {"name": "", "description": "Default slot for the `p-segmented-control-item` tags." }
15
17
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed."}
16
18
  *
17
- * @controlled { "props": ["value"], "event": "update", "isInternallyMutated": true }
19
+ * @controlled { "props": ["value"], "event": "change", "isInternallyMutated": true }
18
20
  */
19
21
  class DSRSegmentedControl extends react.Component {
20
22
  host;
@@ -35,7 +37,7 @@ class DSRSegmentedControl extends react.Component {
35
37
  : child);
36
38
  const { minWidth, maxWidth } = { minWidth: 100, maxWidth: 100 };
37
39
  const style = minifyCss.minifyCss(stylesEntry.getSegmentedControlCss(minWidth, maxWidth, this.props.columns, this.props.disabled, this.props.hideLabel, this.props.state));
38
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("fieldset", { inert: this.props.disabled, "aria-invalid": this.props.state === 'error' ? 'true' : null, 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, tag: "legend", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), 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 })] })] }), manipulatedChildren] }));
40
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", 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-labelledby": utilsEntry.labelId, "aria-describedby": utilsEntry.descriptionId, 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, tag: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), 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 })] })] }), manipulatedChildren] }));
39
41
  }
40
42
  }
41
43
 
@@ -15,6 +15,7 @@ var noResultsOption = require('./no-results-option.cjs');
15
15
 
16
16
  /**
17
17
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
18
+ * @slot {"name": "label-after", "description": "Places additional content after the label text (for content that should not be part of the label, e.g. external links or `p-popover`)."}
18
19
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
19
20
  * @slot {"name": "selected", "description": "Use this slot to provide custom markup for the selected option display in the button area." }
20
21
  * @slot {"name": "", "description": "Default slot for the `p-select-option` tags." }
@@ -22,7 +23,7 @@ var noResultsOption = require('./no-results-option.cjs');
22
23
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
23
24
  * @slot {"name": "filter", "description": "Optional slot for providing a custom `p-input-search` input. When used, the default filter input is replaced and the built-in filter logic is disabled, giving full control over filtering behavior." }
24
25
  *
25
- * @controlled { "props": ["value"], "event": "update", "isInternallyMutated": true }
26
+ * @controlled { "props": ["value"], "event": "change", "isInternallyMutated": true }
26
27
  */
27
28
  class DSRSelect extends react.Component {
28
29
  host;
@@ -18,7 +18,7 @@ class DSRTag extends react.Component {
18
18
  splitChildren.splitChildren(this.props.children);
19
19
  const hasIcon = this.props.icon !== 'none' || !!this.props.iconSource;
20
20
  const style = minifyCss.minifyCss(stylesEntry.getTagCss(this.props.variant, this.props.compact, !!utilsEntry.getDirectChildHTMLElement(null, 'a,button'), hasIcon));
21
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("span", { children: [hasIcon && (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: this.props.icon, source: this.props.iconSource, color: "inherit", size: "x-small", "aria-hidden": "true" })), jsxRuntime.jsx("slot", {})] })] }), this.props.children] }));
21
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("span", { children: [hasIcon && (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", ...(this.props.icon !== 'none' && { name: this.props.icon }), source: this.props.iconSource, color: "inherit", size: "x-small", "aria-hidden": "true" })), jsxRuntime.jsx("slot", {})] })] }), this.props.children] }));
22
22
  }
23
23
  }
24
24
 
@@ -11,6 +11,7 @@ var stateMessage = require('./state-message.cjs');
11
11
 
12
12
  /**
13
13
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
14
+ * @slot {"name": "label-after", "description": "Places additional content after the label text (for content that should not be part of the label, e.g. external links or `p-popover`)."}
14
15
  * @slot {"name": "description", "description": "Shows a description. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
15
16
  * @slot {"name": "message", "description": "Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
16
17
  */