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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +13 -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 +262 -43
  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 +253 -35
  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();
@@ -5399,26 +5399,17 @@ const getFunctionalComponentStateMessageStyles = (theme, state, additionalDefaul
5399
5399
  };
5400
5400
  };
5401
5401
 
5402
- const getCheckedSVGBackgroundImage$1 = (fill) => {
5402
+ const getCheckedSVGBackgroundImage$2 = (fill) => {
5403
5403
  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
5404
  };
5405
- const getIndeterminateSVGBackgroundImage = (fill) => {
5405
+ const getIndeterminateSVGBackgroundImage$1 = (fill) => {
5406
5406
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5407
5407
  };
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);
5408
+ const getComponentCss$11 = (hideLabel, state, isDisabled, isLoading, theme) => {
5409
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5410
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5411
+ const indeterminateIconColor = escapeHashCharacter(getThemedColors(theme).primaryColor);
5412
+ const indeterminateIconColorDark = escapeHashCharacter(getThemedColors('dark').primaryColor);
5422
5413
  return getCss({
5423
5414
  '@global': {
5424
5415
  ':host': {
@@ -5439,16 +5430,30 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5439
5430
  // TODO: is it somehow useful possible to make following styles configurable by parameter?
5440
5431
  ...(!isLoading && {
5441
5432
  '&(input:checked)': {
5442
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5433
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColor),
5443
5434
  ...prefersColorSchemeDarkMediaQuery(theme, {
5444
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5435
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColorDark),
5445
5436
  }),
5437
+ // 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.
5438
+ ...(isHighContrastMode &&
5439
+ getSchemedHighContrastMediaQuery({
5440
+ backgroundImage: getCheckedSVGBackgroundImage$2('white'),
5441
+ }, {
5442
+ backgroundImage: getCheckedSVGBackgroundImage$2('black'),
5443
+ })),
5446
5444
  },
5447
5445
  '&(input:indeterminate)': {
5448
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5446
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColor),
5449
5447
  ...prefersColorSchemeDarkMediaQuery(theme, {
5450
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColorDark),
5448
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColorDark),
5451
5449
  }),
5450
+ // 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.
5451
+ ...(isHighContrastMode &&
5452
+ getSchemedHighContrastMediaQuery({
5453
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('black'),
5454
+ }, {
5455
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('white'),
5456
+ })),
5452
5457
  },
5453
5458
  }),
5454
5459
  },
@@ -5496,6 +5501,216 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5496
5501
  });
5497
5502
  };
5498
5503
 
5504
+ const getCheckedSVGBackgroundImage$1 = (fill) => {
5505
+ 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"/>`);
5506
+ };
5507
+ const getIndeterminateSVGBackgroundImage = (fill) => {
5508
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5509
+ };
5510
+ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5511
+ const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5512
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5513
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
5514
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
5515
+ const { canvasTextColor } = getHighContrastColors();
5516
+ const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
5517
+ // TODO: needs to be extracted into a color function
5518
+ const uncheckedColor = disabledOrLoading ? disabledColor : formStateColor || contrastMediumColor;
5519
+ const uncheckedColorDark = disabledOrLoading ? disabledColorDark : formStateColorDark || contrastMediumColorDark;
5520
+ const uncheckedHoverColor = formStateHoverColor || primaryColor;
5521
+ const uncheckedHoverColorDark = formStateHoverColorDark || primaryColorDark;
5522
+ const checkedColor = isHighContrastMode
5523
+ ? canvasTextColor
5524
+ : disabledOrLoading
5525
+ ? disabledColor
5526
+ : formStateColor || primaryColor;
5527
+ const checkedColorDark = isHighContrastMode
5528
+ ? canvasTextColor
5529
+ : disabledOrLoading
5530
+ ? disabledColorDark
5531
+ : formStateColorDark || primaryColorDark;
5532
+ const checkedHoverColor = formStateHoverColor || contrastHighColor;
5533
+ const checkedHoverColorDark = formStateHoverColorDark || contrastHighColorDark;
5534
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5535
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5536
+ const indeterminateIconColor = escapeHashCharacter(disabledOrLoading ? disabledColorDark : formStateColor || primaryColor);
5537
+ const indeterminateIconColorDark = escapeHashCharacter(formStateColorDark || primaryColorDark);
5538
+ const indeterminateIconHoverColor = escapeHashCharacter(formStateHoverColor || primaryColor);
5539
+ const indeterminateIconHoverColorDark = escapeHashCharacter(formStateHoverColorDark || primaryColorDark);
5540
+ const background = `transparent 0% 0% / ${fontLineHeight}`;
5541
+ return getCss({
5542
+ '@global': {
5543
+ ':host': {
5544
+ display: 'block',
5545
+ ...addImportantToEachRule({
5546
+ ...colorSchemeStyles,
5547
+ ...hostHiddenStyles,
5548
+ }),
5549
+ },
5550
+ ...preventFoucOfNestedElementsStyles,
5551
+ input: {
5552
+ width: fontLineHeight,
5553
+ height: fontLineHeight,
5554
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5555
+ display: 'block',
5556
+ margin: 0,
5557
+ padding: 0,
5558
+ WebkitAppearance: 'none', // iOS safari
5559
+ appearance: 'none',
5560
+ boxSizing: 'content-box',
5561
+ background,
5562
+ transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
5563
+ border: `${borderWidthBase} solid ${uncheckedColor}`,
5564
+ outline: 0, // TODO: only relevant for VRT testing with forced states - prevents :focus style (in case getFocusJssStyle() condition is not matching)
5565
+ ...(disabledOrLoading
5566
+ ? {
5567
+ pointerEvents: 'none', // to prevent form element becomes clickable/toggleable
5568
+ }
5569
+ : {
5570
+ cursor: 'pointer',
5571
+ }),
5572
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5573
+ borderColor: uncheckedColorDark,
5574
+ }),
5575
+ gridArea: '1/1',
5576
+ borderRadius: borderRadiusSmall,
5577
+ },
5578
+ ...(!isLoading
5579
+ ? {
5580
+ 'input:checked': {
5581
+ borderColor: checkedColor,
5582
+ backgroundColor: checkedColor,
5583
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5584
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5585
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5586
+ borderColor: checkedColorDark,
5587
+ backgroundColor: checkedColorDark,
5588
+ }),
5589
+ // 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.
5590
+ ...(isHighContrastMode &&
5591
+ getSchemedHighContrastMediaQuery({
5592
+ backgroundImage: getCheckedSVGBackgroundImage$1('white'),
5593
+ }, {
5594
+ backgroundImage: getCheckedSVGBackgroundImage$1('black'),
5595
+ })),
5596
+ },
5597
+ 'input:indeterminate': {
5598
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5599
+ borderColor: uncheckedColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5600
+ backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5601
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5602
+ backgroundImage: getIndeterminateSVGBackgroundImage(disabledOrLoading ? indeterminateIconColor : indeterminateIconColorDark),
5603
+ borderColor: uncheckedColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5604
+ backgroundColor: 'transparent', // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5605
+ }),
5606
+ // 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.
5607
+ ...(isHighContrastMode &&
5608
+ getSchemedHighContrastMediaQuery({
5609
+ backgroundImage: getIndeterminateSVGBackgroundImage('black'),
5610
+ }, {
5611
+ backgroundImage: getIndeterminateSVGBackgroundImage('white'),
5612
+ })),
5613
+ },
5614
+ }
5615
+ : {
5616
+ 'input:checked': {
5617
+ // background-image is merged in later
5618
+ borderColor: checkedColor,
5619
+ backgroundColor: checkedColor,
5620
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5621
+ borderColor: checkedColorDark,
5622
+ backgroundColor: checkedColorDark,
5623
+ }),
5624
+ },
5625
+ }),
5626
+ ...(!disabledOrLoading &&
5627
+ !isHighContrastMode &&
5628
+ hoverMediaQuery({
5629
+ 'input:hover,label:hover~.wrapper input': {
5630
+ borderColor: uncheckedHoverColor,
5631
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5632
+ borderColor: uncheckedHoverColorDark,
5633
+ }),
5634
+ },
5635
+ 'input:checked:hover,label:hover~.wrapper input:checked': {
5636
+ borderColor: checkedHoverColor,
5637
+ backgroundColor: checkedHoverColor,
5638
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5639
+ borderColor: checkedHoverColorDark,
5640
+ backgroundColor: checkedHoverColorDark,
5641
+ }),
5642
+ },
5643
+ 'input:indeterminate:hover,label:hover~.wrapper input:indeterminate': {
5644
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5645
+ borderColor: uncheckedHoverColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5646
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColor)),
5647
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5648
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColorDark)),
5649
+ borderColor: uncheckedHoverColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode
5650
+ backgroundColor: 'transparent',
5651
+ }),
5652
+ },
5653
+ 'label:hover~.wrapper input': supportsChromiumMediaQuery({
5654
+ transition: 'unset', // Fixes chrome bug where transition properties are stuck on hover
5655
+ }),
5656
+ })),
5657
+ ...(!isDisabled && {
5658
+ 'input::-moz-focus-inner': {
5659
+ border: 0, // reset ua-style (for FF)
5660
+ },
5661
+ 'input:focus': {
5662
+ outline: 0, // reset ua-style (for older browsers)
5663
+ },
5664
+ 'input:focus-visible': {
5665
+ outline: `${borderWidthBase} solid ${focusColor}`,
5666
+ outlineOffset: '2px',
5667
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5668
+ outlineColor: focusColorDark,
5669
+ }),
5670
+ },
5671
+ }),
5672
+ },
5673
+ root: {
5674
+ display: 'grid',
5675
+ gridTemplateColumns: 'auto minmax(0, 1fr)',
5676
+ rowGap: spacingStaticXSmall,
5677
+ ...(disabledOrLoading && {
5678
+ cursor: 'not-allowed',
5679
+ }),
5680
+ },
5681
+ wrapper: {
5682
+ display: 'grid',
5683
+ gridArea: '1/1',
5684
+ alignSelf: 'flex-start', // in case label becomes multiline
5685
+ },
5686
+ ...(isLoading && {
5687
+ spinner: {
5688
+ position: 'relative', // ensure correct stacking, can be removed as soon as focus for input is handled with outline
5689
+ gridArea: '1/1',
5690
+ placeSelf: 'center',
5691
+ width: fontLineHeight,
5692
+ height: fontLineHeight,
5693
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5694
+ pointerEvents: 'none',
5695
+ },
5696
+ }),
5697
+ // .label / .required
5698
+ ...getFunctionalComponentLabelStyles(isDisabled || isLoading, hideLabel, theme, {
5699
+ gridArea: '1/2',
5700
+ ...(isLoading && { pointerEvents: 'none' }), // prevent default htmlFor behavior. TODO: Remove as soon as label component for custom form components exists.
5701
+ }, {
5702
+ paddingTop: '2px', // compensate vertical alignment
5703
+ paddingInlineStart: spacingStaticSmall, // asymmetric padding used instead of gap to prevent not clickable area between label and input
5704
+ }),
5705
+ // .message
5706
+ ...getFunctionalComponentStateMessageStyles(theme, state, {
5707
+ gridColumn: '1/3',
5708
+ }),
5709
+ // .loading
5710
+ ...getFunctionalComponentLoadingMessageStyles(),
5711
+ });
5712
+ };
5713
+
5499
5714
  const widthMap = {
5500
5715
  narrow: gridNarrowOffset,
5501
5716
  basic: gridBasicOffset,
@@ -8500,12 +8715,8 @@ const getCheckedSVGBackgroundImage = (fill) => {
8500
8715
  return getInlineSVGBackgroundImage(`<circle fill="${fill}" cx="12" cy="12" r="6"/>`);
8501
8716
  };
8502
8717
  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);
8718
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
8719
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
8509
8720
  return getCss({
8510
8721
  '@global': {
8511
8722
  ':host': {
@@ -8530,6 +8741,13 @@ const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8530
8741
  ...prefersColorSchemeDarkMediaQuery(theme, {
8531
8742
  backgroundImage: getCheckedSVGBackgroundImage(checkedIconColorDark),
8532
8743
  }),
8744
+ // 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.
8745
+ ...(isHighContrastMode &&
8746
+ getSchemedHighContrastMediaQuery({
8747
+ backgroundImage: getCheckedSVGBackgroundImage('white'),
8748
+ }, {
8749
+ backgroundImage: getCheckedSVGBackgroundImage('black'),
8750
+ })),
8533
8751
  },
8534
8752
  }),
8535
8753
  },
@@ -10828,4 +11046,4 @@ const getComponentCss = (size, theme) => {
10828
11046
  });
10829
11047
  };
10830
11048
 
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 };
11049
+ 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
  }
@@ -8,6 +8,7 @@ import { PButtonPure } from '../components/button-pure.wrapper.mjs';
8
8
  import '../components/button-tile.wrapper.mjs';
9
9
  import '../components/canvas.wrapper.mjs';
10
10
  import '../components/carousel.wrapper.mjs';
11
+ import '../components/checkbox.wrapper.mjs';
11
12
  import '../components/checkbox-wrapper.wrapper.mjs';
12
13
  import '../components/content-wrapper.wrapper.mjs';
13
14
  import '../components/crest.wrapper.mjs';
@@ -75,7 +76,7 @@ import '../components/wordmark.wrapper.mjs';
75
76
  import { splitChildren } from '../../splitChildren.mjs';
76
77
  import { minifyCss } from '../../minifyCss.mjs';
77
78
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
78
- import { getButtonTileCss as getComponentCss$14 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
+ import { getButtonTileCss as getComponentCss$15 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
79
80
  import { isDisabledOrLoading } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
80
81
 
81
82
  /**
@@ -97,7 +98,7 @@ class DSRButtonTile extends Component {
97
98
  };
98
99
  const button = (createElement(PButton, { ...buttonProps, icon: this.props.icon, key: "link-or-button", className: "link-or-button" }, this.props.label));
99
100
  const buttonPure = (createElement(PButtonPure, { ...buttonProps, key: "link-or-button-pure", className: "link-or-button-pure", hideLabel: true, icon: this.props.icon === 'none' ? 'arrow-right' : this.props.icon }, this.props.label));
100
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$14(isDisabledOrLoading(this.props.disabled, this.props.loading), this.props.aspectRatio, this.props.size, this.props.weight, this.props.background, this.props.align, this.props.compact, this.props.gradient, this.props.disabled)));
101
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$15(isDisabledOrLoading(this.props.disabled, this.props.loading), this.props.aspectRatio, this.props.size, this.props.weight, this.props.background, this.props.align, this.props.compact, this.props.gradient, this.props.disabled)));
101
102
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx("slot", { name: "header" }), jsx("div", { className: "media", children: jsx("slot", {}) }), jsxs("div", { className: "footer", children: [jsx("p", { children: this.props.description }), typeof this.props.compact === 'boolean' ? (this.props.compact ? buttonPure : button) : [buttonPure, button]] })] })] }), this.props.children] }));
102
103
  }
103
104
  }