@porsche-design-system/components-react 3.19.0-rc.1 → 3.19.0-rc.3

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 (116) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cjs/lib/components/carousel.wrapper.cjs +3 -3
  3. package/cjs/lib/components/checkbox.wrapper.cjs +28 -0
  4. package/cjs/public-api.cjs +2 -0
  5. package/esm/lib/components/carousel.wrapper.d.ts +8 -0
  6. package/esm/lib/components/carousel.wrapper.mjs +3 -3
  7. package/esm/lib/components/checkbox.wrapper.d.ts +128 -0
  8. package/esm/lib/components/checkbox.wrapper.mjs +26 -0
  9. package/esm/lib/components/index.d.ts +1 -0
  10. package/esm/lib/components/textarea.wrapper.d.ts +2 -0
  11. package/esm/lib/types.d.ts +7 -0
  12. package/esm/public-api.mjs +1 -0
  13. package/package.json +2 -2
  14. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +275 -53
  15. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.cjs +4 -4
  16. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.cjs +39 -0
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.cjs +3 -2
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -0
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -0
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -0
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +1 -0
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -0
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -0
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -0
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +1 -0
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +108 -0
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.cjs +1 -0
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.cjs +1 -0
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -0
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -0
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -0
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +1 -0
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +1 -0
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +1 -0
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -0
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -0
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -0
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -0
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +1 -0
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -0
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -0
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -0
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -0
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -0
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -0
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -0
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -0
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -0
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -0
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -0
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -0
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -0
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -0
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -0
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -0
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +1 -0
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  62. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +266 -45
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.mjs +4 -4
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.mjs +37 -0
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.mjs +3 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +3 -2
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +3 -2
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +3 -2
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +3 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +3 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +3 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +3 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +106 -0
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +1 -0
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +1 -0
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -0
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -0
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -0
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +1 -0
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +1 -0
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -0
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +1 -0
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -0
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -0
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -0
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -0
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -0
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -0
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -0
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +1 -0
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -0
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -0
  95. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -0
  96. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +1 -0
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +1 -0
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -0
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -0
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -0
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -0
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -0
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -0
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -0
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -0
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -0
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -0
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -0
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +1 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  111. package/ssr/esm/lib/components/carousel.wrapper.d.ts +8 -0
  112. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +128 -0
  113. package/ssr/esm/lib/components/index.d.ts +1 -0
  114. package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -0
  115. package/ssr/esm/lib/dsr-components/checkbox.d.ts +12 -0
  116. package/ssr/esm/lib/types.d.ts +7 -0
@@ -3951,7 +3951,7 @@ const formatObjectOutput = (value) => {
3951
3951
  'value, ' +
3952
3952
  formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {})).replace(/"/g, '');
3953
3953
 
3954
- const getComponentCss$18 = (size, compact, open, theme, sticky) => {
3954
+ const getComponentCss$19 = (size, compact, open, theme, sticky) => {
3955
3955
  const { primaryColor, hoverColor, contrastLowColor, backgroundColor } = getThemedColors(theme);
3956
3956
  const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
3957
3957
  const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
@@ -4121,7 +4121,7 @@ const cssVariableTop = '--p-banner-position-top';
4121
4121
  const cssVariableBottom = '--p-banner-position-bottom';
4122
4122
  const cssVariableZIndex = '--p-internal-banner-z-index';
4123
4123
  const topBottomFallback = '56px';
4124
- const getComponentCss$17 = (isOpen) => {
4124
+ const getComponentCss$18 = (isOpen) => {
4125
4125
  return getCss({
4126
4126
  '@global': {
4127
4127
  ':host': {
@@ -4193,7 +4193,7 @@ const getGroupDirectionJssStyles = (direction) => {
4193
4193
  return groupDirectionJssStyles[direction];
4194
4194
  };
4195
4195
 
4196
- const getComponentCss$16 = (direction) => {
4196
+ const getComponentCss$17 = (direction) => {
4197
4197
  return getCss({
4198
4198
  '@global': {
4199
4199
  ':host': {
@@ -4346,7 +4346,7 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4346
4346
  };
4347
4347
  };
4348
4348
 
4349
- const getComponentCss$15 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4349
+ const getComponentCss$16 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4350
4350
  const hasIcon = hasVisibleIcon(icon, iconSource);
4351
4351
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false, theme), {
4352
4352
  root: {
@@ -4384,7 +4384,7 @@ const getFontWeight = (weight) => {
4384
4384
  return fontWeightMap[weight];
4385
4385
  };
4386
4386
 
4387
- const getComponentCss$14 = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4387
+ const getComponentCss$15 = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4388
4388
  const isTopAligned = align === 'top';
4389
4389
  return getCss({
4390
4390
  '@global': {
@@ -4651,7 +4651,7 @@ const getDisabledColors = (variant, loading, theme) => {
4651
4651
  };
4652
4652
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4653
4653
  };
4654
- const getComponentCss$13 = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4654
+ const getComponentCss$14 = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4655
4655
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4656
4656
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4657
4657
  const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
@@ -4712,7 +4712,7 @@ const gridProductiveGap = gridGap.replace('36px', '24px');
4712
4712
  const mediaQueryDesktopView = getMediaQueryMin('m');
4713
4713
  const sidebarWidth = '320px';
4714
4714
  const headerHeight = 'calc(1.5rem + 28px)';
4715
- const getComponentCss$12 = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4715
+ const getComponentCss$13 = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4716
4716
  const { primaryColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
4717
4717
  return getCss({
4718
4718
  '@global': {
@@ -4953,7 +4953,7 @@ const getGradient$1 = (theme, gradientColorTheme) => {
4953
4953
  `rgba(${gradientColor},0.3) 68%,` +
4954
4954
  `rgba(${gradientColor},0)`);
4955
4955
  };
4956
- const getComponentCss$11 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation) => {
4956
+ const getComponentCss$12 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation) => {
4957
4957
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
4958
4958
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
4959
4959
  const { canvasTextColor } = getHighContrastColors();
@@ -5093,16 +5093,19 @@ const getComponentCss$11 = (gradientColor, hasHeading, hasDescription, hasContro
5093
5093
  WebkitUserSelect: 'none',
5094
5094
  WebkitTouchCallout: 'none',
5095
5095
  },
5096
- '&::before, &::after': {
5097
- content: '""',
5098
- position: 'absolute',
5099
- zIndex: 1,
5100
- top: 0,
5101
- height: '100%',
5102
- width: `var(${cssVariableGradientColorWidth}, 33%)`,
5103
- },
5104
- '&::before': getGradientStyles('right'),
5105
- '&::after': getGradientStyles('left'),
5096
+ ...(gradientColor &&
5097
+ gradientColor !== 'none' && {
5098
+ '&::before, &::after': {
5099
+ content: '""',
5100
+ position: 'absolute',
5101
+ zIndex: 1,
5102
+ top: 0,
5103
+ height: '100%',
5104
+ width: `var(${cssVariableGradientColorWidth}, 33%)`,
5105
+ },
5106
+ '&::before': getGradientStyles('right'),
5107
+ '&::after': getGradientStyles('left'),
5108
+ }),
5106
5109
  },
5107
5110
  '&__list': {
5108
5111
  ...backfaceVisibilityJssStyle,
@@ -5399,26 +5402,17 @@ const getFunctionalComponentStateMessageStyles = (theme, state, additionalDefaul
5399
5402
  };
5400
5403
  };
5401
5404
 
5402
- const getCheckedSVGBackgroundImage$1 = (fill) => {
5405
+ const getCheckedSVGBackgroundImage$2 = (fill) => {
5403
5406
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20.22,7.47l-1.47-1.42-9.26,9.02-4.24-4.15-1.47,1.42,5.71,5.6,10.73-10.47Z"/>`);
5404
5407
  };
5405
- const getIndeterminateSVGBackgroundImage = (fill) => {
5408
+ const getIndeterminateSVGBackgroundImage$1 = (fill) => {
5406
5409
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5407
5410
  };
5408
- const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5409
- const { canvasColor } = getHighContrastColors();
5410
- const checkedIconColor = isHighContrastMode
5411
- ? canvasColor
5412
- : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5413
- const checkedIconColorDark = isHighContrastMode
5414
- ? canvasColor
5415
- : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5416
- const indeterminateIconColor = isHighContrastMode
5417
- ? canvasColor
5418
- : escapeHashCharacter(getThemedColors(theme).primaryColor);
5419
- const indeterminateIconColorDark = isHighContrastMode
5420
- ? canvasColor
5421
- : escapeHashCharacter(getThemedColors('dark').primaryColor);
5411
+ const getComponentCss$11 = (hideLabel, state, isDisabled, isLoading, theme) => {
5412
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5413
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5414
+ const indeterminateIconColor = escapeHashCharacter(getThemedColors(theme).primaryColor);
5415
+ const indeterminateIconColorDark = escapeHashCharacter(getThemedColors('dark').primaryColor);
5422
5416
  return getCss({
5423
5417
  '@global': {
5424
5418
  ':host': {
@@ -5439,16 +5433,30 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5439
5433
  // TODO: is it somehow useful possible to make following styles configurable by parameter?
5440
5434
  ...(!isLoading && {
5441
5435
  '&(input:checked)': {
5442
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5436
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColor),
5443
5437
  ...prefersColorSchemeDarkMediaQuery(theme, {
5444
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5438
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColorDark),
5445
5439
  }),
5440
+ // This is a workaround for Blink based browsers, which do not reflect the high contrast system colors (e.g.: "Canvas" and "CanvasText") when added to background SVG's.
5441
+ ...(isHighContrastMode &&
5442
+ getSchemedHighContrastMediaQuery({
5443
+ backgroundImage: getCheckedSVGBackgroundImage$2('white'),
5444
+ }, {
5445
+ backgroundImage: getCheckedSVGBackgroundImage$2('black'),
5446
+ })),
5446
5447
  },
5447
5448
  '&(input:indeterminate)': {
5448
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5449
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColor),
5449
5450
  ...prefersColorSchemeDarkMediaQuery(theme, {
5450
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColorDark),
5451
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColorDark),
5451
5452
  }),
5453
+ // This is a workaround for Blink based browsers, which do not reflect the high contrast system colors (e.g.: "Canvas" and "CanvasText") when added to background SVG's.
5454
+ ...(isHighContrastMode &&
5455
+ getSchemedHighContrastMediaQuery({
5456
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('black'),
5457
+ }, {
5458
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('white'),
5459
+ })),
5452
5460
  },
5453
5461
  }),
5454
5462
  },
@@ -5496,6 +5504,216 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5496
5504
  });
5497
5505
  };
5498
5506
 
5507
+ const getCheckedSVGBackgroundImage$1 = (fill) => {
5508
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20.22,7.47l-1.47-1.42-9.26,9.02-4.24-4.15-1.47,1.42,5.71,5.6,10.73-10.47Z"/>`);
5509
+ };
5510
+ const getIndeterminateSVGBackgroundImage = (fill) => {
5511
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5512
+ };
5513
+ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5514
+ const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5515
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5516
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
5517
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
5518
+ const { canvasTextColor } = getHighContrastColors();
5519
+ const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
5520
+ // TODO: needs to be extracted into a color function
5521
+ const uncheckedColor = disabledOrLoading ? disabledColor : formStateColor || contrastMediumColor;
5522
+ const uncheckedColorDark = disabledOrLoading ? disabledColorDark : formStateColorDark || contrastMediumColorDark;
5523
+ const uncheckedHoverColor = formStateHoverColor || primaryColor;
5524
+ const uncheckedHoverColorDark = formStateHoverColorDark || primaryColorDark;
5525
+ const checkedColor = isHighContrastMode
5526
+ ? canvasTextColor
5527
+ : disabledOrLoading
5528
+ ? disabledColor
5529
+ : formStateColor || primaryColor;
5530
+ const checkedColorDark = isHighContrastMode
5531
+ ? canvasTextColor
5532
+ : disabledOrLoading
5533
+ ? disabledColorDark
5534
+ : formStateColorDark || primaryColorDark;
5535
+ const checkedHoverColor = formStateHoverColor || contrastHighColor;
5536
+ const checkedHoverColorDark = formStateHoverColorDark || contrastHighColorDark;
5537
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5538
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5539
+ const indeterminateIconColor = escapeHashCharacter(disabledOrLoading ? disabledColorDark : formStateColor || primaryColor);
5540
+ const indeterminateIconColorDark = escapeHashCharacter(formStateColorDark || primaryColorDark);
5541
+ const indeterminateIconHoverColor = escapeHashCharacter(formStateHoverColor || primaryColor);
5542
+ const indeterminateIconHoverColorDark = escapeHashCharacter(formStateHoverColorDark || primaryColorDark);
5543
+ const background = `transparent 0% 0% / ${fontLineHeight}`;
5544
+ return getCss({
5545
+ '@global': {
5546
+ ':host': {
5547
+ display: 'block',
5548
+ ...addImportantToEachRule({
5549
+ ...colorSchemeStyles,
5550
+ ...hostHiddenStyles,
5551
+ }),
5552
+ },
5553
+ ...preventFoucOfNestedElementsStyles,
5554
+ input: {
5555
+ width: fontLineHeight,
5556
+ height: fontLineHeight,
5557
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5558
+ display: 'block',
5559
+ margin: 0,
5560
+ padding: 0,
5561
+ WebkitAppearance: 'none', // iOS safari
5562
+ appearance: 'none',
5563
+ boxSizing: 'content-box',
5564
+ background,
5565
+ transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
5566
+ border: `${borderWidthBase} solid ${uncheckedColor}`,
5567
+ outline: 0, // TODO: only relevant for VRT testing with forced states - prevents :focus style (in case getFocusJssStyle() condition is not matching)
5568
+ ...(disabledOrLoading
5569
+ ? {
5570
+ pointerEvents: 'none', // to prevent form element becomes clickable/toggleable
5571
+ }
5572
+ : {
5573
+ cursor: 'pointer',
5574
+ }),
5575
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5576
+ borderColor: uncheckedColorDark,
5577
+ }),
5578
+ gridArea: '1/1',
5579
+ borderRadius: borderRadiusSmall,
5580
+ },
5581
+ ...(!isLoading
5582
+ ? {
5583
+ 'input:checked': {
5584
+ borderColor: checkedColor,
5585
+ backgroundColor: checkedColor,
5586
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5587
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5588
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5589
+ borderColor: checkedColorDark,
5590
+ backgroundColor: checkedColorDark,
5591
+ }),
5592
+ // This is a workaround for Blink based browsers, which do not reflect the high contrast system colors (e.g.: "Canvas" and "CanvasText") when added to background SVG's.
5593
+ ...(isHighContrastMode &&
5594
+ getSchemedHighContrastMediaQuery({
5595
+ backgroundImage: getCheckedSVGBackgroundImage$1('white'),
5596
+ }, {
5597
+ backgroundImage: getCheckedSVGBackgroundImage$1('black'),
5598
+ })),
5599
+ },
5600
+ 'input:indeterminate': {
5601
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5602
+ borderColor: uncheckedColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5603
+ backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5604
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5605
+ backgroundImage: getIndeterminateSVGBackgroundImage(disabledOrLoading ? indeterminateIconColor : indeterminateIconColorDark),
5606
+ borderColor: uncheckedColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5607
+ backgroundColor: 'transparent', // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5608
+ }),
5609
+ // This is a workaround for Blink based browsers, which do not reflect the high contrast system colors (e.g.: "Canvas" and "CanvasText") when added to background SVG's.
5610
+ ...(isHighContrastMode &&
5611
+ getSchemedHighContrastMediaQuery({
5612
+ backgroundImage: getIndeterminateSVGBackgroundImage('black'),
5613
+ }, {
5614
+ backgroundImage: getIndeterminateSVGBackgroundImage('white'),
5615
+ })),
5616
+ },
5617
+ }
5618
+ : {
5619
+ 'input:checked': {
5620
+ // background-image is merged in later
5621
+ borderColor: checkedColor,
5622
+ backgroundColor: checkedColor,
5623
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5624
+ borderColor: checkedColorDark,
5625
+ backgroundColor: checkedColorDark,
5626
+ }),
5627
+ },
5628
+ }),
5629
+ ...(!disabledOrLoading &&
5630
+ !isHighContrastMode &&
5631
+ hoverMediaQuery({
5632
+ 'input:hover,label:hover~.wrapper input': {
5633
+ borderColor: uncheckedHoverColor,
5634
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5635
+ borderColor: uncheckedHoverColorDark,
5636
+ }),
5637
+ },
5638
+ 'input:checked:hover,label:hover~.wrapper input:checked': {
5639
+ borderColor: checkedHoverColor,
5640
+ backgroundColor: checkedHoverColor,
5641
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5642
+ borderColor: checkedHoverColorDark,
5643
+ backgroundColor: checkedHoverColorDark,
5644
+ }),
5645
+ },
5646
+ 'input:indeterminate:hover,label:hover~.wrapper input:indeterminate': {
5647
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5648
+ borderColor: uncheckedHoverColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5649
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColor)),
5650
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5651
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColorDark)),
5652
+ borderColor: uncheckedHoverColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode
5653
+ backgroundColor: 'transparent',
5654
+ }),
5655
+ },
5656
+ 'label:hover~.wrapper input': supportsChromiumMediaQuery({
5657
+ transition: 'unset', // Fixes chrome bug where transition properties are stuck on hover
5658
+ }),
5659
+ })),
5660
+ ...(!isDisabled && {
5661
+ 'input::-moz-focus-inner': {
5662
+ border: 0, // reset ua-style (for FF)
5663
+ },
5664
+ 'input:focus': {
5665
+ outline: 0, // reset ua-style (for older browsers)
5666
+ },
5667
+ 'input:focus-visible': {
5668
+ outline: `${borderWidthBase} solid ${focusColor}`,
5669
+ outlineOffset: '2px',
5670
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5671
+ outlineColor: focusColorDark,
5672
+ }),
5673
+ },
5674
+ }),
5675
+ },
5676
+ root: {
5677
+ display: 'grid',
5678
+ gridTemplateColumns: 'auto minmax(0, 1fr)',
5679
+ rowGap: spacingStaticXSmall,
5680
+ ...(disabledOrLoading && {
5681
+ cursor: 'not-allowed',
5682
+ }),
5683
+ },
5684
+ wrapper: {
5685
+ display: 'grid',
5686
+ gridArea: '1/1',
5687
+ alignSelf: 'flex-start', // in case label becomes multiline
5688
+ },
5689
+ ...(isLoading && {
5690
+ spinner: {
5691
+ position: 'relative', // ensure correct stacking, can be removed as soon as focus for input is handled with outline
5692
+ gridArea: '1/1',
5693
+ placeSelf: 'center',
5694
+ width: fontLineHeight,
5695
+ height: fontLineHeight,
5696
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5697
+ pointerEvents: 'none',
5698
+ },
5699
+ }),
5700
+ // .label / .required
5701
+ ...getFunctionalComponentLabelStyles(isDisabled || isLoading, hideLabel, theme, {
5702
+ gridArea: '1/2',
5703
+ ...(isLoading && { pointerEvents: 'none' }), // prevent default htmlFor behavior. TODO: Remove as soon as label component for custom form components exists.
5704
+ }, {
5705
+ paddingTop: '2px', // compensate vertical alignment
5706
+ paddingInlineStart: spacingStaticSmall, // asymmetric padding used instead of gap to prevent not clickable area between label and input
5707
+ }),
5708
+ // .message
5709
+ ...getFunctionalComponentStateMessageStyles(theme, state, {
5710
+ gridColumn: '1/3',
5711
+ }),
5712
+ // .loading
5713
+ ...getFunctionalComponentLoadingMessageStyles(),
5714
+ });
5715
+ };
5716
+
5499
5717
  const widthMap = {
5500
5718
  narrow: gridNarrowOffset,
5501
5719
  basic: gridBasicOffset,
@@ -8500,12 +8718,8 @@ const getCheckedSVGBackgroundImage = (fill) => {
8500
8718
  return getInlineSVGBackgroundImage(`<circle fill="${fill}" cx="12" cy="12" r="6"/>`);
8501
8719
  };
8502
8720
  const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8503
- const checkedIconColor = isHighContrastMode
8504
- ? getHighContrastColors().canvasColor
8505
- : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
8506
- const checkedIconColorDark = isHighContrastMode
8507
- ? getHighContrastColors().canvasColor
8508
- : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
8721
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
8722
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
8509
8723
  return getCss({
8510
8724
  '@global': {
8511
8725
  ':host': {
@@ -8530,6 +8744,13 @@ const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8530
8744
  ...prefersColorSchemeDarkMediaQuery(theme, {
8531
8745
  backgroundImage: getCheckedSVGBackgroundImage(checkedIconColorDark),
8532
8746
  }),
8747
+ // This is a workaround for Blink based browsers, which do not reflect the high contrast system colors (e.g.: "Canvas" and "CanvasText") when added to background SVG's.
8748
+ ...(isHighContrastMode &&
8749
+ getSchemedHighContrastMediaQuery({
8750
+ backgroundImage: getCheckedSVGBackgroundImage('white'),
8751
+ }, {
8752
+ backgroundImage: getCheckedSVGBackgroundImage('black'),
8753
+ })),
8533
8754
  },
8534
8755
  }),
8535
8756
  },
@@ -10828,4 +11049,4 @@ const getComponentCss = (size, theme) => {
10828
11049
  });
10829
11050
  };
10830
11051
 
10831
- export { getComponentCss$18 as getAccordionCss, getComponentCss$17 as getBannerCss, getComponentCss$13 as getButtonCss, getComponentCss$16 as getButtonGroupCss, getComponentCss$15 as getButtonPureCss, getComponentCss$14 as getButtonTileCss, getComponentCss$12 as getCanvasCss, getComponentCss$11 as getCarouselCss, getComponentCss$10 as getCheckboxWrapperCss, getComponentCss$$ as getContentWrapperCss, getComponentCss$_ as getCrestCss, getComponentCss$Z as getDisplayCss, getComponentCss$Y as getDividerCss, getComponentCss$W as getFieldsetCss, getComponentCss$X as getFieldsetWrapperCss, getComponentCss$U as getFlexCss, getComponentCss$V as getFlexItemCss, getComponentCss$R as getFlyoutCss, getComponentCss$T as getFlyoutMultilevelCss, getComponentCss$S as getFlyoutMultilevelItemCss, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$P as getGridCss, getComponentCss$Q as getGridItemCss, getComponentCss$O as getHeadingCss, getComponentCss$N as getHeadlineCss, getComponentCss$M as getIconCss, getComponentCss$L as getInlineNotificationCss, getComponentCss$J as getLinkCss, getComponentCss$K as getLinkPureCss, getComponentCss$J as getLinkSocialCss, getComponentCss$G as getLinkTileCss, getComponentCss$I as getLinkTileModelSignatureCss, getComponentCss$H as getLinkTileProductCss, getComponentCss$F as getMarqueCss, getComponentCss$E as getModalCss, getComponentCss$D as getModelSignatureCss, getComponentCss$B as getMultiSelectCss, getComponentCss$C as getMultiSelectOptionCss, getComponentCss$z as getOptgroupCss, getComponentCss$y as getPaginationCss, getComponentCss$x as getPinCodeCss, getComponentCss$w as getPopoverCss, getComponentCss$v as getRadioButtonWrapperCss, getComponentCss$u as getScrollerCss, getComponentCss$s as getSegmentedControlCss, getComponentCss$t as getSegmentedControlItemCss, getComponentCss$p as getSelectCss, getComponentCss$A as getSelectOptionCss, getComponentCss$q as getSelectWrapperCss, getComponentCss$r as getSelectWrapperDropdownCss, getComponentCss$o as getSpinnerCss, getComponentCss$m as getStepperHorizontalCss, getComponentCss$n as getStepperHorizontalItemCss, getComponentCss$l as getSwitchCss, getComponentCss$k as getTableBodyCss, getComponentCss$j as getTableCellCss, getComponentCss$i as getTableCss, getComponentCss$h as getTableHeadCellCss, getComponentCss$f as getTableHeadCss, getComponentCss$g as getTableHeadRowCss, getComponentCss$e as getTableRowCss, getComponentCss$d as getTabsBarCss, getComponentCss$b as getTabsCss, getComponentCss$c as getTabsItemCss, getComponentCss$9 as getTagCss, getComponentCss$a as getTagDismissibleCss, getComponentCss$5 as getTextCss, getComponentCss$8 as getTextFieldWrapperCss, getComponentCss$7 as getTextListCss, getComponentCss$6 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$4 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };
11052
+ export { getComponentCss$19 as getAccordionCss, getComponentCss$18 as getBannerCss, getComponentCss$14 as getButtonCss, getComponentCss$17 as getButtonGroupCss, getComponentCss$16 as getButtonPureCss, getComponentCss$15 as getButtonTileCss, getComponentCss$13 as getCanvasCss, getComponentCss$12 as getCarouselCss, getComponentCss$10 as getCheckboxCss, getComponentCss$11 as getCheckboxWrapperCss, getComponentCss$$ as getContentWrapperCss, getComponentCss$_ as getCrestCss, getComponentCss$Z as getDisplayCss, getComponentCss$Y as getDividerCss, getComponentCss$W as getFieldsetCss, getComponentCss$X as getFieldsetWrapperCss, getComponentCss$U as getFlexCss, getComponentCss$V as getFlexItemCss, getComponentCss$R as getFlyoutCss, getComponentCss$T as getFlyoutMultilevelCss, getComponentCss$S as getFlyoutMultilevelItemCss, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$P as getGridCss, getComponentCss$Q as getGridItemCss, getComponentCss$O as getHeadingCss, getComponentCss$N as getHeadlineCss, getComponentCss$M as getIconCss, getComponentCss$L as getInlineNotificationCss, getComponentCss$J as getLinkCss, getComponentCss$K as getLinkPureCss, getComponentCss$J as getLinkSocialCss, getComponentCss$G as getLinkTileCss, getComponentCss$I as getLinkTileModelSignatureCss, getComponentCss$H as getLinkTileProductCss, getComponentCss$F as getMarqueCss, getComponentCss$E as getModalCss, getComponentCss$D as getModelSignatureCss, getComponentCss$B as getMultiSelectCss, getComponentCss$C as getMultiSelectOptionCss, getComponentCss$z as getOptgroupCss, getComponentCss$y as getPaginationCss, getComponentCss$x as getPinCodeCss, getComponentCss$w as getPopoverCss, getComponentCss$v as getRadioButtonWrapperCss, getComponentCss$u as getScrollerCss, getComponentCss$s as getSegmentedControlCss, getComponentCss$t as getSegmentedControlItemCss, getComponentCss$p as getSelectCss, getComponentCss$A as getSelectOptionCss, getComponentCss$q as getSelectWrapperCss, getComponentCss$r as getSelectWrapperDropdownCss, getComponentCss$o as getSpinnerCss, getComponentCss$m as getStepperHorizontalCss, getComponentCss$n as getStepperHorizontalItemCss, getComponentCss$l as getSwitchCss, getComponentCss$k as getTableBodyCss, getComponentCss$j as getTableCellCss, getComponentCss$i as getTableCss, getComponentCss$h as getTableHeadCellCss, getComponentCss$f as getTableHeadCss, getComponentCss$g as getTableHeadRowCss, getComponentCss$e as getTableRowCss, getComponentCss$d as getTabsBarCss, getComponentCss$b as getTabsCss, getComponentCss$c as getTabsItemCss, getComponentCss$9 as getTagCss, getComponentCss$a as getTagDismissibleCss, getComponentCss$5 as getTextCss, getComponentCss$8 as getTextFieldWrapperCss, getComponentCss$7 as getTextListCss, getComponentCss$6 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$4 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };
@@ -5,22 +5,22 @@ import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMerge
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRCarousel } from '../dsr-components/carousel.mjs';
7
7
 
8
- const PCarousel = forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, width = 'basic', wrapContent, className, children, ...rest }, ref) => {
8
+ const PCarousel = forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, trimSpace = true, width = 'basic', wrapContent, className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  useEventCallback(elementRef, 'carouselChange', onCarouselChange);
11
11
  useEventCallback(elementRef, 'update', onUpdate);
12
12
  const WebComponentTag = usePrefix('p-carousel');
13
- const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || useTheme(), width, wrapContent];
13
+ const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || useTheme(), trimSpace, width, wrapContent];
14
14
  useBrowserLayoutEffect(() => {
15
15
  const { current } = elementRef;
16
- ['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ ['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'trimSpace', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
17
  }, propsToSync);
18
18
  const props = {
19
19
  ...rest,
20
20
  // @ts-ignore
21
21
  ...(!process.browser
22
22
  ? {
23
- children: (jsx(DSRCarousel, { activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme: theme || useTheme(), width, wrapContent, children })),
23
+ children: (jsx(DSRCarousel, { activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme: theme || useTheme(), trimSpace, width, wrapContent, children })),
24
24
  }
25
25
  : {
26
26
  children,
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef } from 'react';
4
+ import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
+ import { syncRef } from '../../utils.mjs';
6
+ import { DSRCheckbox } from '../dsr-components/checkbox.mjs';
7
+
8
+ const PCheckbox = forwardRef(({ checked = false, disabled = false, form, hideLabel = false, indeterminate = false, label = '', loading = false, message = '', name = '', onBlur, onUpdate, required = false, state = 'none', theme, value = 'on', className, children, ...rest }, ref) => {
9
+ const elementRef = useRef();
10
+ useEventCallback(elementRef, 'blur', onBlur);
11
+ useEventCallback(elementRef, 'update', onUpdate);
12
+ const WebComponentTag = usePrefix('p-checkbox');
13
+ const propsToSync = [checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || useTheme(), value];
14
+ useBrowserLayoutEffect(() => {
15
+ const { current } = elementRef;
16
+ ['checked', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
+ }, propsToSync);
18
+ const props = {
19
+ ...rest,
20
+ // @ts-ignore
21
+ ...(!process.browser
22
+ ? {
23
+ children: (jsx(DSRCheckbox, { checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme: theme || useTheme(), value, children })),
24
+ }
25
+ : {
26
+ children,
27
+ suppressHydrationWarning: true,
28
+ }),
29
+ 'data-ssr': '',
30
+ class: useMergedClass(elementRef, className),
31
+ ref: syncRef(elementRef, ref)
32
+ };
33
+ // @ts-ignore
34
+ return jsx(WebComponentTag, { ...props });
35
+ });
36
+
37
+ export { PCheckbox };
@@ -5,7 +5,7 @@ import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMerge
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRTextarea } from '../dsr-components/textarea.mjs';
7
7
 
8
- const PTextarea = forwardRef(({ autoComplete = '', description = '', disabled = false, form, hideLabel = false, label = '', maxLength, message = '', minLength, name, onBlur, onChange, onInput, placeholder = '', readOnly = false, required = false, resize = 'vertical', rows = 7, showCounter = true, spellCheck, state = 'none', theme, value = '', wrap = 'soft', className, ...rest }, ref) => {
8
+ const PTextarea = forwardRef(({ autoComplete = '', description = '', disabled = false, form, hideLabel = false, label = '', maxLength, message = '', minLength, name, onBlur, onChange, onInput, placeholder = '', readOnly = false, required = false, resize = 'vertical', rows = 7, showCounter = true, spellCheck, state = 'none', theme, value = '', wrap = 'soft', className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  useEventCallback(elementRef, 'blur', onBlur);
11
11
  useEventCallback(elementRef, 'change', onChange);
@@ -21,9 +21,10 @@ const PTextarea = forwardRef(({ autoComplete = '', description = '', disabled =
21
21
  // @ts-ignore
22
22
  ...(!process.browser
23
23
  ? {
24
- children: (jsx(DSRTextarea, { autoComplete, description, disabled, form, hideLabel, label, maxLength, message, minLength, name, placeholder, readOnly, required, resize, rows, showCounter, spellCheck, state, theme: theme || useTheme(), value, wrap })),
24
+ children: (jsx(DSRTextarea, { autoComplete, description, disabled, form, hideLabel, label, maxLength, message, minLength, name, placeholder, readOnly, required, resize, rows, showCounter, spellCheck, state, theme: theme || useTheme(), value, wrap, children })),
25
25
  }
26
26
  : {
27
+ children,
27
28
  suppressHydrationWarning: true,
28
29
  }),
29
30
  'data-ssr': '',
@@ -7,6 +7,7 @@ import '../components/button-pure.wrapper.mjs';
7
7
  import '../components/button-tile.wrapper.mjs';
8
8
  import '../components/canvas.wrapper.mjs';
9
9
  import '../components/carousel.wrapper.mjs';
10
+ import '../components/checkbox.wrapper.mjs';
10
11
  import '../components/checkbox-wrapper.wrapper.mjs';
11
12
  import '../components/content-wrapper.wrapper.mjs';
12
13
  import '../components/crest.wrapper.mjs';
@@ -75,7 +76,7 @@ import { splitChildren } from '../../splitChildren.mjs';
75
76
  import { Component } from 'react';
76
77
  import { minifyCss } from '../../minifyCss.mjs';
77
78
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
78
- import { getAccordionCss as getComponentCss$18 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
+ import { getAccordionCss as getComponentCss$19 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
80
 
80
81
  /**
81
82
  * @slot {"name": "heading", "description": "Defines the heading used in the accordion. Can be used alternatively to the heading prop. Please **refrain** from using any other than text content as slotted markup." }
@@ -90,7 +91,7 @@ class DSRAccordion extends Component {
90
91
  const buttonId = 'accordion-control';
91
92
  const contentId = 'accordion-panel';
92
93
  const Heading = this.props.tag || this.props.headingTag;
93
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$18(this.props.size, this.props.compact, this.props.open, this.props.theme, this.props.sticky)));
94
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$19(this.props.size, this.props.compact, this.props.open, this.props.theme, this.props.sticky)));
94
95
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx(Heading, { className: "heading", children: jsxs("button", { id: buttonId, type: "button", "aria-expanded": this.props.open ? 'true' : 'false', "aria-controls": contentId, children: [this.props.heading || jsx("slot", { name: "heading" }), jsx("span", { className: "icon-container", children: jsx(PIcon, { className: "icon", name: this.props.open ? 'minus' : 'plus', theme: this.props.theme, size: "xx-small", "aria-hidden": "true" }) })] }) }), jsx("div", { id: contentId, className: "collapsible", role: "region", "aria-labelledby": buttonId, children: jsx("div", { children: jsx("slot", {}) }) })] })] }), this.props.children] }));
95
96
  }
96
97
  }
@@ -7,6 +7,7 @@ import '../components/button-pure.wrapper.mjs';
7
7
  import '../components/button-tile.wrapper.mjs';
8
8
  import '../components/canvas.wrapper.mjs';
9
9
  import '../components/carousel.wrapper.mjs';
10
+ import '../components/checkbox.wrapper.mjs';
10
11
  import '../components/checkbox-wrapper.wrapper.mjs';
11
12
  import '../components/content-wrapper.wrapper.mjs';
12
13
  import '../components/crest.wrapper.mjs';
@@ -75,7 +76,7 @@ import { splitChildren } from '../../splitChildren.mjs';
75
76
  import { Component } from 'react';
76
77
  import { minifyCss } from '../../minifyCss.mjs';
77
78
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
78
- import { getBannerCss as getComponentCss$17 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
+ import { getBannerCss as getComponentCss$18 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
80
 
80
81
  /**
81
82
  * @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 }
@@ -94,7 +95,7 @@ class DSRBanner extends Component {
94
95
  render() {
95
96
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
96
97
  const hasTitleSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'title').length > 0;
97
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$17(this.props.open)));
98
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$18(this.props.open)));
98
99
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs(PInlineNotification, { heading: this.props.heading, headingTag: this.props.headingTag, description: this.props.description, state: this.props.state, dismissButton: this.hasDismissButton, theme: this.props.theme, "aria-hidden": !this.props.open ? 'true' : 'false', children: [namedSlotChildren.filter(({ props: { slot } }) => slot === 'heading').length > 0 ? (jsx("slot", { name: "heading", slot: "heading" })) : (hasTitleSlot && jsx("slot", { name: "title", slot: "heading" })), namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0 && jsx("slot", { name: "description" })] }) })] }), this.props.children] }));
99
100
  }
100
101
  }
@@ -3,7 +3,7 @@ import { splitChildren } from '../../splitChildren.mjs';
3
3
  import { Component } from 'react';
4
4
  import { minifyCss } from '../../minifyCss.mjs';
5
5
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
6
- import { getButtonGroupCss as getComponentCss$16 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getButtonGroupCss as getComponentCss$17 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
 
8
8
  /**
9
9
  * @slot {"name": "", "description": "Default slot for the buttons to group." }
@@ -12,7 +12,7 @@ class DSRButtonGroup extends Component {
12
12
  host;
13
13
  render() {
14
14
  splitChildren(this.props.children);
15
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$16(this.props.direction)));
15
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$17(this.props.direction)));
16
16
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("div", { role: "group", children: jsx("slot", {}) })] }), this.props.children] }));
17
17
  }
18
18
  }
@@ -7,6 +7,7 @@ import '../components/button-pure.wrapper.mjs';
7
7
  import '../components/button-tile.wrapper.mjs';
8
8
  import '../components/canvas.wrapper.mjs';
9
9
  import '../components/carousel.wrapper.mjs';
10
+ import '../components/checkbox.wrapper.mjs';
10
11
  import '../components/checkbox-wrapper.wrapper.mjs';
11
12
  import '../components/content-wrapper.wrapper.mjs';
12
13
  import '../components/crest.wrapper.mjs';
@@ -75,7 +76,7 @@ import { splitChildren } from '../../splitChildren.mjs';
75
76
  import { Component } from 'react';
76
77
  import { minifyCss } from '../../minifyCss.mjs';
77
78
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
78
- import { getButtonPureCss as getComponentCss$15 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
+ import { getButtonPureCss as getComponentCss$16 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
80
  import { isDisabledOrLoading, hasVisibleIcon, getButtonPureAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
80
81
  import { loadingId, LoadingMessage } from './loading-message.mjs';
81
82
 
@@ -96,7 +97,7 @@ class DSRButtonPure extends Component {
96
97
  size: 'inherit',
97
98
  theme: this.props.theme,
98
99
  };
99
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$15(this.props.icon, this.props.iconSource, this.props.active, this.props.loading, this.isDisabledOrLoading, this.props.stretch, this.props.size, this.props.hideLabel, this.props.alignLabel, this.props.underline, this.props.theme)));
100
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$16(this.props.icon, this.props.iconSource, this.props.active, this.props.loading, this.isDisabledOrLoading, this.props.stretch, this.props.size, this.props.hideLabel, this.props.alignLabel, this.props.underline, this.props.theme)));
100
101
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("button", { ...getButtonPureAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, name: this.props.name, value: this.props.value, "aria-describedby": this.props.loading ? loadingId : undefined, children: [this.props.loading ? (jsx(PSpinner, { ...iconProps, "aria-hidden": "true" })) : (hasIcon && (jsx(PIcon, { ...iconProps, name: this.props.icon, source: this.props.iconSource, color: this.isDisabledOrLoading ? 'state-disabled' : 'primary', theme: this.props.theme, "aria-hidden": "true" }))), jsx("span", { className: "label", children: jsx("slot", {}) })] }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: false })] })] }), this.props.children] }));
101
102
  }
102
103
  }