@porsche-design-system/components-react 3.28.0 → 3.29.0-rc.1

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 (108) hide show
  1. package/CHANGELOG.md +56 -2
  2. package/cjs/lib/components/input-number.wrapper.cjs +3 -3
  3. package/cjs/lib/components/input-password.wrapper.cjs +3 -3
  4. package/cjs/lib/components/input-search.wrapper.cjs +29 -0
  5. package/cjs/lib/components/input-text.wrapper.cjs +29 -0
  6. package/cjs/lib/components/popover.wrapper.cjs +4 -3
  7. package/cjs/lib/components/select.wrapper.cjs +3 -3
  8. package/cjs/lib/components/textarea.wrapper.cjs +3 -3
  9. package/cjs/public-api.cjs +4 -0
  10. package/esm/lib/components/index.d.ts +2 -0
  11. package/esm/lib/components/input-number.wrapper.d.ts +12 -4
  12. package/esm/lib/components/input-number.wrapper.mjs +3 -3
  13. package/esm/lib/components/input-password.wrapper.d.ts +10 -2
  14. package/esm/lib/components/input-password.wrapper.mjs +3 -3
  15. package/esm/lib/components/input-search.wrapper.d.ts +176 -0
  16. package/esm/lib/components/input-search.wrapper.mjs +27 -0
  17. package/esm/lib/components/input-text.wrapper.d.ts +192 -0
  18. package/esm/lib/components/input-text.wrapper.mjs +27 -0
  19. package/esm/lib/components/popover.wrapper.d.ts +16 -0
  20. package/esm/lib/components/popover.wrapper.mjs +5 -4
  21. package/esm/lib/components/select.wrapper.d.ts +8 -0
  22. package/esm/lib/components/select.wrapper.mjs +3 -3
  23. package/esm/lib/components/textarea.wrapper.d.ts +12 -12
  24. package/esm/lib/components/textarea.wrapper.mjs +3 -3
  25. package/esm/lib/types.d.ts +22 -5
  26. package/esm/public-api.mjs +2 -0
  27. package/package.json +2 -2
  28. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +183 -80
  29. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +5 -27
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.cjs +4 -4
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-password.wrapper.cjs +4 -4
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-search.wrapper.cjs +40 -0
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-text.wrapper.cjs +40 -0
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.cjs +5 -4
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/select.wrapper.cjs +4 -4
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.cjs +4 -4
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +8 -4
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +5 -3
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +4 -3
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +47 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +44 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +10 -5
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +4 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +4 -5
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +4 -0
  46. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +152 -51
  47. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +5 -26
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.mjs +4 -4
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-password.wrapper.mjs +4 -4
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-search.wrapper.mjs +38 -0
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-text.wrapper.mjs +38 -0
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.mjs +6 -5
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select.wrapper.mjs +4 -4
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.mjs +4 -4
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +8 -4
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +6 -4
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +5 -4
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +45 -0
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +42 -0
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +10 -5
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +5 -2
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +5 -6
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +2 -0
  92. package/ssr/esm/lib/components/index.d.ts +2 -0
  93. package/ssr/esm/lib/components/input-number.wrapper.d.ts +12 -4
  94. package/ssr/esm/lib/components/input-password.wrapper.d.ts +10 -2
  95. package/ssr/esm/lib/components/input-search.wrapper.d.ts +176 -0
  96. package/ssr/esm/lib/components/input-text.wrapper.d.ts +192 -0
  97. package/ssr/esm/lib/components/popover.wrapper.d.ts +16 -0
  98. package/ssr/esm/lib/components/select.wrapper.d.ts +8 -0
  99. package/ssr/esm/lib/components/textarea.wrapper.d.ts +12 -12
  100. package/ssr/esm/lib/dsr-components/input-base.d.ts +4 -2
  101. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  102. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  103. package/ssr/esm/lib/dsr-components/input-search.d.ts +20 -0
  104. package/ssr/esm/lib/dsr-components/input-text.d.ts +19 -0
  105. package/ssr/esm/lib/dsr-components/popover.d.ts +3 -1
  106. package/ssr/esm/lib/dsr-components/select.d.ts +2 -0
  107. package/ssr/esm/lib/dsr-components/textarea.d.ts +0 -3
  108. package/ssr/esm/lib/types.d.ts +22 -5
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getContentWrapperCss as getComponentCss$13 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getContentWrapperCss as getComponentCss$15 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
 
7
7
  /**
8
8
  * @slot {"name": "", "description": "Default slot for main content." }
@@ -12,7 +12,7 @@ class DSRContentWrapper extends Component {
12
12
  host;
13
13
  render() {
14
14
  splitChildren(this.props.children);
15
- const style = minifyCss(getComponentCss$13(this.props.width));
15
+ const style = minifyCss(getComponentCss$15(this.props.width));
16
16
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("div", { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
17
17
  }
18
18
  }
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
  import { minifyCss } from '../../minifyCss.mjs';
4
- import { getCrestCss as getComponentCss$12 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
4
+ import { getCrestCss as getComponentCss$14 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
5
  import { buildCrestSrcSet, buildCrestImgSrc, parseAndGetAriaAttributes, crestSize } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
6
6
 
7
7
  const { width, height } = crestSize;
@@ -9,7 +9,7 @@ class DSRCrest extends Component {
9
9
  host;
10
10
  render() {
11
11
  const picture = (jsxs("picture", { children: [jsx("source", { srcSet: buildCrestSrcSet('webp'), type: "image/webp" }, "webp"), jsx("source", { srcSet: buildCrestSrcSet('png'), type: "image/png" }, "png"), jsx("img", { src: buildCrestImgSrc(), width: width, height: height, alt: "Porsche" })] }));
12
- const style = minifyCss(getComponentCss$12());
12
+ const style = minifyCss(getComponentCss$14());
13
13
  return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: this.props.href === undefined ? (picture) : (jsx("a", { href: this.props.href, target: this.props.target, ...parseAndGetAriaAttributes(this.props.aria), children: picture })) })] }) }));
14
14
  }
15
15
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getDisplayCss as getComponentCss$11 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getDisplayCss as getComponentCss$13 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { getDisplayTagType } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
 
8
8
  /**
@@ -17,7 +17,7 @@ class DSRDisplay extends Component {
17
17
  right: 'end',
18
18
  };
19
19
  const TagType = getDisplayTagType(null, this.props.size, this.props.tag);
20
- const style = minifyCss(getComponentCss$11(this.props.size, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
20
+ const style = minifyCss(getComponentCss$13(this.props.size, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
21
21
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
22
22
  }
23
23
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
  import { minifyCss } from '../../minifyCss.mjs';
4
- import { getDividerCss as getComponentCss$10 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
4
+ import { getDividerCss as getComponentCss$12 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
5
 
6
6
  class DSRDivider extends Component {
7
7
  host;
@@ -11,7 +11,7 @@ class DSRDivider extends Component {
11
11
  'neutral-contrast-medium': 'contrast-medium',
12
12
  'neutral-contrast-high': 'contrast-high',
13
13
  };
14
- const style = minifyCss(getComponentCss$10((deprecationMap[this.props.color] || this.props.color), this.props.orientation || this.props.direction, this.props.theme));
14
+ const style = minifyCss(getComponentCss$12((deprecationMap[this.props.color] || this.props.color), this.props.orientation || this.props.direction, this.props.theme));
15
15
  return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("hr", {})] }) }));
16
16
  }
17
17
  }
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getDrilldownItemCss as getComponentCss$_ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getDrilldownItemCss as getComponentCss$10 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
8
 
9
9
  /**
@@ -24,7 +24,7 @@ class DSRDrilldownItem extends Component {
24
24
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
25
25
  const hasSlottedHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
26
26
  const hasSlottedButton = namedSlotChildren.filter(({ props: { slot } }) => slot === 'button').length > 0;
27
- const style = minifyCss(getComponentCss$_(this.props.primary, this.props.secondary, this.props.cascade));
27
+ const style = minifyCss(getComponentCss$10(this.props.primary, this.props.secondary, this.props.cascade));
28
28
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [hasSlottedButton ? (jsx("slot", { name: "button" })) : (jsx(PButtonPure, { inert: this.props.primary || this.props.cascade, className: "button", type: "button", size: "medium", alignLabel: "start", stretch: true, icon: "arrow-head-right", active: this.props.secondary, aria: { 'aria-expanded': this.props.secondary }, theme: this.theme, children: this.props.label })), jsx(PButtonPure, { className: "back", type: "button", size: "small", alignLabel: "end", stretch: true, icon: "arrow-left", theme: this.theme, hideLabel: { base: true, s: false }, children: this.props.label }), hasSlottedHeader ? jsx("slot", { name: "header" }) : jsx("h2", { children: this.props.label }), jsx("div", { className: "drawer", children: jsx("div", { className: "scroller", children: jsx("slot", {}) }) })] })] }), this.props.children] }));
29
29
  }
30
30
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getDrilldownLinkCss as getComponentCss$Z } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getDrilldownLinkCss as getComponentCss$$ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { parseAndGetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
 
8
8
  /**
@@ -15,7 +15,7 @@ class DSRDrilldownLink extends Component {
15
15
  render() {
16
16
  splitChildren(this.props.children);
17
17
  const hasSlottedAnchor = this.props.href === undefined;
18
- const style = minifyCss(getComponentCss$Z(hasSlottedAnchor, this.props.active));
18
+ const style = minifyCss(getComponentCss$$(hasSlottedAnchor, this.props.active));
19
19
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: hasSlottedAnchor ? (jsx("slot", {})) : (jsx("a", { href: this.props.href, target: this.props.target, download: this.props.download, rel: this.props.rel, "aria-current": this.props.active ? 'true' : 'false', ...parseAndGetAriaAttributes(this.props.aria), children: jsx("slot", {}) })) })] }), this.props.children] }));
20
20
  }
21
21
  }
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getDrilldownCss as getComponentCss$$ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getDrilldownCss as getComponentCss$11 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { updateDrilldownItemState, parseAndGetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { PButton } from '../components/button.wrapper.mjs';
9
9
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
@@ -31,7 +31,7 @@ class DSRDrilldown extends Component {
31
31
  }
32
32
  render() {
33
33
  splitChildren(this.props.children);
34
- const style = minifyCss(getComponentCss$$(this.props.open, this.primary, this.isSecondaryDrawerVisible, this.props.theme));
34
+ const style = minifyCss(getComponentCss$11(this.props.open, this.primary, this.isSecondaryDrawerVisible, this.props.theme));
35
35
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("dialog", { inert: !this.props.open, ...parseAndGetAriaAttributes(this.props.aria), children: jsxs("div", { className: "drawer", children: [jsx(PButtonPure, { className: "back", type: "button", size: "small", alignLabel: "end", stretch: true, icon: "arrow-left", theme: this.props.theme, hideLabel: true, children: "Back" }), jsx(PButton, { className: "dismiss-mobile", type: "button", variant: "ghost", hideLabel: true, icon: "close", theme: this.props.theme, children: "Dismiss drilldown" }), jsx(PButtonPure, { className: "dismiss-desktop", type: "button", size: "medium", icon: "close", hideLabel: true, theme: this.props.theme, children: "Dismiss drilldown" }), jsx("div", { className: "scroller", children: jsx("slot", {}) })] }) })] }), this.props.children] }));
36
36
  }
37
37
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getFieldsetWrapperCss as getComponentCss$Y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getFieldsetWrapperCss as getComponentCss$_ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { messageId, StateMessage } from './state-message.mjs';
7
7
  import { Required } from './required.mjs';
8
8
 
@@ -18,7 +18,7 @@ class DSRFieldsetWrapper extends Component {
18
18
  render() {
19
19
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
20
20
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
21
- const style = minifyCss(getComponentCss$Y(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme));
21
+ const style = minifyCss(getComponentCss$_(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme));
22
22
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
23
23
  }
24
24
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getFieldsetCss as getComponentCss$X } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getFieldsetCss as getComponentCss$Z } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { messageId, StateMessage } from './state-message.mjs';
7
7
  import { Required } from './required.mjs';
8
8
 
@@ -16,7 +16,7 @@ class DSRFieldset extends Component {
16
16
  render() {
17
17
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
18
18
  const hasMessageValue = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state);
19
- const style = minifyCss(getComponentCss$X(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme));
19
+ const style = minifyCss(getComponentCss$Z(this.props.state, this.props.labelSize, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0), this.props.theme));
20
20
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { "aria-describedby": hasMessageValue ? messageId : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsxs("legend", { children: [this.props.label || jsx("slot", { name: "label" }), this.props.required && jsx(Required, {})] })), jsx("slot", {}), jsx(StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
21
21
  }
22
22
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getFlexItemCss as getComponentCss$W } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getFlexItemCss as getComponentCss$Y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
 
7
7
  /**
8
8
  * @slot {"name": "", "description": "Default slot for the main content." }
@@ -12,7 +12,7 @@ class DSRFlexItem extends Component {
12
12
  host;
13
13
  render() {
14
14
  splitChildren(this.props.children);
15
- const style = minifyCss(getComponentCss$W(this.props.width, this.props.offset, this.props.alignSelf, this.props.grow, this.props.shrink, this.props.flex));
15
+ const style = minifyCss(getComponentCss$Y(this.props.width, this.props.offset, this.props.alignSelf, this.props.grow, this.props.shrink, this.props.flex));
16
16
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), this.props.children] }));
17
17
  }
18
18
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getFlexCss as getComponentCss$V } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getFlexCss as getComponentCss$X } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
 
7
7
  /**
8
8
  * @slot {"name": "", "description": "Default slot for the flex items." }
@@ -12,7 +12,7 @@ class DSRFlex extends Component {
12
12
  host;
13
13
  render() {
14
14
  splitChildren(this.props.children);
15
- const style = minifyCss(getComponentCss$V(this.props.inline, this.props.wrap, this.props.direction, this.props.justifyContent, this.props.alignItems, this.props.alignContent));
15
+ const style = minifyCss(getComponentCss$X(this.props.inline, this.props.wrap, this.props.direction, this.props.justifyContent, this.props.alignItems, this.props.alignContent));
16
16
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), this.props.children] }));
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getFlyoutCss as getComponentCss$U } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getFlyoutCss as getComponentCss$W } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { parseAndGetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { PButton } from '../components/button.wrapper.mjs';
9
9
 
@@ -33,7 +33,7 @@ class DSRFlyout extends Component {
33
33
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
34
34
  const hasFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'footer').length > 0;
35
35
  const hasSubFooter = namedSlotChildren.filter(({ props: { slot } }) => slot === 'sub-footer').length > 0;
36
- const style = minifyCss(getComponentCss$U(this.props.open, (positionDeprecationMap[this.props.position] || this.props.position), hasHeader, hasFooter, hasSubFooter, this.props.footerBehavior, this.props.theme));
36
+ const style = minifyCss(getComponentCss$W(this.props.open, (positionDeprecationMap[this.props.position] || this.props.position), hasHeader, hasFooter, hasSubFooter, this.props.footerBehavior, this.props.theme));
37
37
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("dialog", { tabIndex: -1, ...parseAndGetAriaAttributes({
38
38
  'aria-modal': true,
39
39
  ...{ 'aria-label': hasHeader ? namedSlotChildren.find(({ props: { slot } }) => slot === 'header')?.props.children : 'Flyout' },
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getGridItemCss as getComponentCss$T } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getGridItemCss as getComponentCss$V } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
 
7
7
  /**
8
8
  * @slot {"name": "", "description": "Default slot to render the content." }
@@ -13,7 +13,7 @@ class DSRGridItem extends Component {
13
13
  host;
14
14
  render() {
15
15
  splitChildren(this.props.children);
16
- const style = minifyCss(getComponentCss$T(this.props.size, this.props.offset));
16
+ const style = minifyCss(getComponentCss$V(this.props.size, this.props.offset));
17
17
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), this.props.children] }));
18
18
  }
19
19
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getGridCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getGridCss as getComponentCss$U } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
 
7
7
  /**
8
8
  * @slot {"name": "", "description": "Default slot to render p-grid-item tags." }
@@ -16,7 +16,7 @@ class DSRGrid extends Component {
16
16
  const manipulatedChildren = children.map((child) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
17
17
  ? { ...child, props: { ...child.props, gutter: this.props.gutter } }
18
18
  : child);
19
- const style = minifyCss(getComponentCss$S(this.props.direction, this.props.wrap));
19
+ const style = minifyCss(getComponentCss$U(this.props.direction, this.props.wrap));
20
20
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), manipulatedChildren] }));
21
21
  }
22
22
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getHeadingCss as getComponentCss$R } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getHeadingCss as getComponentCss$T } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { getHeadingTagType } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
 
8
8
  /**
@@ -17,7 +17,7 @@ class DSRHeading extends Component {
17
17
  right: 'end',
18
18
  };
19
19
  const TagType = getHeadingTagType(null, this.props.size, this.props.tag);
20
- const style = minifyCss(getComponentCss$R(this.props.size, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
20
+ const style = minifyCss(getComponentCss$T(this.props.size, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
21
21
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
22
22
  }
23
23
  }
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
- import { getHeadlineCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getHeadlineCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { getHeadlineTagType } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
 
8
8
  /**
@@ -19,7 +19,7 @@ class DSRHeadline extends Component {
19
19
  right: 'end',
20
20
  };
21
21
  const TagType = getHeadlineTagType(null, this.props.variant, this.props.tag);
22
- const style = minifyCss(getComponentCss$Q(this.props.variant, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
22
+ const style = minifyCss(getComponentCss$S(this.props.variant, (alignDeprecationMap[this.props.align] || this.props.align), this.props.color, this.props.ellipsis, this.props.theme));
23
23
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
24
24
  }
25
25
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
  import { minifyCss } from '../../minifyCss.mjs';
4
- import { getIconCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
4
+ import { getIconCss as getComponentCss$R } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
5
  import { buildIconUrl, parseAndGetAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
6
6
 
7
7
  class DSRIcon extends Component {
@@ -15,7 +15,7 @@ class DSRIcon extends Component {
15
15
  'neutral-contrast-high': 'contrast-high',
16
16
  'notification-neutral': 'notification-info',
17
17
  };
18
- const style = minifyCss(getComponentCss$P(this.props.name, this.props.source, (deprecationMap[this.props.color] || this.props.color), this.props.size, this.props.theme));
18
+ const style = minifyCss(getComponentCss$R(this.props.name, this.props.source, (deprecationMap[this.props.color] || this.props.color), this.props.size, this.props.theme));
19
19
  return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("img", { src: buildIconUrl(this.props.source || this.props.name), width: 24, height: 24, loading: "lazy", alt: parseAndGetAriaAttributes(this.props.aria)?.['aria-label'] ?? '' })] }) }));
20
20
  }
21
21
  }
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInlineNotificationCss as getComponentCss$O } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInlineNotificationCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { getInlineNotificationIconName, getContentAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
  import { PButton } from '../components/button.wrapper.mjs';
9
9
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
@@ -24,7 +24,7 @@ class DSRInlineNotification extends Component {
24
24
  const labelId = 'label';
25
25
  const descriptionId = 'description';
26
26
  const Heading = this.props.headingTag;
27
- const style = minifyCss(getComponentCss$O(this.props.state, !!this.props.actionLabel, this.hasDismissButton, this.props.theme));
27
+ const style = minifyCss(getComponentCss$Q(this.props.state, !!this.props.actionLabel, this.hasDismissButton, this.props.theme));
28
28
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx(PIcon, { className: "icon", name: getInlineNotificationIconName(this.props.state), color: `notification-${this.props.state}`, theme: this.props.theme, "aria-hidden": "true" }), jsxs("div", { id: bannerId, className: "content", ...getContentAriaAttributes(this.props.state, labelId, descriptionId), children: [(this.props.heading || namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0) &&
29
29
  (this.props.heading ? (jsx(Heading, { id: labelId, className: "heading", children: this.props.heading })) : (jsx("slot", { name: "heading" }))), jsx("p", { id: descriptionId, className: "description", children: this.props.description || jsx("slot", {}) })] }), this.props.actionLabel && (jsx(PButtonPure, { className: "action", theme: this.props.theme, icon: this.props.actionIcon, loading: this.props.actionLoading, children: this.props.actionLabel })), this.hasDismissButton && (jsx(PButton, { className: "close", type: "button", variant: "ghost", icon: "close", theme: this.props.theme, hideLabel: true, "aria-controls": bannerId, children: "Close notification" }))] })] }), this.props.children] }));
30
30
  }
@@ -1,20 +1,24 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { splitChildren } from '../../splitChildren.mjs';
3
- import { Label } from './label.mjs';
3
+ import 'react';
4
+ import '../../provider.mjs';
4
5
  import { descriptionId } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
6
+ import { loadingId, LoadingMessage } from './loading-message.mjs';
7
+ import { Label } from './label.mjs';
5
8
  import { messageId, StateMessage } from './state-message.mjs';
9
+ import { PSpinner } from '../components/spinner.wrapper.mjs';
6
10
 
7
11
  const InputBase = ({ children,
8
12
  // host,
9
- id, label, description, required, disabled, state, message, theme, readOnly, type, form, placeholder, maxLength, minLength, max, min, value, step, autoComplete, name,
13
+ id, label, description, loading, initialLoading, required, disabled, state, message, theme, readOnly, type, form, placeholder, maxLength, minLength, max, min, value, step, spellCheck, autoComplete, name,
10
14
  // onInput,
11
- onWheel,
15
+ // onWheel,
12
16
  // onChange,
13
17
  // onBlur,
14
18
  // refElement,
15
19
  start, end, }) => {
16
20
  const { namedSlotChildren } = splitChildren(children);
17
- return (jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: !!label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: !!description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: label, description: description, htmlFor: id, isRequired: required, isDisabled: disabled }), jsxs("div", { className: "wrapper", children: [jsx("slot", { name: "start" }), start, jsx("input", { "aria-describedby": `${descriptionId} ${messageId}`, "aria-invalid": state === 'error' ? 'true' : null, id: id, onWheel: onWheel, name: name, form: form, type: type, required: required, placeholder: placeholder, maxLength: maxLength, minLength: minLength, max: max, min: min, step: step, value: value, readOnly: readOnly, autoComplete: autoComplete, disabled: disabled }), end, jsx("slot", { name: "end" })] }), jsx(StateMessage, { hasMessage: (message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(state), state: state, message: message, theme: theme, host: null })] }));
21
+ return (jsxs("div", { className: "root", children: [jsx(Label, { hasLabel: !!label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: !!description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: label, description: description, htmlFor: id, isRequired: required, isLoading: loading, isDisabled: disabled }), jsxs("div", { className: "wrapper", children: [jsx("slot", { name: "start" }), start, jsx("input", { "aria-describedby": loading ? loadingId : `${descriptionId} ${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, maxLength: maxLength, minLength: minLength, spellCheck: spellCheck, max: max, min: min, step: step, value: value, readOnly: readOnly, autoComplete: autoComplete, disabled: disabled }), end, jsx("slot", { name: "end" }), loading && jsx(PSpinner, { className: "spinner", size: "inherit", theme: theme, "aria-hidden": "true" })] }), jsx(StateMessage, { hasMessage: (message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(state), state: state, message: message, theme: theme, host: null }), jsx(LoadingMessage, { loading: loading, initialLoading: initialLoading })] }));
18
22
  };
19
23
 
20
24
  export { InputBase };
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputNumberCss as getComponentCss$N } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputNumberCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
8
  import { InputBase } from './input-base.mjs';
9
9
 
@@ -19,10 +19,11 @@ class DSRInputNumber extends Component {
19
19
  // The "name" property is reflected as an attribute to ensure compatibility with native form submission.
20
20
  // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
21
21
  internals;
22
+ initialLoading = false;
22
23
  inputElement;
23
24
  defaultValue;
24
25
  formResetCallback() {
25
- this.props.internals?.setFormValue(this.props.defaultValue);
26
+ // triggers value watcher
26
27
  }
27
28
  formDisabledCallback() {
28
29
  }
@@ -30,8 +31,9 @@ class DSRInputNumber extends Component {
30
31
  }
31
32
  render() {
32
33
  splitChildren(this.props.children);
33
- const style = minifyCss(getComponentCss$N(this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.controls));
34
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-number", onWheel: (e) => (e.target).blur(), name: this.props.name, form: this.props.form, type: "number", required: this.props.required, placeholder: this.props.placeholder, max: this.props.max, min: this.props.min, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, step: this.props.step, ...(this.props.controls && {
34
+ const style = minifyCss(getComponentCss$P(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.controls));
35
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-number" // prevent React default scroll-to-[increment|decrement] on number inputs
36
+ , name: this.props.name, form: this.props.form, type: "number", required: this.props.required, placeholder: this.props.placeholder, max: this.props.max, min: this.props.min, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, step: this.props.step, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.controls && {
35
37
  end: (jsxs(Fragment, { children: [jsxs(PButtonPure, { tabIndex: -1, hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "minus", disabled: this.props.disabled || this.props.readOnly, children: ["Decrement value by ", this.props.step] }), jsxs(PButtonPure, { tabIndex: -1, hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "plus", disabled: this.props.disabled || this.props.readOnly, children: ["Increment value by ", this.props.step] })] })),
36
38
  }) })] }), this.props.children] }));
37
39
  }
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import '../../provider.mjs';
4
4
  import { splitChildren } from '../../splitChildren.mjs';
5
5
  import { minifyCss } from '../../minifyCss.mjs';
6
- import { getInputPasswordCss as getComponentCss$M } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getInputPasswordCss as getComponentCss$O } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
8
  import { InputBase } from './input-base.mjs';
9
9
 
@@ -20,10 +20,11 @@ class DSRInputPassword extends Component {
20
20
  // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
21
21
  internals;
22
22
  showPassword = false;
23
+ initialLoading = false;
23
24
  inputElement;
24
25
  defaultValue;
25
26
  formResetCallback() {
26
- this.props.internals?.setFormValue(this.props.defaultValue);
27
+ // triggers value watcher
27
28
  }
28
29
  formDisabledCallback() {
29
30
  }
@@ -31,8 +32,8 @@ class DSRInputPassword extends Component {
31
32
  }
32
33
  render() {
33
34
  splitChildren(this.props.children);
34
- const style = minifyCss(getComponentCss$M(this.props.disabled, this.props.hideLabel, this.props.state, this.props.toggle, this.props.compact, this.props.readOnly, this.props.theme));
35
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-password", name: this.props.name, form: this.props.form, type: this.props.showPassword ? 'text' : 'password', required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, end: this.props.toggle && (jsx(PButtonPure, { hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: this.props.showPassword ? 'view-off' : 'view', disabled: this.props.disabled, aria: { 'aria-pressed': this.props.showPassword ? 'true' : 'false' }, children: "Toggle password visibility" })) })] }), this.props.children] }));
35
+ const style = minifyCss(getComponentCss$O(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.toggle, this.props.compact, this.props.readOnly, this.props.theme));
36
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-password", name: this.props.name, form: this.props.form, type: this.props.showPassword ? 'text' : 'password', required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, initialLoading: this.props.initialLoading, end: this.props.toggle && (jsx(PButtonPure, { hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: this.props.showPassword ? 'view-off' : 'view', disabled: this.props.disabled, aria: { 'aria-pressed': this.props.showPassword ? 'true' : 'false' }, children: "Toggle password visibility" })) })] }), this.props.children] }));
36
37
  }
37
38
  }
38
39
 
@@ -0,0 +1,45 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { Component } from 'react';
3
+ import '../../provider.mjs';
4
+ import { splitChildren } from '../../splitChildren.mjs';
5
+ import { minifyCss } from '../../minifyCss.mjs';
6
+ import { getInputSearchCss as getComponentCss$N } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
+ import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
+ import { PIcon } from '../components/icon.wrapper.mjs';
9
+ import { InputBase } from './input-base.mjs';
10
+
11
+ /**
12
+ * @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."}
13
+ * @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
+ * @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."}
15
+ * @slot {"name": "start", "description": "Shows content at the start of the input (e.g. icon)."}
16
+ * @slot {"name": "end", "description": "Shows content at the end of the input (e.g. search button)."}
17
+ */
18
+ class DSRInputSearch extends Component {
19
+ host;
20
+ // The "name" property is reflected as an attribute to ensure compatibility with native form submission.
21
+ // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
22
+ internals;
23
+ isClearable = false;
24
+ initialLoading = false;
25
+ inputElement;
26
+ defaultValue;
27
+ formResetCallback() {
28
+ // triggers value watcher
29
+ }
30
+ formDisabledCallback() {
31
+ }
32
+ formStateRestoreCallback() {
33
+ }
34
+ render() {
35
+ splitChildren(this.props.children);
36
+ const style = minifyCss(getComponentCss$N(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.clear));
37
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-search", name: this.props.name, form: this.props.form, type: "search", required: this.props.required, placeholder: this.props.placeholder, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.indicator && {
38
+ start: jsx(PIcon, { "aria-hidden": "true", name: "search", color: "state-disabled", theme: this.props.theme }),
39
+ }), ...(this.props.clear && {
40
+ end: (jsx(PButtonPure, { tabIndex: -1, hideLabel: true, theme: this.props.theme, className: "button", type: "button", icon: "close", hidden: !this.props.isClearable, disabled: this.props.readOnly || this.props.disabled, children: "Clear field" })),
41
+ }) })] }), this.props.children] }));
42
+ }
43
+ }
44
+
45
+ export { DSRInputSearch };
@@ -0,0 +1,42 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { splitChildren } from '../../splitChildren.mjs';
3
+ import { Component } from 'react';
4
+ import { minifyCss } from '../../minifyCss.mjs';
5
+ import { getInputTextCss as getComponentCss$M } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { InputBase } from './input-base.mjs';
7
+
8
+ /**
9
+ * @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."}
10
+ * @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."}
11
+ * @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."}
12
+ * @slot {"name": "start", "description": "Shows content at the start of the input (e.g. unit prefix)."}
13
+ * @slot {"name": "end", "description": "Shows content at the end of the input (e.g. toggle button, unit suffix)."}
14
+ */
15
+ class DSRInputText extends Component {
16
+ host;
17
+ // The "name" property is reflected as an attribute to ensure compatibility with native form submission.
18
+ // In the React wrapper, all props are synced as properties on the element ref, so reflecting "name" as an attribute ensures it is properly handled in the form submission process.
19
+ internals;
20
+ initialLoading = false;
21
+ inputElement;
22
+ defaultValue;
23
+ formResetCallback() {
24
+ // triggers value watcher
25
+ }
26
+ formDisabledCallback() {
27
+ }
28
+ formStateRestoreCallback() {
29
+ }
30
+ render() {
31
+ splitChildren(this.props.children);
32
+ const style = minifyCss(getComponentCss$M(this.props.disabled, this.props.loading, this.props.hideLabel, this.props.state, this.props.compact, this.props.readOnly, this.props.theme, this.props.counter));
33
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(InputBase, { children: this.props.children, host: null, label: this.props.label, description: this.props.description, id: "input-text" // prevent React default scroll-to-[increment|decrement] on text inputs
34
+ , name: this.props.name, form: this.props.form, type: "text", required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, value: this.props.value, readOnly: this.props.readOnly, autoComplete: this.props.autoComplete, disabled: this.props.disabled, state: this.props.state, message: this.props.message, theme: this.props.theme, spellCheck: this.props.spellCheck, loading: this.props.loading, initialLoading: this.props.initialLoading, ...(this.props.counter && {
35
+ end: (jsxs(Fragment, { children: [jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
36
+ ? `You have ${this.props.maxLength - this.props.value.length} out of ${this.props.maxLength} characters left`
37
+ : `${this.props.value.length} characters entered` }), jsx("span", { className: "counter", "aria-hidden": "true", children: this.props.maxLength ? `${this.props.value.length}/${this.props.maxLength}` : `${this.props.value.length}` })] })),
38
+ }) })] }), this.props.children] }));
39
+ }
40
+ }
41
+
42
+ export { DSRInputText };
@@ -9,22 +9,27 @@ import { PIcon } from '../components/icon.wrapper.mjs';
9
9
 
10
10
  /**
11
11
  * @slot {"name": "", "description": "Default slot for the popover content." }
12
+ * @slot {"name": "button", "description": "Slot for custom button." }
12
13
  */
13
14
  class DSRPopover extends Component {
14
15
  host;
15
- isOpen = false;
16
16
  popover;
17
17
  button;
18
+ slottedButton;
18
19
  arrow;
19
20
  cleanUpAutoUpdate;
20
21
  hasNativePopoverSupport = getHasNativePopoverSupport();
22
+ hasSlottedButton;
21
23
  render() {
22
- splitChildren(this.props.children);
24
+ const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
25
+ const hasSlottedButton = namedSlotChildren.filter(({ props: { slot } }) => slot === 'button').length > 0;
23
26
  const style = minifyCss(getComponentCss$y(this.props.theme).replace(/(:host {[\S\s]+?})[\S\s]+(button {[\S\s]+?})[\S\s]+(.icon {[\S\s]+?})[\S\s]+(.label {[\S\s]+?})[\S\s]+/, '$1\n$2\n$3\n$4'));
24
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("button", { type: "button", ...parseAndGetAriaAttributes({
27
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [hasSlottedButton ? (jsx("div", { children: jsx("slot", { name: "button" }) })) : (jsxs("button", { type: "button", ...parseAndGetAriaAttributes({
25
28
  ...parseAndGetAriaAttributes(this.props.aria),
26
- ...{ 'aria-expanded': this.props.isOpen },
27
- }), children: [jsx(PIcon, { className: "icon", name: "information", theme: this.props.theme }), jsx("span", { className: "label", children: "More information" })] }), this.props.isOpen && (jsxs("div", { popover: "auto", children: [jsx("div", { className: "arrow" }), jsx("div", { className: "content", children: this.props.description ? jsx("p", { children: this.props.description }) : jsx("slot", {}) })] }))] })] }), this.props.children] }));
29
+ ...{ 'aria-expanded': this.props.open },
30
+ }), children: [jsx(PIcon, { className: "icon", name: "information", theme: this.props.theme }), jsx("span", { className: "label", children: "More information" })] })), this.props.open && (jsxs("div", { popover: "auto", onToggle: (e) => {
31
+ this.props.onTogglePopover(e);
32
+ }, children: [jsx("div", { className: "arrow" }), jsx("div", { className: "content", children: this.props.description ? jsx("p", { children: this.props.description }) : jsx("slot", {}) })] }))] })] }), this.props.children] }));
28
33
  }
29
34
  }
30
35