@porsche-design-system/components-react 3.19.0-rc.0 → 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 (123) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/cjs/lib/components/canvas.wrapper.cjs +3 -5
  3. package/cjs/lib/components/carousel.wrapper.cjs +3 -3
  4. package/cjs/lib/components/checkbox.wrapper.cjs +28 -0
  5. package/cjs/public-api.cjs +2 -0
  6. package/esm/lib/components/canvas.wrapper.d.ts +13 -21
  7. package/esm/lib/components/canvas.wrapper.mjs +4 -6
  8. package/esm/lib/components/carousel.wrapper.d.ts +8 -0
  9. package/esm/lib/components/carousel.wrapper.mjs +3 -3
  10. package/esm/lib/components/checkbox.wrapper.d.ts +128 -0
  11. package/esm/lib/components/checkbox.wrapper.mjs +26 -0
  12. package/esm/lib/components/index.d.ts +1 -0
  13. package/esm/lib/components/textarea.wrapper.d.ts +2 -0
  14. package/esm/lib/types.d.ts +9 -7
  15. package/esm/public-api.mjs +1 -0
  16. package/package.json +2 -2
  17. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +404 -80
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.cjs +4 -6
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.cjs +4 -4
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.cjs +39 -0
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.cjs +3 -2
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -0
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -0
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -0
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +1 -0
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -0
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +17 -21
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -0
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +1 -0
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +108 -0
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.cjs +1 -0
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.cjs +1 -0
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -0
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -0
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +1 -0
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +1 -0
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -0
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +1 -0
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -0
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -0
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -0
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -0
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +1 -0
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -0
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -0
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -0
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -0
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -0
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -0
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -0
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -0
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -0
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -0
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -0
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -0
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -0
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -0
  62. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -0
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +1 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  66. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +395 -72
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.mjs +5 -7
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.mjs +4 -4
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.mjs +37 -0
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.mjs +3 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +3 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +3 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +3 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -2
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +3 -2
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +18 -22
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +3 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +3 -2
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +106 -0
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +1 -0
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +1 -0
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -0
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -0
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -0
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +1 -0
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +1 -0
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -0
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +1 -0
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -0
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -0
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -0
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -0
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -0
  95. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -0
  96. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -0
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +1 -0
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -0
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -0
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -0
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +1 -0
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +1 -0
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -0
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -0
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -0
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -0
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -0
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -0
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -0
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -0
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -0
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -0
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +1 -0
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  116. package/ssr/esm/lib/components/canvas.wrapper.d.ts +13 -21
  117. package/ssr/esm/lib/components/carousel.wrapper.d.ts +8 -0
  118. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +128 -0
  119. package/ssr/esm/lib/components/index.d.ts +1 -0
  120. package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -0
  121. package/ssr/esm/lib/dsr-components/canvas.d.ts +5 -4
  122. package/ssr/esm/lib/dsr-components/checkbox.d.ts +12 -0
  123. package/ssr/esm/lib/types.d.ts +9 -7
@@ -3953,7 +3953,7 @@ const formatObjectOutput = (value) => {
3953
3953
  'value, ' +
3954
3954
  formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {})).replace(/"/g, '');
3955
3955
 
3956
- const getComponentCss$18 = (size, compact, open, theme, sticky) => {
3956
+ const getComponentCss$19 = (size, compact, open, theme, sticky) => {
3957
3957
  const { primaryColor, hoverColor, contrastLowColor, backgroundColor } = getThemedColors(theme);
3958
3958
  const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
3959
3959
  const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
@@ -4123,7 +4123,7 @@ const cssVariableTop = '--p-banner-position-top';
4123
4123
  const cssVariableBottom = '--p-banner-position-bottom';
4124
4124
  const cssVariableZIndex = '--p-internal-banner-z-index';
4125
4125
  const topBottomFallback = '56px';
4126
- const getComponentCss$17 = (isOpen) => {
4126
+ const getComponentCss$18 = (isOpen) => {
4127
4127
  return getCss({
4128
4128
  '@global': {
4129
4129
  ':host': {
@@ -4195,7 +4195,7 @@ const getGroupDirectionJssStyles = (direction) => {
4195
4195
  return groupDirectionJssStyles[direction];
4196
4196
  };
4197
4197
 
4198
- const getComponentCss$16 = (direction) => {
4198
+ const getComponentCss$17 = (direction) => {
4199
4199
  return getCss({
4200
4200
  '@global': {
4201
4201
  ':host': {
@@ -4348,7 +4348,7 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4348
4348
  };
4349
4349
  };
4350
4350
 
4351
- const getComponentCss$15 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4351
+ const getComponentCss$16 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4352
4352
  const hasIcon = hasVisibleIcon(icon, iconSource);
4353
4353
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false, theme), {
4354
4354
  root: {
@@ -4386,7 +4386,7 @@ const getFontWeight = (weight) => {
4386
4386
  return fontWeightMap[weight];
4387
4387
  };
4388
4388
 
4389
- const getComponentCss$14 = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4389
+ const getComponentCss$15 = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4390
4390
  const isTopAligned = align === 'top';
4391
4391
  return getCss({
4392
4392
  '@global': {
@@ -4653,7 +4653,7 @@ const getDisabledColors = (variant, loading, theme) => {
4653
4653
  };
4654
4654
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4655
4655
  };
4656
- const getComponentCss$13 = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4656
+ const getComponentCss$14 = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4657
4657
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4658
4658
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4659
4659
  const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
@@ -4708,16 +4708,14 @@ const getComponentCss$13 = (icon, iconSource, variant, hideLabel, disabled, load
4708
4708
  }));
4709
4709
  };
4710
4710
 
4711
- const cssVariableSidebarStartWidth = '--p-canvas-sidebar-start-width';
4712
- const cssVariableSidebarEndWidth = '--p-canvas-sidebar-end-width';
4713
- // TODO: maybe default grid gap would also work
4711
+ const cssVarSidebarStartWidth = '--p-canvas-sidebar-start-width';
4712
+ const cssVarSidebarEndWidth = '--p-canvas-sidebar-end-width';
4714
4713
  const gridProductiveGap = gridGap.replace('36px', '24px');
4715
4714
  const mediaQueryDesktopView = getMediaQueryMin('m');
4716
- const sidebarWidths = {
4717
- medium: '320px',
4718
- large: '480px', // TODO: won't work at viewport 1000px when both sidebars are opened
4719
- };
4720
- const getComponentCss$12 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndOpen, sidebarEndWidth) => {
4715
+ const sidebarWidth = '320px';
4716
+ const headerHeight = 'calc(1.5rem + 28px)';
4717
+ const getComponentCss$13 = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4718
+ const { primaryColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
4721
4719
  return getCss({
4722
4720
  '@global': {
4723
4721
  ':host': {
@@ -4728,7 +4726,71 @@ const getComponentCss$12 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndO
4728
4726
  }),
4729
4727
  },
4730
4728
  ...preventFoucOfNestedElementsStyles,
4731
- ':is(header, main, footer, aside)': {
4729
+ '::slotted': {
4730
+ '&([slot*="header"])': {
4731
+ display: 'flex',
4732
+ alignItems: 'center',
4733
+ gap: spacingStaticSmall,
4734
+ },
4735
+ '&([slot*="sidebar"])': {
4736
+ display: 'flex',
4737
+ flexDirection: 'column',
4738
+ gap: spacingStaticSmall,
4739
+ },
4740
+ // pre-defined utility classes
4741
+ '&(.p-module)': {
4742
+ gridColumn: '1/-1',
4743
+ },
4744
+ '&(.p-module--subgrid)': {
4745
+ display: 'grid',
4746
+ gridTemplateColumns: 'subgrid',
4747
+ rowGap: gridProductiveGap,
4748
+ },
4749
+ '&(.p-module--more-space-above-small)': {
4750
+ marginTop: spacingStaticSmall,
4751
+ },
4752
+ '&(.p-module--more-space-above-medium)': {
4753
+ marginTop: spacingStaticMedium,
4754
+ },
4755
+ '&(.p-module--more-space-above-large)': {
4756
+ marginTop: spacingStaticLarge,
4757
+ },
4758
+ '&(.p-module--less-space-above-small)': {
4759
+ marginTop: `max(calc(-1 * ${gridProductiveGap}), calc(-1 * ${spacingStaticSmall}))`,
4760
+ },
4761
+ '&(.p-module--less-space-above-medium)': {
4762
+ marginTop: `max(calc(-1 * ${gridProductiveGap}), calc(-1 * ${spacingStaticMedium}))`,
4763
+ },
4764
+ '&(.p-module--less-space-above-large)': {
4765
+ marginTop: `max(calc(-1 * ${gridProductiveGap}), calc(-1 * ${spacingStaticLarge}))`,
4766
+ },
4767
+ '&(.p-flex)': {
4768
+ display: 'flex',
4769
+ },
4770
+ '&(.p-align-items--center)': {
4771
+ alignItems: 'center',
4772
+ },
4773
+ '&(.p-gap--small)': {
4774
+ gap: spacingStaticSmall,
4775
+ },
4776
+ '&(.p-gap--medium)': {
4777
+ gap: spacingStaticMedium,
4778
+ },
4779
+ '&(.p-gap--large)': {
4780
+ gap: spacingStaticLarge,
4781
+ },
4782
+ },
4783
+ 'slot[name="title"]::slotted(a)': {
4784
+ textDecoration: 'none',
4785
+ color: 'inherit',
4786
+ },
4787
+ h2: {
4788
+ ...textSmallStyle,
4789
+ color: primaryColor,
4790
+ textTransform: 'uppercase',
4791
+ letterSpacing: '2px',
4792
+ },
4793
+ 'header, main, footer, aside': {
4732
4794
  padding: gridProductiveGap,
4733
4795
  boxSizing: 'border-box',
4734
4796
  zIndex: 0,
@@ -4737,49 +4799,78 @@ const getComponentCss$12 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndO
4737
4799
  gridArea: 'header',
4738
4800
  position: 'sticky',
4739
4801
  top: 0,
4740
- zIndex: 1,
4802
+ zIndex: 9999999,
4803
+ height: headerHeight,
4804
+ display: 'grid',
4805
+ gridTemplateColumns: 'minmax(0, 1fr) auto minmax(0, 1fr)',
4806
+ gap: gridProductiveGap,
4807
+ backgroundColor: backgroundSurfaceColor,
4808
+ alignItems: 'center',
4809
+ paddingBlock: 0,
4810
+ '&::before, &::after': {
4811
+ content: '""',
4812
+ position: 'absolute',
4813
+ backgroundColor: 'transparent',
4814
+ bottom: `calc(${borderRadiusLarge} * -2)`,
4815
+ height: `calc(${borderRadiusLarge} * 2)`,
4816
+ width: borderRadiusLarge,
4817
+ boxShadow: `0 -${borderRadiusLarge} 0 0 ${backgroundSurfaceColor}`,
4818
+ pointerEvents: 'none',
4819
+ },
4820
+ '&::before': {
4821
+ left: 0,
4822
+ borderTopLeftRadius: borderRadiusLarge,
4823
+ },
4824
+ '&::after': {
4825
+ right: 0,
4826
+ borderTopRightRadius: borderRadiusLarge,
4827
+ },
4741
4828
  },
4742
4829
  main: {
4743
4830
  gridArea: 'main',
4744
- '--pds-grid-span-full': 'span 6',
4745
- '--pds-grid-span-one-half': 'span 3',
4746
- '--pds-grid-span-one-third': 'span 2',
4747
- '--pds-grid-span-two-thirds': 'span 4',
4831
+ '--p-canvas-grid-span-full': 'span 6',
4832
+ '--p-canvas-grid-span-one-half': 'span 3',
4833
+ '--p-canvas-grid-span-one-third': 'span 2',
4834
+ '--p-canvas-grid-span-two-thirds': 'span 4',
4748
4835
  display: 'grid',
4749
4836
  gridTemplateColumns: 'repeat(6, minmax(0, 1fr))',
4750
4837
  gap: gridProductiveGap,
4751
4838
  alignContent: 'flex-start',
4839
+ backgroundColor,
4752
4840
  [mediaQueryDesktopView]: {
4753
- '--pds-grid-span-full': 'span 12',
4754
- '--pds-grid-span-one-half': 'span 6',
4755
- '--pds-grid-span-one-third': 'span 4',
4756
- '--pds-grid-span-two-thirds': 'span 8',
4841
+ '--p-canvas-grid-span-full': 'span 12',
4842
+ '--p-canvas-grid-span-one-half': 'span 6',
4843
+ '--p-canvas-grid-span-one-third': 'span 4',
4844
+ '--p-canvas-grid-span-two-thirds': 'span 8',
4757
4845
  gridTemplateColumns: 'repeat(12, minmax(0, 1fr))',
4758
4846
  },
4759
4847
  },
4760
4848
  footer: {
4761
4849
  gridArea: 'footer',
4850
+ backgroundColor,
4762
4851
  },
4763
4852
  aside: {
4764
- // TODO: box-shadows or colored surface must be defined, design is missing
4765
- position: 'relative',
4766
4853
  transition: getTransition('margin'),
4767
- '&:first-of-type': {
4768
- gridArea: 'sidebar-start',
4769
- width: `var(${cssVariableSidebarStartWidth}, ${sidebarWidths[sidebarStartWidth]})`,
4770
- marginInlineStart: isSidebarStartOpen
4771
- ? 0
4772
- : `calc(var(${cssVariableSidebarStartWidth}, ${sidebarWidths[sidebarStartWidth]}) * -1)`,
4773
- },
4774
- '&:last-of-type': {
4775
- gridArea: 'sidebar-end',
4776
- width: `var(${cssVariableSidebarEndWidth}, ${sidebarWidths[sidebarEndWidth]})`,
4777
- marginInlineEnd: isSidebarEndOpen
4778
- ? 0
4779
- : `calc(var(${cssVariableSidebarEndWidth}, ${sidebarWidths[sidebarEndWidth]}) * -1)`,
4780
- },
4854
+ position: 'sticky',
4855
+ top: headerHeight,
4856
+ height: `calc(100dvh - ${headerHeight})`,
4857
+ overflow: 'hidden auto',
4781
4858
  },
4782
4859
  },
4860
+ 'sidebar-start': {
4861
+ borderInlineEnd: `1px solid ${backgroundSurfaceColor}`,
4862
+ backgroundColor,
4863
+ gridArea: 'sidebar-start',
4864
+ width: `var(${cssVarSidebarStartWidth}, ${sidebarWidth})`,
4865
+ marginInlineStart: isSidebarStartOpen ? 0 : `calc(var(${cssVarSidebarStartWidth}, ${sidebarWidth}) * -1)`,
4866
+ },
4867
+ 'sidebar-end': {
4868
+ borderInlineStart: `1px solid ${backgroundSurfaceColor}`,
4869
+ backgroundColor,
4870
+ gridArea: 'sidebar-end',
4871
+ width: `var(${cssVarSidebarEndWidth}, ${sidebarWidth})`,
4872
+ marginInlineEnd: isSidebarEndOpen ? 0 : `calc(var(${cssVarSidebarEndWidth}, ${sidebarWidth}) * -1)`,
4873
+ },
4783
4874
  canvas: {
4784
4875
  display: 'grid',
4785
4876
  gridTemplateRows: 'auto minmax(0, 1fr) auto',
@@ -4791,10 +4882,24 @@ const getComponentCss$12 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndO
4791
4882
  gridTemplateAreas: '"header header header" "sidebar-start main sidebar-end" "sidebar-start footer sidebar-end"',
4792
4883
  },
4793
4884
  },
4794
- close: {
4795
- // TODO: must be positioned properly, design is missing
4796
- position: 'absolute',
4797
- inset: `${spacingStaticXSmall} ${spacingStaticXSmall} auto auto`,
4885
+ crest: {
4886
+ [getMediaQueryMin('s')]: {
4887
+ display: 'none',
4888
+ },
4889
+ },
4890
+ wordmark: {
4891
+ height: '10px',
4892
+ [getMediaQueryMax('s')]: {
4893
+ display: 'none',
4894
+ },
4895
+ },
4896
+ header: {
4897
+ display: 'flex',
4898
+ gap: spacingStaticSmall,
4899
+ alignItems: 'center',
4900
+ '&:last-of-type': {
4901
+ justifyContent: 'end',
4902
+ },
4798
4903
  },
4799
4904
  });
4800
4905
  };
@@ -4850,7 +4955,7 @@ const getGradient$1 = (theme, gradientColorTheme) => {
4850
4955
  `rgba(${gradientColor},0.3) 68%,` +
4851
4956
  `rgba(${gradientColor},0)`);
4852
4957
  };
4853
- const getComponentCss$11 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation) => {
4958
+ const getComponentCss$12 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation) => {
4854
4959
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
4855
4960
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
4856
4961
  const { canvasTextColor } = getHighContrastColors();
@@ -5296,26 +5401,17 @@ const getFunctionalComponentStateMessageStyles = (theme, state, additionalDefaul
5296
5401
  };
5297
5402
  };
5298
5403
 
5299
- const getCheckedSVGBackgroundImage$1 = (fill) => {
5404
+ const getCheckedSVGBackgroundImage$2 = (fill) => {
5300
5405
  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"/>`);
5301
5406
  };
5302
- const getIndeterminateSVGBackgroundImage = (fill) => {
5407
+ const getIndeterminateSVGBackgroundImage$1 = (fill) => {
5303
5408
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5304
5409
  };
5305
- const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5306
- const { canvasColor } = getHighContrastColors();
5307
- const checkedIconColor = isHighContrastMode
5308
- ? canvasColor
5309
- : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5310
- const checkedIconColorDark = isHighContrastMode
5311
- ? canvasColor
5312
- : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5313
- const indeterminateIconColor = isHighContrastMode
5314
- ? canvasColor
5315
- : escapeHashCharacter(getThemedColors(theme).primaryColor);
5316
- const indeterminateIconColorDark = isHighContrastMode
5317
- ? canvasColor
5318
- : escapeHashCharacter(getThemedColors('dark').primaryColor);
5410
+ const getComponentCss$11 = (hideLabel, state, isDisabled, isLoading, theme) => {
5411
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5412
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5413
+ const indeterminateIconColor = escapeHashCharacter(getThemedColors(theme).primaryColor);
5414
+ const indeterminateIconColorDark = escapeHashCharacter(getThemedColors('dark').primaryColor);
5319
5415
  return getCss({
5320
5416
  '@global': {
5321
5417
  ':host': {
@@ -5336,16 +5432,30 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5336
5432
  // TODO: is it somehow useful possible to make following styles configurable by parameter?
5337
5433
  ...(!isLoading && {
5338
5434
  '&(input:checked)': {
5339
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5435
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColor),
5340
5436
  ...prefersColorSchemeDarkMediaQuery(theme, {
5341
- backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5437
+ backgroundImage: getCheckedSVGBackgroundImage$2(checkedIconColorDark),
5342
5438
  }),
5439
+ // 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.
5440
+ ...(isHighContrastMode &&
5441
+ getSchemedHighContrastMediaQuery({
5442
+ backgroundImage: getCheckedSVGBackgroundImage$2('white'),
5443
+ }, {
5444
+ backgroundImage: getCheckedSVGBackgroundImage$2('black'),
5445
+ })),
5343
5446
  },
5344
5447
  '&(input:indeterminate)': {
5345
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5448
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColor),
5346
5449
  ...prefersColorSchemeDarkMediaQuery(theme, {
5347
- backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColorDark),
5450
+ backgroundImage: getIndeterminateSVGBackgroundImage$1(indeterminateIconColorDark),
5348
5451
  }),
5452
+ // 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.
5453
+ ...(isHighContrastMode &&
5454
+ getSchemedHighContrastMediaQuery({
5455
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('black'),
5456
+ }, {
5457
+ backgroundImage: getIndeterminateSVGBackgroundImage$1('white'),
5458
+ })),
5349
5459
  },
5350
5460
  }),
5351
5461
  },
@@ -5393,6 +5503,216 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5393
5503
  });
5394
5504
  };
5395
5505
 
5506
+ const getCheckedSVGBackgroundImage$1 = (fill) => {
5507
+ 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"/>`);
5508
+ };
5509
+ const getIndeterminateSVGBackgroundImage = (fill) => {
5510
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5511
+ };
5512
+ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5513
+ const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5514
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5515
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
5516
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
5517
+ const { canvasTextColor } = getHighContrastColors();
5518
+ const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
5519
+ // TODO: needs to be extracted into a color function
5520
+ const uncheckedColor = disabledOrLoading ? disabledColor : formStateColor || contrastMediumColor;
5521
+ const uncheckedColorDark = disabledOrLoading ? disabledColorDark : formStateColorDark || contrastMediumColorDark;
5522
+ const uncheckedHoverColor = formStateHoverColor || primaryColor;
5523
+ const uncheckedHoverColorDark = formStateHoverColorDark || primaryColorDark;
5524
+ const checkedColor = isHighContrastMode
5525
+ ? canvasTextColor
5526
+ : disabledOrLoading
5527
+ ? disabledColor
5528
+ : formStateColor || primaryColor;
5529
+ const checkedColorDark = isHighContrastMode
5530
+ ? canvasTextColor
5531
+ : disabledOrLoading
5532
+ ? disabledColorDark
5533
+ : formStateColorDark || primaryColorDark;
5534
+ const checkedHoverColor = formStateHoverColor || contrastHighColor;
5535
+ const checkedHoverColorDark = formStateHoverColorDark || contrastHighColorDark;
5536
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5537
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5538
+ const indeterminateIconColor = escapeHashCharacter(disabledOrLoading ? disabledColorDark : formStateColor || primaryColor);
5539
+ const indeterminateIconColorDark = escapeHashCharacter(formStateColorDark || primaryColorDark);
5540
+ const indeterminateIconHoverColor = escapeHashCharacter(formStateHoverColor || primaryColor);
5541
+ const indeterminateIconHoverColorDark = escapeHashCharacter(formStateHoverColorDark || primaryColorDark);
5542
+ const background = `transparent 0% 0% / ${fontLineHeight}`;
5543
+ return getCss({
5544
+ '@global': {
5545
+ ':host': {
5546
+ display: 'block',
5547
+ ...addImportantToEachRule({
5548
+ ...colorSchemeStyles,
5549
+ ...hostHiddenStyles,
5550
+ }),
5551
+ },
5552
+ ...preventFoucOfNestedElementsStyles,
5553
+ input: {
5554
+ width: fontLineHeight,
5555
+ height: fontLineHeight,
5556
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5557
+ display: 'block',
5558
+ margin: 0,
5559
+ padding: 0,
5560
+ WebkitAppearance: 'none', // iOS safari
5561
+ appearance: 'none',
5562
+ boxSizing: 'content-box',
5563
+ background,
5564
+ transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
5565
+ border: `${borderWidthBase} solid ${uncheckedColor}`,
5566
+ outline: 0, // TODO: only relevant for VRT testing with forced states - prevents :focus style (in case getFocusJssStyle() condition is not matching)
5567
+ ...(disabledOrLoading
5568
+ ? {
5569
+ pointerEvents: 'none', // to prevent form element becomes clickable/toggleable
5570
+ }
5571
+ : {
5572
+ cursor: 'pointer',
5573
+ }),
5574
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5575
+ borderColor: uncheckedColorDark,
5576
+ }),
5577
+ gridArea: '1/1',
5578
+ borderRadius: borderRadiusSmall,
5579
+ },
5580
+ ...(!isLoading
5581
+ ? {
5582
+ 'input:checked': {
5583
+ borderColor: checkedColor,
5584
+ backgroundColor: checkedColor,
5585
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5586
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5587
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5588
+ borderColor: checkedColorDark,
5589
+ backgroundColor: checkedColorDark,
5590
+ }),
5591
+ // 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.
5592
+ ...(isHighContrastMode &&
5593
+ getSchemedHighContrastMediaQuery({
5594
+ backgroundImage: getCheckedSVGBackgroundImage$1('white'),
5595
+ }, {
5596
+ backgroundImage: getCheckedSVGBackgroundImage$1('black'),
5597
+ })),
5598
+ },
5599
+ 'input:indeterminate': {
5600
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5601
+ borderColor: uncheckedColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5602
+ backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5603
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5604
+ backgroundImage: getIndeterminateSVGBackgroundImage(disabledOrLoading ? indeterminateIconColor : indeterminateIconColorDark),
5605
+ borderColor: uncheckedColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5606
+ backgroundColor: 'transparent', // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5607
+ }),
5608
+ // 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.
5609
+ ...(isHighContrastMode &&
5610
+ getSchemedHighContrastMediaQuery({
5611
+ backgroundImage: getIndeterminateSVGBackgroundImage('black'),
5612
+ }, {
5613
+ backgroundImage: getIndeterminateSVGBackgroundImage('white'),
5614
+ })),
5615
+ },
5616
+ }
5617
+ : {
5618
+ 'input:checked': {
5619
+ // background-image is merged in later
5620
+ borderColor: checkedColor,
5621
+ backgroundColor: checkedColor,
5622
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5623
+ borderColor: checkedColorDark,
5624
+ backgroundColor: checkedColorDark,
5625
+ }),
5626
+ },
5627
+ }),
5628
+ ...(!disabledOrLoading &&
5629
+ !isHighContrastMode &&
5630
+ hoverMediaQuery({
5631
+ 'input:hover,label:hover~.wrapper input': {
5632
+ borderColor: uncheckedHoverColor,
5633
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5634
+ borderColor: uncheckedHoverColorDark,
5635
+ }),
5636
+ },
5637
+ 'input:checked:hover,label:hover~.wrapper input:checked': {
5638
+ borderColor: checkedHoverColor,
5639
+ backgroundColor: checkedHoverColor,
5640
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5641
+ borderColor: checkedHoverColorDark,
5642
+ backgroundColor: checkedHoverColorDark,
5643
+ }),
5644
+ },
5645
+ 'input:indeterminate:hover,label:hover~.wrapper input:indeterminate': {
5646
+ background, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5647
+ borderColor: uncheckedHoverColor, // Safari fix: ensures proper rendering of 'indeterminate' mode with 'checked' state.
5648
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColor)),
5649
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5650
+ backgroundImage: getIndeterminateSVGBackgroundImage(escapeHashCharacter(indeterminateIconHoverColorDark)),
5651
+ borderColor: uncheckedHoverColorDark, // Safari fix: ensures proper rendering of 'indeterminate' mode
5652
+ backgroundColor: 'transparent',
5653
+ }),
5654
+ },
5655
+ 'label:hover~.wrapper input': supportsChromiumMediaQuery({
5656
+ transition: 'unset', // Fixes chrome bug where transition properties are stuck on hover
5657
+ }),
5658
+ })),
5659
+ ...(!isDisabled && {
5660
+ 'input::-moz-focus-inner': {
5661
+ border: 0, // reset ua-style (for FF)
5662
+ },
5663
+ 'input:focus': {
5664
+ outline: 0, // reset ua-style (for older browsers)
5665
+ },
5666
+ 'input:focus-visible': {
5667
+ outline: `${borderWidthBase} solid ${focusColor}`,
5668
+ outlineOffset: '2px',
5669
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5670
+ outlineColor: focusColorDark,
5671
+ }),
5672
+ },
5673
+ }),
5674
+ },
5675
+ root: {
5676
+ display: 'grid',
5677
+ gridTemplateColumns: 'auto minmax(0, 1fr)',
5678
+ rowGap: spacingStaticXSmall,
5679
+ ...(disabledOrLoading && {
5680
+ cursor: 'not-allowed',
5681
+ }),
5682
+ },
5683
+ wrapper: {
5684
+ display: 'grid',
5685
+ gridArea: '1/1',
5686
+ alignSelf: 'flex-start', // in case label becomes multiline
5687
+ },
5688
+ ...(isLoading && {
5689
+ spinner: {
5690
+ position: 'relative', // ensure correct stacking, can be removed as soon as focus for input is handled with outline
5691
+ gridArea: '1/1',
5692
+ placeSelf: 'center',
5693
+ width: fontLineHeight,
5694
+ height: fontLineHeight,
5695
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5696
+ pointerEvents: 'none',
5697
+ },
5698
+ }),
5699
+ // .label / .required
5700
+ ...getFunctionalComponentLabelStyles(isDisabled || isLoading, hideLabel, theme, {
5701
+ gridArea: '1/2',
5702
+ ...(isLoading && { pointerEvents: 'none' }), // prevent default htmlFor behavior. TODO: Remove as soon as label component for custom form components exists.
5703
+ }, {
5704
+ paddingTop: '2px', // compensate vertical alignment
5705
+ paddingInlineStart: spacingStaticSmall, // asymmetric padding used instead of gap to prevent not clickable area between label and input
5706
+ }),
5707
+ // .message
5708
+ ...getFunctionalComponentStateMessageStyles(theme, state, {
5709
+ gridColumn: '1/3',
5710
+ }),
5711
+ // .loading
5712
+ ...getFunctionalComponentLoadingMessageStyles(),
5713
+ });
5714
+ };
5715
+
5396
5716
  const widthMap = {
5397
5717
  narrow: gridNarrowOffset,
5398
5718
  basic: gridBasicOffset,
@@ -8397,12 +8717,8 @@ const getCheckedSVGBackgroundImage = (fill) => {
8397
8717
  return getInlineSVGBackgroundImage(`<circle fill="${fill}" cx="12" cy="12" r="6"/>`);
8398
8718
  };
8399
8719
  const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8400
- const checkedIconColor = isHighContrastMode
8401
- ? getHighContrastColors().canvasColor
8402
- : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
8403
- const checkedIconColorDark = isHighContrastMode
8404
- ? getHighContrastColors().canvasColor
8405
- : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
8720
+ const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
8721
+ const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
8406
8722
  return getCss({
8407
8723
  '@global': {
8408
8724
  ':host': {
@@ -8427,6 +8743,13 @@ const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8427
8743
  ...prefersColorSchemeDarkMediaQuery(theme, {
8428
8744
  backgroundImage: getCheckedSVGBackgroundImage(checkedIconColorDark),
8429
8745
  }),
8746
+ // 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.
8747
+ ...(isHighContrastMode &&
8748
+ getSchemedHighContrastMediaQuery({
8749
+ backgroundImage: getCheckedSVGBackgroundImage('white'),
8750
+ }, {
8751
+ backgroundImage: getCheckedSVGBackgroundImage('black'),
8752
+ })),
8430
8753
  },
8431
8754
  }),
8432
8755
  },
@@ -10725,15 +11048,16 @@ const getComponentCss = (size, theme) => {
10725
11048
  });
10726
11049
  };
10727
11050
 
10728
- exports.getAccordionCss = getComponentCss$18;
10729
- exports.getBannerCss = getComponentCss$17;
10730
- exports.getButtonCss = getComponentCss$13;
10731
- exports.getButtonGroupCss = getComponentCss$16;
10732
- exports.getButtonPureCss = getComponentCss$15;
10733
- exports.getButtonTileCss = getComponentCss$14;
10734
- exports.getCanvasCss = getComponentCss$12;
10735
- exports.getCarouselCss = getComponentCss$11;
10736
- exports.getCheckboxWrapperCss = getComponentCss$10;
11051
+ exports.getAccordionCss = getComponentCss$19;
11052
+ exports.getBannerCss = getComponentCss$18;
11053
+ exports.getButtonCss = getComponentCss$14;
11054
+ exports.getButtonGroupCss = getComponentCss$17;
11055
+ exports.getButtonPureCss = getComponentCss$16;
11056
+ exports.getButtonTileCss = getComponentCss$15;
11057
+ exports.getCanvasCss = getComponentCss$13;
11058
+ exports.getCarouselCss = getComponentCss$12;
11059
+ exports.getCheckboxCss = getComponentCss$10;
11060
+ exports.getCheckboxWrapperCss = getComponentCss$11;
10737
11061
  exports.getContentWrapperCss = getComponentCss$$;
10738
11062
  exports.getCrestCss = getComponentCss$_;
10739
11063
  exports.getDisplayCss = getComponentCss$Z;
@@ -7,22 +7,20 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var canvas = require('../dsr-components/canvas.cjs');
9
9
 
10
- const PCanvas = react.forwardRef(({ onDismissSidebarEnd, onDismissSidebarStart, sidebarEndOpen = false, sidebarEndWidth = 'medium', sidebarStartOpen = false, sidebarStartWidth = 'medium', className, children, ...rest }, ref) => {
10
+ const PCanvas = react.forwardRef(({ sidebarEndIcon = 'configurate', sidebarEndOpen = false, sidebarStartIcon = 'menu-lines', sidebarStartOpen = false, theme, className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef();
12
- hooks.useEventCallback(elementRef, 'dismissSidebarEnd', onDismissSidebarEnd);
13
- hooks.useEventCallback(elementRef, 'dismissSidebarStart', onDismissSidebarStart);
14
12
  const WebComponentTag = hooks.usePrefix('p-canvas');
15
- const propsToSync = [sidebarEndOpen, sidebarEndWidth, sidebarStartOpen, sidebarStartWidth];
13
+ const propsToSync = [sidebarEndIcon, sidebarEndOpen, sidebarStartIcon, sidebarStartOpen, theme || hooks.useTheme()];
16
14
  hooks.useBrowserLayoutEffect(() => {
17
15
  const { current } = elementRef;
18
- ['sidebarEndOpen', 'sidebarEndWidth', 'sidebarStartOpen', 'sidebarStartWidth'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ ['sidebarEndIcon', 'sidebarEndOpen', 'sidebarStartIcon', 'sidebarStartOpen', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
17
  }, propsToSync);
20
18
  const props = {
21
19
  ...rest,
22
20
  // @ts-ignore
23
21
  ...(!process.browser
24
22
  ? {
25
- children: (jsxRuntime.jsx(canvas.DSRCanvas, { sidebarEndOpen, sidebarEndWidth, sidebarStartOpen, sidebarStartWidth, children })),
23
+ children: (jsxRuntime.jsx(canvas.DSRCanvas, { sidebarEndIcon, sidebarEndOpen, sidebarStartIcon, sidebarStartOpen, theme: theme || hooks.useTheme(), children })),
26
24
  }
27
25
  : {
28
26
  children,