@porsche-design-system/components-react 3.6.1 → 3.7.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cjs/lib/components/multi-select-option.wrapper.cjs +25 -0
  3. package/cjs/lib/components/multi-select.wrapper.cjs +26 -0
  4. package/cjs/lib/components/pin-code.wrapper.cjs +26 -0
  5. package/cjs/lib/components/radio-button-wrapper.wrapper.cjs +3 -3
  6. package/cjs/public-api.cjs +6 -0
  7. package/esm/lib/components/accordion.wrapper.d.ts +1 -1
  8. package/esm/lib/components/banner.wrapper.d.ts +1 -1
  9. package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
  10. package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  11. package/esm/lib/components/button.wrapper.d.ts +1 -1
  12. package/esm/lib/components/carousel.wrapper.d.ts +1 -1
  13. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  14. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  15. package/esm/lib/components/display.wrapper.d.ts +1 -1
  16. package/esm/lib/components/divider.wrapper.d.ts +1 -1
  17. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  18. package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  19. package/esm/lib/components/flyout.wrapper.d.ts +1 -1
  20. package/esm/lib/components/heading.wrapper.d.ts +1 -1
  21. package/esm/lib/components/headline.wrapper.d.ts +1 -1
  22. package/esm/lib/components/icon.wrapper.d.ts +1 -1
  23. package/esm/lib/components/index.d.ts +3 -0
  24. package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
  25. package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
  26. package/esm/lib/components/link-social.wrapper.d.ts +1 -1
  27. package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  28. package/esm/lib/components/link.wrapper.d.ts +1 -1
  29. package/esm/lib/components/modal.wrapper.d.ts +4 -2
  30. package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
  31. package/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  32. package/esm/lib/components/multi-select-option.wrapper.mjs +23 -0
  33. package/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  34. package/esm/lib/components/multi-select.wrapper.mjs +24 -0
  35. package/esm/lib/components/pagination.wrapper.d.ts +1 -1
  36. package/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  37. package/esm/lib/components/pin-code.wrapper.mjs +24 -0
  38. package/esm/lib/components/popover.wrapper.d.ts +1 -1
  39. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +9 -1
  40. package/esm/lib/components/radio-button-wrapper.wrapper.mjs +3 -3
  41. package/esm/lib/components/scroller.wrapper.d.ts +1 -1
  42. package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
  43. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  44. package/esm/lib/components/spinner.wrapper.d.ts +1 -1
  45. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  46. package/esm/lib/components/switch.wrapper.d.ts +1 -1
  47. package/esm/lib/components/table.wrapper.d.ts +1 -1
  48. package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  49. package/esm/lib/components/tabs.wrapper.d.ts +1 -1
  50. package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
  51. package/esm/lib/components/tag.wrapper.d.ts +1 -1
  52. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  53. package/esm/lib/components/text-list.wrapper.d.ts +1 -1
  54. package/esm/lib/components/text.wrapper.d.ts +1 -1
  55. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  56. package/esm/lib/components/toast.wrapper.d.ts +1 -1
  57. package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
  58. package/esm/lib/types.d.ts +30 -2
  59. package/esm/public-api.mjs +3 -0
  60. package/package.json +2 -2
  61. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1319 -341
  62. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +25 -43
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.cjs +39 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +40 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +40 -0
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.cjs +4 -4
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +3 -0
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +3 -0
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +3 -0
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +3 -0
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +4 -1
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +10 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +3 -0
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -1
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +3 -0
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +3 -0
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +3 -0
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +4 -2
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +3 -0
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -0
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +4 -1
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +3 -0
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +84 -0
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +104 -0
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +3 -0
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +96 -0
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +3 -0
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +68 -2
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +3 -0
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +3 -0
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +6 -5
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +3 -0
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +3 -0
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +3 -0
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +3 -0
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +3 -0
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +3 -0
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +3 -0
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +3 -0
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +3 -0
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +3 -0
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +3 -0
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +4 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +1 -1
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +6 -0
  107. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1283 -308
  108. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +23 -40
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.mjs +37 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +38 -0
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +38 -0
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.mjs +4 -4
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +5 -2
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +5 -2
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +5 -2
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -2
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +7 -4
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +12 -3
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +5 -2
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +3 -3
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +3 -3
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +5 -2
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +5 -2
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +5 -2
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +6 -4
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +5 -2
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -2
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +7 -4
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +5 -2
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +82 -0
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +102 -0
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +5 -2
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +94 -0
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +3 -0
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +68 -2
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +3 -0
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +3 -0
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +9 -8
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +5 -2
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +3 -0
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +3 -0
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +3 -0
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +3 -0
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +3 -0
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +3 -0
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +3 -0
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +3 -0
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +3 -0
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +3 -0
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +4 -1
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +1 -1
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +3 -0
  167. package/ssr/esm/lib/components/index.d.ts +3 -0
  168. package/ssr/esm/lib/components/modal.wrapper.d.ts +4 -2
  169. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  170. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  171. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  172. package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +8 -0
  173. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  174. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +6 -0
  175. package/ssr/esm/lib/dsr-components/multi-select.d.ts +17 -0
  176. package/ssr/esm/lib/dsr-components/pin-code.d.ts +9 -0
  177. package/ssr/esm/lib/types.d.ts +30 -2
@@ -357,6 +357,8 @@ const getRole = (state) => {
357
357
  return state === 'error' ? 'alert' : state === 'success' ? 'status' : null;
358
358
  };
359
359
 
360
+ const isWithinForm = (host) => !!getClosestHTMLElement(host, 'form');
361
+
360
362
  const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-design-system";
361
363
 
362
364
  function _extends() {
@@ -378,14 +380,14 @@ var _typeof$1 = typeof Symbol === "function" && typeof Symbol.iterator === "symb
378
380
 
379
381
  var isBrowser = (typeof window === "undefined" ? "undefined" : _typeof$1(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof$1(document)) === 'object' && document.nodeType === 9;
380
382
 
381
- function _typeof(obj) {
383
+ function _typeof(o) {
382
384
  "@babel/helpers - typeof";
383
385
 
384
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
385
- return typeof obj;
386
- } : function (obj) {
387
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
388
- }, _typeof(obj);
386
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
387
+ return typeof o;
388
+ } : function (o) {
389
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
390
+ }, _typeof(o);
389
391
  }
390
392
 
391
393
  function _toPrimitive(input, hint) {
@@ -3589,9 +3591,13 @@ const themeDark = {
3589
3591
  infoSoftColorDarken: '#0C1A27',
3590
3592
  infoSoftColorLighten: '#1A3856'
3591
3593
  };
3594
+ const themeAuto = {
3595
+ ...themeLight,
3596
+ };
3592
3597
  const themes = {
3593
3598
  'light': themeLight,
3594
- 'dark': themeDark
3599
+ 'dark': themeDark,
3600
+ 'auto': themeAuto
3595
3601
  };
3596
3602
  /* Auto Generated End */
3597
3603
  const schemeHighContrastMerged = {
@@ -3631,19 +3637,16 @@ const supportsConstructableStylesheets = () => {
3631
3637
  };
3632
3638
  // determine it once
3633
3639
  supportsConstructableStylesheets();
3634
-
3635
- const isThemeDark = (theme) => {
3636
- return theme === 'dark';
3637
- };
3638
-
3639
- // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
3640
- const getLinkButtonThemeForIcon = (variant, theme) => variant === 'primary' ? (isThemeDark(theme) ? 'light' : 'dark') : theme;
3641
3640
  const isScrollable = (isPrevHidden, isNextHidden) => {
3642
3641
  return !(isPrevHidden && isNextHidden);
3643
3642
  };
3644
3643
 
3645
3644
  const hasDocument = typeof document !== 'undefined';
3646
3645
 
3646
+ const isThemeDark = (theme) => {
3647
+ return theme === 'dark';
3648
+ };
3649
+
3647
3650
  const formatObjectOutput = (value) => {
3648
3651
  return JSON.stringify(value)
3649
3652
  .replace(/"([a-zA-Z?]+)":/g, '$1:') // remove double quotes from keys
@@ -3797,6 +3800,8 @@ const getSvgUrl = (model) => {
3797
3800
  return `${getCDNBaseURL()}/model-signatures/${MODEL_SIGNATURES_MANIFEST[model]}`;
3798
3801
  };
3799
3802
  const modelSignatureHeight = 36;
3803
+ const getSelectedOptions = (options) => options.filter((option) => option.selected);
3804
+ const getSelectedOptionValues = (options) => options.filter((option) => option.selected).map((option) => option.value);
3800
3805
  var ItemType;
3801
3806
  (function (ItemType) {
3802
3807
  ItemType[ItemType["PAGE"] = 0] = "PAGE";
@@ -3831,7 +3836,7 @@ const createPageFunctionFactory = (options) => {
3831
3836
  isActive: pageNumber === options.activePage,
3832
3837
  });
3833
3838
  };
3834
- const createRange = (start, end) => Array.from(Array(end - start + 1)).map((_, i) => i + start);
3839
+ const createRange = (start, end) => Array.from(Array(end - start + 1), (_, i) => i + start);
3835
3840
  const createPaginationModel = (options) => {
3836
3841
  const { pageTotal, activePage, pageRange, showLastPage } = options;
3837
3842
  const boundaryPagesRange = 1;
@@ -3890,6 +3895,7 @@ const getTotalPages = (totalItemsCount, itemsPerPage) => {
3890
3895
  }
3891
3896
  return Math.ceil(totalItemsCount / itemsPerPage);
3892
3897
  };
3898
+ const hiddenInputSlotName = 'hidden-input';
3893
3899
 
3894
3900
  const { backgroundColor: backgroundColorThemeLight, primaryColor: primaryColorThemeLight } = getThemedColors('light');
3895
3901
  const { canvasColor, canvasTextColor } = getHighContrastColors();
@@ -3948,7 +3954,7 @@ const { font: BUTTON_FONT } = textSmallStyle;
3948
3954
  const { font: LABEL_FONT } = textXSmallStyle;
3949
3955
  const ICON_SIZE = pxToRemWithUnit(24);
3950
3956
  const ICON_MARGIN = pxToRemWithUnit(4);
3951
- ['auto', ...Array.from({ length: 25 }, (_, i) => i + 1)];
3957
+ ['auto', ...Array.from(Array(25), (_, i) => i + 1)];
3952
3958
  // Expect Porsche Next to be available and use sans-serif (wide font for safety buffer) as fallback
3953
3959
  const tempFont = 'Porsche Next, sans-serif';
3954
3960
  // temporary dom node to measure max-width of children content
@@ -3972,28 +3978,6 @@ if (tempIcon) {
3972
3978
  tempIcon.style.width = ICON_SIZE;
3973
3979
  tempIcon.style.marginRight = ICON_MARGIN;
3974
3980
  }
3975
- const getSelectWrapperDropdownButtonAriaAttributes = (isOpen, labelId, descriptionId, dropdownId, activeDescendantId) => {
3976
- return {
3977
- 'aria-labelledby': labelId,
3978
- 'aria-describedby': descriptionId || null,
3979
- 'aria-haspopup': 'listbox',
3980
- 'aria-expanded': isOpen ? 'true' : 'false',
3981
- 'aria-controls': dropdownId,
3982
- ...(isOpen && {
3983
- 'aria-activedescendant': `option-${activeDescendantId}`,
3984
- }),
3985
- };
3986
- };
3987
- const getFilterInputAriaAttributes = (isOpen, isRequired, labelId, descriptionId, dropdownId, activeDescendantId) => {
3988
- return {
3989
- ...getSelectWrapperDropdownButtonAriaAttributes(isOpen, labelId, descriptionId, dropdownId, activeDescendantId),
3990
- 'aria-autocomplete': 'list',
3991
- ...(isRequired && {
3992
- 'aria-required': 'true',
3993
- }),
3994
- };
3995
- };
3996
- const getHighlightedOptionMapIndex = (arr) => arr.findIndex((item) => item.highlighted);
3997
3981
  const getSelectedOptionMap = (arr) => arr.find((item) => item.selected);
3998
3982
  const isCustomDropdown = (filter, native) => {
3999
3983
  if (filter) {
@@ -4027,7 +4011,6 @@ const getThemeForIcon = (color, theme) => {
4027
4011
  return color === 'neutral-contrast-high' || color === 'primary' ? (isThemeDark(theme) ? 'light' : 'dark') : theme;
4028
4012
  };
4029
4013
  const isType = (inputType, typeToValidate) => inputType === typeToValidate;
4030
- const isWithinForm = (host) => !!getClosestHTMLElement(host, 'form');
4031
4014
  const hasLocateAction = (icon) => icon === 'locate';
4032
4015
  // eslint-disable-next-line no-underscore-dangle
4033
4016
  const _hasShowPickerSupport = () => {
@@ -4052,4 +4035,4 @@ const getTextTagType = (host, tag) => {
4052
4035
  }
4053
4036
  };
4054
4037
 
4055
- export { DISPLAY_TAGS, HEADING_TAGS, HEADLINE_TAGS, ItemType, TEXT_TAGS, _hasShowPickerSupport, attributeMutationMap, buildCrestImgSrc, buildCrestSrcSet, buildIconUrl, buildImgSrc, buildSrcSet, createPaginationModel, createRange, crestSize, displaySizeToTagMap, getButtonAriaAttributes, getButtonAttributes, getButtonBaseAriaAttributes, getButtonPureAriaAttributes, getCDNBaseURL, getClosestHTMLElement, getContentAriaAttributes, getCurrentActivePage, getDirectChildHTMLElement, getDisplayTagType, getFilterInputAriaAttributes, getHTMLElement, getHeadingTagType, getHeadlineTagType, getHighlightedOptionMapIndex, getIconColor, getInlineNotificationIconName, getInnerManifest, getLinkButtonThemeForIcon, getRole, getSelectWrapperDropdownButtonAriaAttributes, getSelectedOptionMap, getStepperHorizontalIconName, getSvgUrl, getSwitchButtonAriaAttributes, getTextTagType, getThemeForIcon, getTotalPages, hasDocument, hasLocateAction, hasSpecificSlottedTag, hasVisibleIcon, hasWindow, isCustomDropdown, isDisabledOrLoading, isHighContrastMode, isInfinitePagination, isListTypeOrdered, isScrollable, isSortable, isStateCompleteOrWarning, isThemeDark, isTouchDevice, isType, isUrl, isWithinForm, modelSignatureHeight, observedNodesMap, parseAndGetAriaAttributes, parseJSONAttribute, showCustomCalendarOrTimeIndicator, supportsConstructableStylesheets, tempDiv, tempIcon, tempLabel };
4038
+ export { DISPLAY_TAGS, HEADING_TAGS, HEADLINE_TAGS, ItemType, TEXT_TAGS, _hasShowPickerSupport, attributeMutationMap, buildCrestImgSrc, buildCrestSrcSet, buildIconUrl, buildImgSrc, buildSrcSet, createPaginationModel, createRange, crestSize, displaySizeToTagMap, getButtonAriaAttributes, getButtonAttributes, getButtonBaseAriaAttributes, getButtonPureAriaAttributes, getCDNBaseURL, getClosestHTMLElement, getContentAriaAttributes, getCurrentActivePage, getDirectChildHTMLElement, getDisplayTagType, getHTMLElement, getHeadingTagType, getHeadlineTagType, getIconColor, getInlineNotificationIconName, getInnerManifest, getRole, getSelectedOptionMap, getSelectedOptionValues, getSelectedOptions, getStepperHorizontalIconName, getSvgUrl, getSwitchButtonAriaAttributes, getTextTagType, getThemeForIcon, getTotalPages, hasDocument, hasLocateAction, hasSpecificSlottedTag, hasVisibleIcon, hasWindow, hiddenInputSlotName, isCustomDropdown, isDisabledOrLoading, isHighContrastMode, isInfinitePagination, isListTypeOrdered, isScrollable, isSortable, isStateCompleteOrWarning, isThemeDark, isTouchDevice, isType, isUrl, isWithinForm, modelSignatureHeight, observedNodesMap, parseAndGetAriaAttributes, parseJSONAttribute, showCustomCalendarOrTimeIndicator, supportsConstructableStylesheets, tempDiv, tempIcon, tempLabel };
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef } from 'react';
4
+ import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
+ import { syncRef } from '../../utils.mjs';
6
+ import { DSRMultiSelectOption } from '../dsr-components/multi-select-option.mjs';
7
+
8
+ const PMultiSelectOption = forwardRef(({ disabled = false, value, className, children, ...rest }, ref) => {
9
+ const elementRef = useRef();
10
+ const WebComponentTag = usePrefix('p-multi-select-option');
11
+ const propsToSync = [disabled, value];
12
+ useBrowserLayoutEffect(() => {
13
+ const { current } = elementRef;
14
+ ['disabled', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
15
+ }, propsToSync);
16
+ // @ts-ignore
17
+ if (!process.browser) {
18
+ className = className ? `${className} ssr` : 'ssr';
19
+ }
20
+ const props = {
21
+ ...rest,
22
+ // @ts-ignore
23
+ ...(!process.browser
24
+ ? {
25
+ children: (jsx(DSRMultiSelectOption, { disabled, value, children })),
26
+ }
27
+ : {
28
+ children,
29
+ suppressHydrationWarning: true,
30
+ }),
31
+ class: useMergedClass(elementRef, className),
32
+ ref: syncRef(elementRef, ref)
33
+ };
34
+ return jsx(WebComponentTag, { ...props });
35
+ });
36
+
37
+ export { PMultiSelectOption };
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef } from 'react';
4
+ import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
+ import { syncRef } from '../../utils.mjs';
6
+ import { DSRMultiSelect } from '../dsr-components/multi-select.mjs';
7
+
8
+ const PMultiSelect = forwardRef(({ description = '', disabled = false, dropdownDirection = 'auto', hideLabel = false, label = '', message = '', name, onUpdate, required = false, state = 'none', theme = 'light', value = [], className, children, ...rest }, ref) => {
9
+ const elementRef = useRef();
10
+ useEventCallback(elementRef, 'update', onUpdate);
11
+ const WebComponentTag = usePrefix('p-multi-select');
12
+ const propsToSync = [description, disabled, dropdownDirection, hideLabel, label, message, name, required, state, theme, value];
13
+ useBrowserLayoutEffect(() => {
14
+ const { current } = elementRef;
15
+ ['description', 'disabled', 'dropdownDirection', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ }, propsToSync);
17
+ // @ts-ignore
18
+ if (!process.browser) {
19
+ className = className ? `${className} ssr` : 'ssr';
20
+ }
21
+ const props = {
22
+ ...rest,
23
+ // @ts-ignore
24
+ ...(!process.browser
25
+ ? {
26
+ children: (jsx(DSRMultiSelect, { description, disabled, dropdownDirection, hideLabel, label, message, name, required, state, theme, value, children })),
27
+ }
28
+ : {
29
+ children,
30
+ suppressHydrationWarning: true,
31
+ }),
32
+ class: useMergedClass(elementRef, className),
33
+ ref: syncRef(elementRef, ref)
34
+ };
35
+ return jsx(WebComponentTag, { ...props });
36
+ });
37
+
38
+ export { PMultiSelect };
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef } from 'react';
4
+ import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
+ import { syncRef } from '../../utils.mjs';
6
+ import { DSRPinCode } from '../dsr-components/pin-code.mjs';
7
+
8
+ const PPinCode = forwardRef(({ description = '', disabled = false, hideLabel = false, label = '', length = 4, loading = false, message = '', name, onUpdate, required = false, state = 'none', theme = 'light', type = 'number', value = '', className, children, ...rest }, ref) => {
9
+ const elementRef = useRef();
10
+ useEventCallback(elementRef, 'update', onUpdate);
11
+ const WebComponentTag = usePrefix('p-pin-code');
12
+ const propsToSync = [description, disabled, hideLabel, label, length, loading, message, name, required, state, theme, type, value];
13
+ useBrowserLayoutEffect(() => {
14
+ const { current } = elementRef;
15
+ ['description', 'disabled', 'hideLabel', 'label', 'length', 'loading', 'message', 'name', 'required', 'state', 'theme', 'type', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ }, propsToSync);
17
+ // @ts-ignore
18
+ if (!process.browser) {
19
+ className = className ? `${className} ssr` : 'ssr';
20
+ }
21
+ const props = {
22
+ ...rest,
23
+ // @ts-ignore
24
+ ...(!process.browser
25
+ ? {
26
+ children: (jsx(DSRPinCode, { description, disabled, hideLabel, label, length, loading, message, name, required, state, theme, type, value, children })),
27
+ }
28
+ : {
29
+ children,
30
+ suppressHydrationWarning: true,
31
+ }),
32
+ class: useMergedClass(elementRef, className),
33
+ ref: syncRef(elementRef, ref)
34
+ };
35
+ return jsx(WebComponentTag, { ...props });
36
+ });
37
+
38
+ export { PPinCode };
@@ -5,13 +5,13 @@ import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.m
5
5
  import { syncRef } from '../../utils.mjs';
6
6
  import { DSRRadioButtonWrapper } from '../dsr-components/radio-button-wrapper.mjs';
7
7
 
8
- const PRadioButtonWrapper = forwardRef(({ hideLabel = false, label = '', message = '', state = 'none', theme = 'light', className, children, ...rest }, ref) => {
8
+ const PRadioButtonWrapper = forwardRef(({ hideLabel = false, label = '', loading = false, message = '', state = 'none', theme = 'light', className, children, ...rest }, ref) => {
9
9
  const elementRef = useRef();
10
10
  const WebComponentTag = usePrefix('p-radio-button-wrapper');
11
- const propsToSync = [hideLabel, label, message, state, theme];
11
+ const propsToSync = [hideLabel, label, loading, message, state, theme];
12
12
  useBrowserLayoutEffect(() => {
13
13
  const { current } = elementRef;
14
- ['hideLabel', 'label', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
14
+ ['hideLabel', 'label', 'loading', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
15
15
  }, propsToSync);
16
16
  // @ts-ignore
17
17
  if (!process.browser) {
@@ -22,7 +22,7 @@ const PRadioButtonWrapper = forwardRef(({ hideLabel = false, label = '', message
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsx(DSRRadioButtonWrapper, { hideLabel, label, message, state, theme, children })),
25
+ children: (jsx(DSRRadioButtonWrapper, { hideLabel, label, loading, message, state, theme, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getAccordionCss as getComponentCss$Z } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getAccordionCss as getComponentCss$10 } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
 
69
72
  class DSRAccordion extends Component {
70
73
  host;
@@ -73,7 +76,7 @@ class DSRAccordion extends Component {
73
76
  const buttonId = 'accordion-control';
74
77
  const contentId = 'accordion-panel';
75
78
  const Heading = this.props.tag;
76
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Z(this.props.size, this.props.compact, this.props.open, this.props.theme)));
79
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$10(this.props.size, this.props.compact, this.props.open, this.props.theme)));
77
80
  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] }));
78
81
  }
79
82
  }
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getBannerCss as getComponentCss$Y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getBannerCss as getComponentCss$$ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
 
69
72
  class DSRBanner extends Component {
70
73
  host;
@@ -76,7 +79,7 @@ class DSRBanner extends Component {
76
79
  render() {
77
80
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
78
81
  const hasTitleSlot = namedSlotChildren.filter(({ props: { slot } }) => slot === 'title').length > 0;
79
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Y(this.props.open)));
82
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$$(this.props.open)));
80
83
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(PInlineNotification, { heading: this.props.heading, 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] }));
81
84
  }
82
85
  }
@@ -3,13 +3,13 @@ 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$X } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getButtonGroupCss as getComponentCss$_ } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
 
8
8
  class DSRButtonGroup extends Component {
9
9
  host;
10
10
  render() {
11
11
  splitChildren(this.props.children);
12
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$X(this.props.direction)));
12
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$_(this.props.direction)));
13
13
  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] }));
14
14
  }
15
15
  }
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getButtonPureCss as getComponentCss$W } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getButtonPureCss as getComponentCss$Z } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
  import { isDisabledOrLoading, hasVisibleIcon, getButtonPureAriaAttributes } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
69
72
 
70
73
  class DSRButtonPure extends Component {
@@ -81,7 +84,7 @@ class DSRButtonPure extends Component {
81
84
  size: 'inherit',
82
85
  theme: this.props.theme,
83
86
  };
84
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$W(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.theme)));
87
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Z(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.theme)));
85
88
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...getButtonPureAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading ? (jsx(PSpinner, { aria: { 'aria-label': 'Loading state' }, ...iconProps })) : (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", {}) })] })] }), this.props.children] }));
86
89
  }
87
90
  }
@@ -31,7 +31,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
31
31
  import '../components/marque.wrapper.mjs';
32
32
  import '../components/modal.wrapper.mjs';
33
33
  import '../components/model-signature.wrapper.mjs';
34
+ import '../components/multi-select.wrapper.mjs';
35
+ import '../components/multi-select-option.wrapper.mjs';
34
36
  import '../components/pagination.wrapper.mjs';
37
+ import '../components/pin-code.wrapper.mjs';
35
38
  import '../components/popover.wrapper.mjs';
36
39
  import '../components/radio-button-wrapper.wrapper.mjs';
37
40
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import '../components/wordmark.wrapper.mjs';
64
67
  import { splitChildren } from '../../splitChildren.mjs';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getButtonTileCss as getComponentCss$V } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getButtonTileCss as getComponentCss$Y } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
  import { isDisabledOrLoading } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
69
72
 
70
73
  class DSRButtonTile extends Component {
@@ -82,7 +85,7 @@ class DSRButtonTile extends Component {
82
85
  };
83
86
  const button = (createElement(PButton, { ...buttonProps, icon: this.props.icon, key: "link-or-button", className: "link-or-button" }, this.props.label));
84
87
  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));
85
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$V(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)));
88
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Y(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)));
86
89
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx("div", { className: "image-container", children: jsx("slot", {}) }), jsxs("div", { className: "content", children: [jsx("p", { children: this.props.description }), typeof this.props.compact === 'boolean' ? (this.props.compact ? buttonPure : button) : [buttonPure, button]] })] })] }), this.props.children] }));
87
90
  }
88
91
  }
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,15 +67,15 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getButtonCss as getComponentCss$U } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
- import { getButtonAriaAttributes, getLinkButtonThemeForIcon, hasVisibleIcon } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
70
+ import { getButtonCss as getComponentCss$X } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
71
+ import { getButtonAriaAttributes, hasVisibleIcon } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
69
72
 
70
73
  class DSRButton extends Component {
71
74
  host;
72
75
  render() {
73
76
  splitChildren(this.props.children);
74
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$U(this.props.icon, this.props.iconSource, this.props.variant, this.props.hideLabel, this.props.disabled, this.props.loading, this.props.theme)));
75
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...getButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: getLinkButtonThemeForIcon(this.props.variant, this.props.theme), aria: { 'aria-label': 'Loading state:' } })), hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.iconSource ? undefined : this.props.icon, source: this.props.iconSource, color: this.props.disabled ? (this.props.variant === 'primary' ? 'contrast-high' : 'state-disabled') : 'primary', theme: !this.props.disabled ? getLinkButtonThemeForIcon(this.props.variant, this.props.theme) : this.props.theme, "aria-hidden": "true" })), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
77
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$X(this.props.icon, this.props.iconSource, this.props.variant, this.props.hideLabel, this.props.disabled, this.props.loading, this.props.theme)));
78
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { ...getButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.aria), className: "root", type: this.props.type, children: [this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': 'Loading state' } })), hasVisibleIcon(this.props.icon, this.props.iconSource) && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.iconSource ? undefined : this.props.icon, source: this.props.iconSource, color: this.props.disabled ? (this.props.variant === 'primary' ? 'contrast-high' : 'state-disabled') : 'primary', theme: this.props.theme, "aria-hidden": "true" })), jsx("span", { className: "label", children: jsx("slot", {}) })] })] }), this.props.children] }));
76
79
  }
77
80
  }
78
81
 
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getCarouselCss as getComponentCss$T } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getCarouselCss as getComponentCss$W } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
  import { isInfinitePagination } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
69
72
 
70
73
  class DSRCarousel extends Component {
@@ -76,6 +79,9 @@ class DSRCarousel extends Component {
76
79
  btnNext;
77
80
  paginationEl;
78
81
  slides = [];
82
+ get hasNavigation() {
83
+ return this.props.slidesPerPage === 'auto' || this.props.amountOfPages > 1;
84
+ }
79
85
  render() {
80
86
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
81
87
  const btnProps = {
@@ -85,7 +91,7 @@ class DSRCarousel extends Component {
85
91
  theme: this.props.theme,
86
92
  // 'aria-controls': 'splide-track', // TODO: cross shadow dom? use native button tag instead of p-button-pure?
87
93
  };
88
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$T(this.props.width,
94
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$W(this.props.width,
89
95
  // flip boolean values of disablePagination since it is the inverse of pagination
90
96
  this.props.disablePagination
91
97
  ? typeof this.props.disablePagination === 'object'
@@ -93,7 +99,10 @@ class DSRCarousel extends Component {
93
99
  : !this.props.disablePagination
94
100
  : this.props.pagination, isInfinitePagination(this.props.amountOfPages), this.props.alignHeader, this.props.theme)));
95
101
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("div", { className: "header", children: [this.props.heading ? jsx("h2", { id: "heading", children: this.props.heading }) : jsx("slot", { name: "heading" }), (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) &&
96
- ((this.props.description && jsx("p", { children: this.props.description })) || jsx("slot", { name: "description" })), jsxs("div", { className: "nav", children: [this.props.skipLinkTarget && (jsx(PLinkPure, { href: this.props.skipLinkTarget, theme: this.props.theme, icon: "arrow-last", className: "btn skip-link", alignLabel: "left", hideLabel: true, "aria-describedby": this.props.heading ? 'heading' : null, children: "Skip carousel entries" })), jsx(PButtonPure, { ...btnProps, icon: "arrow-left" }), jsx(PButtonPure, { ...btnProps, icon: "arrow-right" })] })] }), jsx("div", { id: "splide", className: "splide", "aria-label": this.props.heading || namedSlotChildren.find(({ props: { slot } }) => slot === 'heading')?.props.children, children: jsx("div", { className: "splide__track", children: jsx("div", { className: "splide__list", children: otherChildren.map((_, i) => (jsx("div", { className: "splide__slide", children: jsx("slot", { name: `slide-${i}` }) }, i))) }) }) }), (this.props.disablePagination ? this.props.disablePagination !== true : this.props.pagination) && (jsx("div", { className: "pagination-container", children: jsx("div", { className: "pagination" }) }))] })] }), this.props.children] }));
102
+ ((this.props.description && jsx("p", { children: this.props.description })) || jsx("slot", { name: "description" })), jsxs("div", { className: "nav", children: [this.props.skipLinkTarget && (jsx(PLinkPure, { href: this.props.skipLinkTarget, theme: this.props.theme, icon: "arrow-last", className: "btn skip-link", alignLabel: "left", hideLabel: true, "aria-describedby": this.props.heading ? 'heading' : null, children: "Skip carousel entries" })), (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length) && [
103
+ jsx(PButtonPure, { ...btnProps, icon: "arrow-left" }),
104
+ jsx(PButtonPure, { ...btnProps, icon: "arrow-right" }),
105
+ ]] })] }), jsx("div", { id: "splide", className: "splide", "aria-label": this.props.heading || namedSlotChildren.find(({ props: { slot } }) => slot === 'heading')?.props.children, children: jsx("div", { className: "splide__track", children: jsx("div", { className: "splide__list", children: otherChildren.map((_, i) => (jsx("div", { className: "splide__slide", children: jsx("slot", { name: `slide-${i}` }) }, i))) }) }) }), (this.props.disablePagination ? this.props.disablePagination !== true : this.props.pagination) && (this.props.slidesPerPage === 'auto' || typeof this.props.slidesPerPage === 'object' || this.props.slidesPerPage < otherChildren.length) && (jsx("div", { className: "pagination-container", children: jsx("div", { className: "pagination" }) }))] })] }), this.props.children] }));
97
106
  }
98
107
  }
99
108
 
@@ -30,7 +30,10 @@ import '../components/link-tile-model-signature.wrapper.mjs';
30
30
  import '../components/marque.wrapper.mjs';
31
31
  import '../components/modal.wrapper.mjs';
32
32
  import '../components/model-signature.wrapper.mjs';
33
+ import '../components/multi-select.wrapper.mjs';
34
+ import '../components/multi-select-option.wrapper.mjs';
33
35
  import '../components/pagination.wrapper.mjs';
36
+ import '../components/pin-code.wrapper.mjs';
34
37
  import '../components/popover.wrapper.mjs';
35
38
  import '../components/radio-button-wrapper.wrapper.mjs';
36
39
  import '../components/scroller.wrapper.mjs';
@@ -64,7 +67,7 @@ import { splitChildren } from '../../splitChildren.mjs';
64
67
  import { Component } from 'react';
65
68
  import { minifyCss } from '../../minifyCss.mjs';
66
69
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
67
- import { getCheckboxWrapperCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
70
+ import { getCheckboxWrapperCss as getComponentCss$V } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
68
71
  import { StateMessage } from './state-message.mjs';
69
72
 
70
73
  class DSRCheckboxWrapper extends Component {
@@ -72,7 +75,7 @@ class DSRCheckboxWrapper extends Component {
72
75
  input;
73
76
  render() {
74
77
  const { children, namedSlotChildren, otherChildren } = splitChildren(this.props.children);
75
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$S(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, this.props.loading, this.props.theme)));
78
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$V(this.props.hideLabel, this.props.state, typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props.disabled, this.props.loading, this.props.theme)));
76
79
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsxs("label", { "aria-disabled": this.props.loading ? 'true' : null, children: [(this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && (jsx("span", { className: "text", children: this.props.label || jsx("slot", { name: "label" }) })), jsx("slot", {}), this.props.loading && (jsx(PSpinner, { className: "spinner", size: "inherit", theme: this.props.theme, aria: { 'aria-label': `Loading state of ${this.props.label}` } }))] }), (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) && (jsx(StateMessage, { state: this.props.state, message: this.props.message, theme: this.props.theme, host: null }))] })] }), this.props.children] }));
77
80
  }
78
81
  }
@@ -3,14 +3,14 @@ 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 { getContentWrapperCss as getComponentCss$R } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getContentWrapperCss as getComponentCss$U } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
 
8
8
  /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
9
9
  class DSRContentWrapper extends Component {
10
10
  host;
11
11
  render() {
12
12
  splitChildren(this.props.children);
13
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$R(this.props.width)));
13
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$U(this.props.width)));
14
14
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("div", { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
15
15
  }
16
16
  }
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Component } from 'react';
3
3
  import { minifyCss } from '../../minifyCss.mjs';
4
4
  import { stripFocusAndHoverStyles } from '../../stripFocusAndHoverStyles.mjs';
5
- import { getCrestCss as getComponentCss$Q } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
5
+ import { getCrestCss as getComponentCss$T } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
6
  import { buildCrestSrcSet, buildCrestImgSrc, parseAndGetAriaAttributes, crestSize } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
7
7
 
8
8
  const { width, height } = crestSize;
@@ -10,7 +10,7 @@ class DSRCrest extends Component {
10
10
  host;
11
11
  render() {
12
12
  const picture = (jsxs("picture", { children: [jsx("source", { srcSet: buildCrestSrcSet('webp'), type: "image/webp" }, "webp"), jsx("source", { srcSet: buildCrestSrcSet('png'), type: "image/png" }, "png"), jsx("img", { src: buildCrestImgSrc(), width: width, height: height, alt: "Porsche" })] }));
13
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$Q()));
13
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$T()));
14
14
  return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: this.props.href === undefined ? (picture) : (jsx("a", { href: this.props.href, target: this.props.target, ...parseAndGetAriaAttributes(this.props.aria), children: picture })) })] }) }));
15
15
  }
16
16
  }
@@ -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 { getDisplayCss as getComponentCss$P } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
6
+ import { getDisplayCss as getComponentCss$S } from '../../../../../../components/dist/styles/esm/styles-entry.mjs';
7
7
  import { getDisplayTagType } from '../../../../../../components/dist/utils/esm/utils-entry.mjs';
8
8
 
9
9
  class DSRDisplay extends Component {
@@ -11,7 +11,7 @@ class DSRDisplay extends Component {
11
11
  render() {
12
12
  splitChildren(this.props.children);
13
13
  const TagType = getDisplayTagType(null, this.props.size, this.props.tag);
14
- const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$P(this.props.size, this.props.align, this.props.color, this.props.ellipsis, this.props.theme)));
14
+ const style = minifyCss(stripFocusAndHoverStyles(getComponentCss$S(this.props.size, this.props.align, this.props.color, this.props.ellipsis, this.props.theme)));
15
15
  return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }