@porsche-design-system/components-react 3.27.0-rc.5 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/lib/components/carousel.wrapper.cjs +3 -3
  3. package/cjs/lib/components/table.wrapper.cjs +3 -3
  4. package/esm/lib/components/carousel.wrapper.d.ts +11 -3
  5. package/esm/lib/components/carousel.wrapper.mjs +3 -3
  6. package/esm/lib/components/table.wrapper.d.ts +17 -1
  7. package/esm/lib/components/table.wrapper.mjs +3 -3
  8. package/esm/lib/types.d.ts +13 -0
  9. package/package.json +2 -2
  10. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +533 -790
  11. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +42 -23
  12. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.cjs +4 -4
  13. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.cjs +4 -4
  14. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -1
  15. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  16. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +8 -14
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.cjs +2 -4
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +4 -4
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +7 -8
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +15 -19
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  22. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +521 -778
  23. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +40 -23
  24. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.mjs +4 -4
  25. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.mjs +4 -4
  26. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +1 -1
  27. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  28. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +9 -15
  29. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +4 -6
  30. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +2 -2
  31. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +2 -2
  32. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +6 -6
  33. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +2 -2
  34. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +2 -2
  35. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +2 -2
  36. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +2 -2
  37. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +2 -2
  38. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +9 -10
  39. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +2 -2
  40. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +16 -20
  41. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.mjs +2 -2
  42. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +2 -2
  43. package/ssr/esm/lib/components/carousel.wrapper.d.ts +11 -3
  44. package/ssr/esm/lib/components/table.wrapper.d.ts +17 -1
  45. package/ssr/esm/lib/dsr-components/multi-select.d.ts +4 -4
  46. package/ssr/esm/lib/dsr-components/popover.d.ts +2 -2
  47. package/ssr/esm/lib/dsr-components/select-wrapper-dropdown.d.ts +4 -4
  48. package/ssr/esm/lib/dsr-components/select.d.ts +5 -6
  49. package/ssr/esm/lib/types.d.ts +13 -0
@@ -2351,18 +2351,18 @@ function getDynamicStyles(styles) {
2351
2351
  var index = createJss();
2352
2352
 
2353
2353
  var jss_esm = /*#__PURE__*/Object.freeze({
2354
- __proto__: null,
2355
- RuleList: RuleList,
2356
- SheetsManager: SheetsManager,
2357
- SheetsRegistry: SheetsRegistry,
2358
- create: createJss,
2359
- createGenerateId: createGenerateId,
2360
- createRule: createRule,
2361
- default: index,
2362
- getDynamicStyles: getDynamicStyles,
2363
- hasCSSTOMSupport: hasCSSTOMSupport,
2364
- sheets: sheets,
2365
- toCssValue: toCssValue
2354
+ __proto__: null,
2355
+ RuleList: RuleList,
2356
+ SheetsManager: SheetsManager,
2357
+ SheetsRegistry: SheetsRegistry,
2358
+ create: createJss,
2359
+ createGenerateId: createGenerateId,
2360
+ createRule: createRule,
2361
+ default: index,
2362
+ getDynamicStyles: getDynamicStyles,
2363
+ hasCSSTOMSupport: hasCSSTOMSupport,
2364
+ sheets: sheets,
2365
+ toCssValue: toCssValue
2366
2366
  });
2367
2367
 
2368
2368
  var at = '@global';
@@ -3187,9 +3187,6 @@ const getTagNameWithoutPrefix = (host) => {
3187
3187
  return (tagNameWithoutPrefix || tagName); // return tagName as fallback for default tags
3188
3188
  };
3189
3189
 
3190
- // This class is shared since the popover needs to register a scroll listener to this node in order to hide the popover when the table is scrolled
3191
- const scrollAreaClass = 'scroll-area';
3192
-
3193
3190
  /* eslint-disable prefer-arrow/prefer-arrow-functions */
3194
3191
  function getClosestHTMLElement(element, selector) {
3195
3192
  return element?.closest(selector);
@@ -3243,7 +3240,7 @@ const parseJSONAttribute = (attribute) => {
3243
3240
  .replace(/[\s"]?([\w-]+)[\s"]?:/g, '"$1":'));
3244
3241
  };
3245
3242
 
3246
- const hasWindow = typeof window !== 'undefined';
3243
+ const hasWindow$1 = typeof window !== 'undefined';
3247
3244
  const parseAndGetAriaAttributes = (rawAttributes) => {
3248
3245
  if (rawAttributes) {
3249
3246
  return Object.fromEntries(Object.entries(parseJSONAttribute(rawAttributes)).map(([key, val]) => [
@@ -3254,7 +3251,7 @@ const parseAndGetAriaAttributes = (rawAttributes) => {
3254
3251
  }
3255
3252
  return undefined;
3256
3253
  };
3257
- hasWindow && window.matchMedia?.('(forced-colors: active)').matches;
3254
+ hasWindow$1 && window.matchMedia?.('(forced-colors: active)').matches;
3258
3255
 
3259
3256
  const getButtonBaseAriaAttributes = (isDisabled, isLoading) => {
3260
3257
  return {
@@ -3390,7 +3387,7 @@ supportsConstructableStylesheets();
3390
3387
  })(); // determine it once
3391
3388
 
3392
3389
  const attributeMutationMap = new Map();
3393
- hasWindow &&
3390
+ hasWindow$1 &&
3394
3391
  new MutationObserver((mutations) => {
3395
3392
  for (const mutation of mutations
3396
3393
  // reduce array to only entries that have really a changed value
@@ -3402,7 +3399,7 @@ hasWindow &&
3402
3399
  });
3403
3400
 
3404
3401
  const mediaQueries = Object.values(breakpoint).map((v) => `(min-width:${v}px)`);
3405
- hasWindow && window.matchMedia ? mediaQueries.map(window.matchMedia) : [];
3402
+ hasWindow$1 && window.matchMedia ? mediaQueries.map(window.matchMedia) : [];
3406
3403
 
3407
3404
  Object.entries(breakpoint).reduce((result, [key, val]) => ({ ...result, [`${val}px`]: key }), {});
3408
3405
 
@@ -3417,7 +3414,7 @@ const observedNodesMap = new Map();
3417
3414
  /**
3418
3415
  * Mutation observer for observing changes in the children of observed nodes.
3419
3416
  */
3420
- hasWindow &&
3417
+ hasWindow$1 &&
3421
3418
  new MutationObserver((mutations) => {
3422
3419
  // there may be race conditions in jsdom-polyfill tests where the map is already empty when a mutation happens
3423
3420
  if (observedNodesMap.size > 0) {
@@ -3432,7 +3429,7 @@ hasWindow &&
3432
3429
  });
3433
3430
 
3434
3431
  const isTouchDevice = () => {
3435
- if (!hasWindow) {
3432
+ if (!hasWindow$1) {
3436
3433
  return undefined;
3437
3434
  }
3438
3435
  return !!('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
@@ -3467,6 +3464,9 @@ var MARQUES_MANIFEST = { "porscheMarqueTrademark": { "medium": { "1x": { "png":
3467
3464
 
3468
3465
  // index.ts
3469
3466
  var MODEL_SIGNATURES_MANIFEST = { "718": { "src": "718.493a9e3.svg", "width": 79, "height": 26 }, "911": { "src": "911.b68f913.svg", "width": 94, "height": 25 }, "boxster": { "src": "boxster.c321738.svg", "width": 239, "height": 26 }, "cayenne": { "src": "cayenne.2556201.svg", "width": 245, "height": 35 }, "cayman": { "src": "cayman.cc89196.svg", "width": 229, "height": 35 }, "macan": { "src": "macan.a1844f4.svg", "width": 196, "height": 26 }, "panamera": { "src": "panamera.6dae809.svg", "width": 260, "height": 25 }, "taycan": { "src": "taycan.df444c6.svg", "width": 167, "height": 36 }, "turbo-s": { "src": "turbo-s.73f1e10.svg", "width": 199, "height": 25 }, "turbo": { "src": "turbo.6a4084a.svg", "width": 143, "height": 25 } };
3467
+
3468
+ // This class is shared since the popover needs to register a scroll listener to this node in order to hide the popover when the table is scrolled
3469
+ const scrollAreaClass = 'scroll-area';
3470
3470
  const isScrollable = (isPrevHidden, isNextHidden) => {
3471
3471
  return !(isPrevHidden && isNextHidden);
3472
3472
  };
@@ -3535,7 +3535,7 @@ var unwrapErr = (result) => {
3535
3535
  * @returns {boolean} `true` if the native Popover API is supported, `false` otherwise.
3536
3536
  */
3537
3537
  const supportsNativePopover = () => {
3538
- if (!hasWindow) {
3538
+ if (!hasWindow$1) {
3539
3539
  return false;
3540
3540
  }
3541
3541
  return Object.prototype.hasOwnProperty.call(HTMLElement.prototype, 'popover');
@@ -3545,6 +3545,22 @@ const hasNativePopoverSupport = supportsNativePopover();
3545
3545
  // getter for easy mocking
3546
3546
  const getHasNativePopoverSupport = () => hasNativePopoverSupport;
3547
3547
 
3548
+ /**
3549
+ * Checks if the current environment supports the native CSS Anchor Positioning.
3550
+ *
3551
+ * @returns {boolean} `true` if native CSS Anchor Positioning is supported, `false` otherwise.
3552
+ */
3553
+ const supportsNativeCSSAnchorPositioning = () => {
3554
+ // SSR or older browsers
3555
+ if (typeof CSS === 'undefined' || !CSS.supports)
3556
+ return false;
3557
+ return CSS.supports('(anchor-name: --test) and (position-anchor: --test) and (position-area: bottom) and (position-try-fallbacks: flip-block) and (width: anchor-size(width))');
3558
+ };
3559
+ // determine it once
3560
+ const hasNativeCSSAnchorPositioningSupport = supportsNativeCSSAnchorPositioning();
3561
+ // getter for easy mocking
3562
+ const getHasCSSAnchorPositioningSupport = () => hasNativeCSSAnchorPositioningSupport;
3563
+
3548
3564
  const hasDocument = typeof document !== 'undefined';
3549
3565
 
3550
3566
  const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
@@ -3574,6 +3590,7 @@ const getButtonAriaAttributes = (isDisabled, isLoading, aria) => {
3574
3590
  };
3575
3591
  getMediaQueryMin('s');
3576
3592
  getMediaQueryMin('xxl');
3593
+ ['auto', ...Array.from(new Array(10), (_, i) => i + 1)];
3577
3594
  // Infinite bullets will be shown if the total number of bullets is greater than this value
3578
3595
  const INFINITE_BULLET_THRESHOLD = 5;
3579
3596
  const isInfinitePagination = (amountOfPages) => {
@@ -3938,6 +3955,7 @@ exports.getCurrentActivePage = getCurrentActivePage;
3938
3955
  exports.getDirectChildHTMLElement = getDirectChildHTMLElement;
3939
3956
  exports.getDisplayTagType = getDisplayTagType;
3940
3957
  exports.getHTMLElement = getHTMLElement;
3958
+ exports.getHasCSSAnchorPositioningSupport = getHasCSSAnchorPositioningSupport;
3941
3959
  exports.getHasNativePopoverSupport = getHasNativePopoverSupport;
3942
3960
  exports.getHeadingTagType = getHeadingTagType;
3943
3961
  exports.getHeadlineTagType = getHeadlineTagType;
@@ -3963,7 +3981,7 @@ exports.hasDocument = hasDocument;
3963
3981
  exports.hasLocateAction = hasLocateAction;
3964
3982
  exports.hasSpecificDirectChildTag = hasSpecificDirectChildTag;
3965
3983
  exports.hasVisibleIcon = hasVisibleIcon;
3966
- exports.hasWindow = hasWindow;
3984
+ exports.hasWindow = hasWindow$1;
3967
3985
  exports.headerSlot = headerSlot;
3968
3986
  exports.isCurrentInput = isCurrentInput;
3969
3987
  exports.isCustomDropdown = isCustomDropdown;
@@ -3984,6 +4002,7 @@ exports.parseJSONAttribute = parseJSONAttribute;
3984
4002
  exports.scrollAreaClass = scrollAreaClass;
3985
4003
  exports.showCustomCalendarOrTimeIndicator = showCustomCalendarOrTimeIndicator;
3986
4004
  exports.supportsConstructableStylesheets = supportsConstructableStylesheets;
4005
+ exports.supportsNativeCSSAnchorPositioning = supportsNativeCSSAnchorPositioning;
3987
4006
  exports.supportsNativePopover = supportsNativePopover;
3988
4007
  exports.tempDiv = tempDiv;
3989
4008
  exports.tempIcon = tempIcon;
@@ -7,22 +7,22 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var carousel = require('../dsr-components/carousel.cjs');
9
9
 
10
- const PCarousel = /*#__PURE__*/ react.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) => {
10
+ const PCarousel = /*#__PURE__*/ react.forwardRef(({ activeSlideIndex = 0, alignControls = 'auto', 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) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  hooks.useEventCallback(elementRef, 'carouselChange', onCarouselChange);
13
13
  hooks.useEventCallback(elementRef, 'update', onUpdate);
14
14
  const WebComponentTag = hooks.usePrefix('p-carousel');
15
- const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || hooks.useTheme(), trimSpace, width, wrapContent];
15
+ const propsToSync = [activeSlideIndex, alignControls, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || hooks.useTheme(), trimSpace, width, wrapContent];
16
16
  hooks.useBrowserLayoutEffect(() => {
17
17
  const { current } = elementRef;
18
- ['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]));
18
+ ['activeSlideIndex', 'alignControls', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'trimSpace', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
19
  }, propsToSync);
20
20
  const props = {
21
21
  ...rest,
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsxRuntime.jsx(carousel.DSRCarousel, { activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme: theme || hooks.useTheme(), trimSpace, width, wrapContent, children })),
25
+ children: (jsxRuntime.jsx(carousel.DSRCarousel, { activeSlideIndex, alignControls, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme: theme || hooks.useTheme(), trimSpace, width, wrapContent, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -7,22 +7,22 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var table = require('../dsr-components/table.cjs');
9
9
 
10
- const PTable = /*#__PURE__*/ react.forwardRef(({ caption, onSortingChange, onUpdate, theme, className, children, ...rest }, ref) => {
10
+ const PTable = /*#__PURE__*/ react.forwardRef(({ caption, compact = false, layout = 'auto', onSortingChange, onUpdate, theme, className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  hooks.useEventCallback(elementRef, 'sortingChange', onSortingChange);
13
13
  hooks.useEventCallback(elementRef, 'update', onUpdate);
14
14
  const WebComponentTag = hooks.usePrefix('p-table');
15
- const propsToSync = [caption, theme || hooks.useTheme()];
15
+ const propsToSync = [caption, compact, layout, theme || hooks.useTheme()];
16
16
  hooks.useBrowserLayoutEffect(() => {
17
17
  const { current } = elementRef;
18
- ['caption', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
18
+ ['caption', 'compact', 'layout', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
19
  }, propsToSync);
20
20
  const props = {
21
21
  ...rest,
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsxRuntime.jsx(table.DSRTable, { caption, theme: theme || hooks.useTheme(), children })),
25
+ children: (jsxRuntime.jsx(table.DSRTable, { caption, compact, layout, theme: theme || hooks.useTheme(), children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -57,7 +57,7 @@ class DSRCarousel extends react.Component {
57
57
  ? Object.fromEntries(Object.entries(this.props.disablePagination).map(([key, value]) => [key, !value]))
58
58
  : !this.props.disablePagination
59
59
  : this.props.pagination, utilsEntry.isInfinitePagination(this.props.focusOnCenterSlide ? this.slides.length : this.props.amountOfPages), (alignHeaderDeprecationMap[this.props.alignHeader] ||
60
- this.props.alignHeader), this.props.theme, (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length))));
60
+ this.props.alignHeader), this.props.theme, (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length), this.props.alignControls)));
61
61
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "header", children: [hasHeadingPropOrSlot &&
62
62
  (this.props.heading ? (jsxRuntime.jsx("h2", { className: "heading", id: headingId, children: this.props.heading })) : (jsxRuntime.jsx("div", { className: "heading", id: headingId, children: jsxRuntime.jsx("slot", { name: "heading" }) }))), hasDescriptionPropOrSlot && (this.props.description ? jsxRuntime.jsx("p", { children: this.props.description }) : jsxRuntime.jsx("slot", { name: "description" })), hasControlsSlot && jsxRuntime.jsx("slot", { name: "controls" }), jsxRuntime.jsxs("div", { className: "nav", children: [this.props.skipLinkTarget && (jsxRuntime.jsx(linkPure_wrapper.PLinkPure, { href: this.props.skipLinkTarget, theme: this.props.theme, icon: "arrow-last", className: "btn skip-link", alignLabel: "start", hideLabel: true, children: "Skip carousel entries" })), (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length) && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...btnProps, icon: "arrow-left" })), (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length) && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...btnProps, icon: "arrow-right" }))] })] }), jsxRuntime.jsx("div", { id: "splide", className: "splide", ...utilsEntry.parseAndGetAriaAttributes({
63
63
  'aria-labelledby': hasHeadingPropOrSlot && !this.props.aria ? headingId : undefined,
@@ -15,7 +15,7 @@ class DSRMultiSelectOption extends react.Component {
15
15
  host;
16
16
  render() {
17
17
  splitChildren.splitChildren(this.props.children);
18
- const { theme = 'light', selected, highlighted, hidden, textContent } = this.props;
18
+ const { theme = 'light', selected, highlighted } = this.props;
19
19
  this.props.disabled || this.props.disabledParent;
20
20
  minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getMultiSelectOptionCss(theme)));
21
21
  return (jsxRuntime.jsx(jsxRuntime.Fragment, {}));
@@ -32,13 +32,13 @@ class DSRMultiSelect extends react.Component {
32
32
  defaultValue;
33
33
  multiSelectOptions = [];
34
34
  multiSelectOptgroups = [];
35
- inputContainer;
36
35
  inputElement;
37
- listElement;
36
+ resetButtonElement;
38
37
  preventOptionUpdate = false; // Used to prevent value watcher from updating options when options are already updated
39
- isNativePopoverCase = false;
40
- parentTableElement;
41
38
  popoverElement;
39
+ hasNativePopoverSupport = utilsEntry.getHasNativePopoverSupport();
40
+ hasNativeCSSAnchorPositioningSupport = utilsEntry.getHasCSSAnchorPositioningSupport();
41
+ cleanUpAutoUpdate;
42
42
  get currentValue() {
43
43
  return utilsEntry.getSelectedOptionValues(this.props.multiSelectOptions);
44
44
  }
@@ -58,17 +58,11 @@ class DSRMultiSelect extends react.Component {
58
58
  }
59
59
  render() {
60
60
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
61
- const optionsSelectedId = 'options-selected';
62
- const dropdownId = 'list';
63
61
  const inputId = 'filter';
64
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getMultiSelectCss('down', this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.isNativePopoverCase, this.props.theme)));
65
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: inputId, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.currentValue && (jsxRuntime.jsxs("span", { id: optionsSelectedId, className: "sr-only", children: [utilsEntry.getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] })), jsxRuntime.jsxs("div", { className: `wrapper${this.props.disabled ? ' disabled' : ''}`, children: [jsxRuntime.jsx("input", { id: inputId, role: "combobox", autoComplete: "off", disabled: this.props.disabled, required: this.props.required, "aria-invalid": this.props.state === 'error' ? 'true' : null }), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, "aria-hidden": "true" }), this.props.currentValue && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsx("div", { ...(this.props.isNativePopoverCase && {
66
- popover: 'auto',
67
- className: 'popover',
68
- ...(this.props.popoverElement?.matches(':popover-open') && {
69
- 'popover-open': true,
70
- }),
71
- }), children: jsxRuntime.jsxs("div", { id: dropdownId, className: "listbox", children: [!this.props.hasFilterResults && (jsxRuntime.jsxs("div", { className: "no-results", role: "option", children: [jsxRuntime.jsx("span", { "aria-hidden": "true", children: "---" }), jsxRuntime.jsx("span", { className: "sr-only", children: "No results found" })] })), jsxRuntime.jsx("slot", {})] }) })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), jsxRuntime.jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.hasFilterResults ? this.props.srHighlightedOptionText : 'No results found' })] })] }), this.props.children] }));
62
+ const popoverId = 'list';
63
+ const optionsSelectedId = 'options-selected';
64
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getMultiSelectCss(this.props.dropdownDirection, this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.hasNativeCSSAnchorPositioningSupport, this.props.theme)));
65
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: inputId, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.currentValue && (jsxRuntime.jsxs("span", { id: optionsSelectedId, className: "sr-only", children: [utilsEntry.getSelectedOptions(this.props.multiSelectOptions).length, " options selected"] })), jsxRuntime.jsxs("div", { className: `wrapper${this.props.disabled ? ' disabled' : ''}`, children: [jsxRuntime.jsx("input", { id: inputId, role: "combobox", autoComplete: "off", disabled: this.props.disabled, required: this.props.required, "aria-invalid": this.props.state === 'error' ? 'true' : null }), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, "aria-hidden": "true" }), this.props.currentValue && (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { type: "button", className: "button", icon: "close", hideLabel: true, theme: this.props.theme, disabled: this.props.disabled, children: "Reset selection" })), jsxRuntime.jsxs("div", { id: popoverId, popover: "manual", tabIndex: -1, children: [!this.props.hasFilterResults && (jsxRuntime.jsxs("div", { className: "no-results", role: "option", children: [jsxRuntime.jsx("span", { "aria-hidden": "true", children: "---" }), jsxRuntime.jsx("span", { className: "sr-only", children: "No results found" })] })), jsxRuntime.jsx("slot", {})] })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), jsxRuntime.jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.hasFilterResults ? this.props.srHighlightedOptionText : 'No results found' })] })] }), this.props.children] }));
72
66
  }
73
67
  }
74
68
 
@@ -15,11 +15,9 @@ class DSROptgroup extends react.Component {
15
15
  render() {
16
16
  splitChildren.splitChildren(this.props.children);
17
17
  const { theme = 'light', hidden } = this.props;
18
+ const labelId = 'label';
18
19
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getOptgroupCss(this.props.disabled, theme)));
19
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { role: "group", className: Object.entries({
20
- optgroup: true,
21
- 'optgroup--disabled': this.props.disabled,
22
- }).map(([key, value]) => value && key).filter(Boolean).join(' '), "aria-disabled": this.props.disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, "aria-labelledby": "label", children: [jsxRuntime.jsx("span", { className: "label", role: "presentation", id: "label", children: this.props.label }), jsxRuntime.jsx("slot", {})] }) })] }), this.props.children] }));
20
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { role: "group", "aria-disabled": this.props.disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, "aria-labelledby": labelId, children: [jsxRuntime.jsx("span", { id: labelId, role: "presentation", children: this.props.label }), jsxRuntime.jsx("slot", {})] }) })] }), this.props.children] }));
23
21
  }
24
22
  }
25
23
 
@@ -15,19 +15,19 @@ var icon_wrapper = require('../components/icon.wrapper.cjs');
15
15
  */
16
16
  class DSRPopover extends react.Component {
17
17
  host;
18
- open = false;
18
+ isOpen = false;
19
19
  popover;
20
20
  button;
21
21
  arrow;
22
- cleanUp;
22
+ cleanUpAutoUpdate;
23
23
  hasNativePopoverSupport = utilsEntry.getHasNativePopoverSupport();
24
24
  render() {
25
25
  splitChildren.splitChildren(this.props.children);
26
26
  const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getPopoverCss(this.props.theme).replace(/(:host {[\S\s]+?})[\S\s]+(button {[\S\s]+?})[\S\s]+(.icon {[\S\s]+?})[\S\s]+(.label {[\S\s]+?})[\S\s]+/, '$1\n$2\n$3\n$4')));
27
27
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("button", { type: "button", ...utilsEntry.parseAndGetAriaAttributes({
28
28
  ...utilsEntry.parseAndGetAriaAttributes(this.props.aria),
29
- ...{ 'aria-expanded': this.props.open },
30
- }), children: [jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "information", theme: this.props.theme }), jsxRuntime.jsx("span", { className: "label", children: "More information" })] }), this.props.open && (jsxRuntime.jsxs("div", { className: "popover", popover: "auto", children: [jsxRuntime.jsx("div", { className: "arrow" }), jsxRuntime.jsx("div", { className: "content", children: this.props.description ? jsxRuntime.jsx("p", { children: this.props.description }) : jsxRuntime.jsx("slot", {}) })] }))] })] }), this.props.children] }));
29
+ ...{ 'aria-expanded': this.props.isOpen },
30
+ }), children: [jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "information", theme: this.props.theme }), jsxRuntime.jsx("span", { className: "label", children: "More information" })] }), this.props.isOpen && (jsxRuntime.jsxs("div", { popover: "auto", children: [jsxRuntime.jsx("div", { className: "arrow" }), jsxRuntime.jsx("div", { className: "content", children: this.props.description ? jsxRuntime.jsx("p", { children: this.props.description }) : jsxRuntime.jsx("slot", {}) })] }))] })] }), this.props.children] }));
31
31
  }
32
32
  }
33
33
 
@@ -13,24 +13,23 @@ class DSRSelectWrapperDropdown extends react.Component {
13
13
  isOpen = this.props.isOpenOverride;
14
14
  optionMaps = [];
15
15
  searchString = '';
16
- inputElement;
17
- listElement;
18
- isNativePopoverCase = false;
19
- parentTableElement;
16
+ inputOrButtonElement;
20
17
  popoverElement;
18
+ hasNativePopoverSupport = utilsEntry.getHasNativePopoverSupport();
19
+ hasNativeCSSAnchorPositioningSupport = utilsEntry.getHasCSSAnchorPositioningSupport();
20
+ cleanUpAutoUpdate;
21
21
  get selectedIndex() {
22
22
  return 0;
23
23
  }
24
24
  render() {
25
25
  // TODO: part won't be needed as soon as button/input of select-wrapper-dropdown is part of shadow dom of select-wrapper itself
26
26
  const part = 'select-wrapper-dropdown';
27
+ const inputId = 'filter';
27
28
  this.props.description && 'description';
28
29
  const buttonId = 'value';
29
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectWrapperDropdownCss(this.props.direction === 'auto'
30
- ? 'down'
31
- : this.props.direction, this.isOpen, this.props.state, this.props.disabled, this.props.filter, this.props.isNativePopoverCase, this.props.theme)));
30
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectWrapperDropdownCss(this.props.direction, this.isOpen, this.props.state, this.props.disabled, this.props.filter, this.props.hasNativeCSSAnchorPositioningSupport, this.props.theme)));
32
31
  return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: this.props.filter ? ([
33
- jsxRuntime.jsx("input", { type: "text", role: "combobox", disabled: this.props.disabled, placeholder: utilsEntry.getSelectedOptionMap(this.optionMaps)?.value || null, autoComplete: "off", defaultValue: this.searchString }, "input"),
32
+ jsxRuntime.jsx("input", { id: inputId, type: "text", role: "combobox", disabled: this.props.disabled, placeholder: utilsEntry.getSelectedOptionMap(this.optionMaps)?.value || null, autoComplete: "off", defaultValue: this.searchString }, "input"),
34
33
  jsxRuntime.jsx("span", {
35
34
  /* @ts-ignore */
36
35
  part: part }, "span"),
@@ -28,18 +28,17 @@ class DSRSelect extends react.Component {
28
28
  srHighlightedOptionText = '';
29
29
  internals;
30
30
  defaultValue;
31
- comboboxContainer;
32
- combobox;
33
- listElement;
31
+ buttonElement;
32
+ popoverElement;
34
33
  selectOptions = [];
35
34
  selectOptgroups = [];
36
35
  preventOptionUpdate = false; // Used to prevent value watcher from updating options when options are already updated
37
36
  searchString = '';
38
37
  searchTimeout = null;
39
- isNativePopoverCase = false;
40
- parentTableElement;
41
- popoverElement;
42
38
  slottedImagePath = '';
39
+ hasNativePopoverSupport = utilsEntry.getHasNativePopoverSupport();
40
+ hasNativeCSSAnchorPositioningSupport = utilsEntry.getHasCSSAnchorPositioningSupport();
41
+ cleanUpAutoUpdate;
43
42
  formDisabledCallback() {
44
43
  }
45
44
  formStateRestoreCallback() {
@@ -50,24 +49,21 @@ class DSRSelect extends react.Component {
50
49
  render() {
51
50
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
52
51
  const buttonId = 'value';
53
- const dropdownId = 'list';
52
+ const popoverId = 'list';
54
53
  const descriptionId = this.props.description ? 'description' : undefined;
55
54
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? stateMessage.messageId : undefined;
56
55
  const initialStatusId = 'initial-status';
57
56
  const ariaDescribedBy = [descriptionId, selectMessageId, initialStatusId].filter(Boolean).join(' ');
58
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectCss('down', this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.isNativePopoverCase, this.props.compact, this.props.theme, !!this.props.slottedImagePath)));
59
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxRuntime.jsxs("div", { className: `wrapper${this.props.disabled ? ' disabled' : ''}`, children: [jsxRuntime.jsx("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...utilsEntry.getComboboxAriaAttributes(this.props.isOpen, this.props.required, label.labelId, ariaDescribedBy, dropdownId), disabled: this.props.disabled, children: this.props.slottedImagePath ? (jsxRuntime.jsxs("span", { children: [jsxRuntime.jsx("img", { src: this.props.slottedImagePath, alt: "" }), jsxRuntime.jsx("span", { children: utilsEntry.getSelectedOptionString(otherChildren) })] })) : (utilsEntry.getSelectedOptionString(otherChildren)) }), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" }), jsxRuntime.jsx("div", { ...(this.props.isNativePopoverCase && {
60
- popover: 'auto',
61
- className: 'popover',
62
- ...(this.props.popoverElement?.matches(':popover-open') && {
63
- 'popover-open': true,
64
- }),
65
- }), children: jsxRuntime.jsx("div", { id: dropdownId, className: "listbox", ...utilsEntry.getListAriaAttributes(this.props.label, this.props.required, false, this.props.isOpen), children: jsxRuntime.jsx("slot", {}) }) })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), jsxRuntime.jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText })] })] }), this.props.children] }));
57
+ const selectedOption = utilsEntry.getSelectedOptionString(otherChildren);
58
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSelectCss(this.props.dropdownDirection, this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact, this.props.theme, !!this.props.slottedImagePath)));
59
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxRuntime.jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId, ...utilsEntry.getComboboxAriaAttributes(this.props.isOpen, this.props.required, label.labelId, ariaDescribedBy, popoverId), disabled: this.props.disabled, children: [this.props.slottedImagePath && jsxRuntime.jsx("img", { src: this.props.slottedImagePath, alt: "" }), jsxRuntime.jsx("span", { children: selectedOption }), jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "arrow-head-down", theme: this.props.theme, color: this.props.disabled ? 'state-disabled' : 'primary', "aria-hidden": "true" })] }), jsxRuntime.jsx("div", { id: popoverId, popover: "manual", tabIndex: -1, ...utilsEntry.getListAriaAttributes(this.props.label, this.props.required, false, this.props.isOpen), children: jsxRuntime.jsx("slot", {}) }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }), jsxRuntime.jsx("span", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-relevant": "additions text", children: this.props.srHighlightedOptionText })] })] }), this.props.children] }));
66
60
  }
67
- getSelectedOptionImagePath = (options) => options
68
- .find((option) => option.selected)
69
- ?.querySelector('img')
70
- ?.getAttribute('src') ?? '';
61
+ getSelectedOptionImagePath = (options) => {
62
+ return (options
63
+ .find((option) => option.selected)
64
+ ?.querySelector('img')
65
+ ?.getAttribute('src') ?? '');
66
+ };
71
67
  }
72
68
 
73
69
  exports.DSRSelect = DSRSelect;
@@ -22,7 +22,7 @@ class DSRTable extends react.Component {
22
22
  const tableAttr = this.props.caption
23
23
  ? { 'aria-label': this.props.caption }
24
24
  : hasSlottedCaption && { 'aria-labelledby': captionId };
25
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTableCss(this.props.theme)));
25
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTableCss(this.props.compact, this.props.layout, this.props.theme)));
26
26
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [hasSlottedCaption && (jsxRuntime.jsx("div", { id: captionId, className: "caption", children: jsxRuntime.jsx("slot", { name: "caption" }) })), jsxRuntime.jsx(scroller_wrapper.PScroller, { scrollbar: true, theme: this.props.theme, children: jsxRuntime.jsx("div", { className: "table", role: "table", ...tableAttr, children: jsxRuntime.jsx("slot", {}) }) })] })] }), this.props.children] }));
27
27
  }
28
28
  }