@porsche-design-system/components-react 3.21.0 → 3.22.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 (91) hide show
  1. package/CHANGELOG.md +54 -2
  2. package/ag-grid/theme.css +17 -8
  3. package/cjs/lib/components/flyout-multilevel-item.wrapper.cjs +3 -3
  4. package/cjs/lib/components/link-tile-model-signature.wrapper.cjs +1 -1
  5. package/cjs/lib/components/pin-code.wrapper.cjs +3 -3
  6. package/cjs/lib/components/segmented-control.wrapper.cjs +3 -3
  7. package/esm/lib/components/flyout-multilevel-item.wrapper.d.ts +24 -0
  8. package/esm/lib/components/flyout-multilevel-item.wrapper.mjs +3 -3
  9. package/esm/lib/components/link-tile-model-signature.wrapper.mjs +1 -1
  10. package/esm/lib/components/pin-code.wrapper.d.ts +8 -0
  11. package/esm/lib/components/pin-code.wrapper.mjs +3 -3
  12. package/esm/lib/components/segmented-control.wrapper.d.ts +24 -0
  13. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  14. package/esm/lib/components/select.wrapper.d.ts +2 -2
  15. package/esm/lib/types.d.ts +36 -35
  16. package/package.json +6 -2
  17. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +882 -738
  18. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +458 -419
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flyout-multilevel-item.wrapper.cjs +4 -4
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-model-signature.wrapper.cjs +1 -1
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +4 -4
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +4 -4
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -1
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +2 -1
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +2 -1
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +7 -3
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +2 -1
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +2 -1
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.cjs +9 -6
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.cjs +13 -5
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/loading-message.cjs +1 -1
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -2
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +6 -2
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -1
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +15 -6
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +2 -1
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +3 -2
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +9 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +3 -2
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +2 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.cjs +1 -1
  46. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +882 -738
  47. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +454 -420
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flyout-multilevel-item.wrapper.mjs +4 -4
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-model-signature.wrapper.mjs +1 -1
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +4 -4
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -4
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +1 -1
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -1
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -1
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +7 -3
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -1
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -1
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +9 -6
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +14 -6
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/loading-message.mjs +1 -1
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -2
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -0
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +6 -2
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -1
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +15 -6
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +2 -1
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +3 -2
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +9 -0
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +3 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -0
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +2 -1
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +1 -1
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.mjs +1 -1
  75. package/ssr/esm/lib/components/flyout-multilevel-item.wrapper.d.ts +24 -0
  76. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +8 -0
  77. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +24 -0
  78. package/ssr/esm/lib/components/select.wrapper.d.ts +2 -2
  79. package/ssr/esm/lib/dsr-components/button-pure.d.ts +1 -0
  80. package/ssr/esm/lib/dsr-components/button.d.ts +1 -0
  81. package/ssr/esm/lib/dsr-components/canvas.d.ts +4 -0
  82. package/ssr/esm/lib/dsr-components/checkbox-wrapper.d.ts +1 -0
  83. package/ssr/esm/lib/dsr-components/checkbox.d.ts +1 -0
  84. package/ssr/esm/lib/dsr-components/flyout-multilevel-item.d.ts +3 -2
  85. package/ssr/esm/lib/dsr-components/flyout-multilevel.d.ts +5 -0
  86. package/ssr/esm/lib/dsr-components/pin-code.d.ts +6 -3
  87. package/ssr/esm/lib/dsr-components/radio-button-wrapper.d.ts +1 -0
  88. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +5 -0
  89. package/ssr/esm/lib/dsr-components/switch.d.ts +1 -0
  90. package/ssr/esm/lib/types.d.ts +36 -35
  91. package/styles/_index.scss +1 -1
@@ -33,7 +33,7 @@ function toPrimitive(t, r) {
33
33
  if ("object" != _typeof(t) || !t) return t;
34
34
  var e = t[Symbol.toPrimitive];
35
35
  if (void 0 !== e) {
36
- var i = e.call(t, r );
36
+ var i = e.call(t, r);
37
37
  if ("object" != _typeof(i)) return i;
38
38
  throw new TypeError("@@toPrimitive must return a primitive value.");
39
39
  }
@@ -2757,400 +2757,435 @@ function getAugmentedNamespace(n) {
2757
2757
  return a;
2758
2758
  }
2759
2759
 
2760
- var _tslib$1 = {};
2760
+ var _tslib = {};
2761
2761
 
2762
- (function (exports) {
2762
+ var hasRequired_tslib;
2763
2763
 
2764
- Object.defineProperty(exports, '__esModule', { value: true });
2764
+ function require_tslib () {
2765
+ if (hasRequired_tslib) return _tslib;
2766
+ hasRequired_tslib = 1;
2767
+ (function (exports) {
2765
2768
 
2766
- /*! *****************************************************************************
2767
- Copyright (c) Microsoft Corporation.
2769
+ Object.defineProperty(exports, '__esModule', { value: true });
2768
2770
 
2769
- Permission to use, copy, modify, and/or distribute this software for any
2770
- purpose with or without fee is hereby granted.
2771
+ /*! *****************************************************************************
2772
+ Copyright (c) Microsoft Corporation.
2771
2773
 
2772
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2773
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2774
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2775
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2776
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2777
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2778
- PERFORMANCE OF THIS SOFTWARE.
2779
- ***************************************************************************** */
2774
+ Permission to use, copy, modify, and/or distribute this software for any
2775
+ purpose with or without fee is hereby granted.
2780
2776
 
2781
- exports.__assign = function () {
2782
- exports.__assign =
2783
- Object.assign ||
2784
- function __assign(t) {
2785
- for (var s, i = 1, n = arguments.length; i < n; i++) {
2786
- s = arguments[i];
2787
- for (var p in s)
2788
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2789
- }
2790
- return t;
2791
- };
2792
- return exports.__assign.apply(this, arguments);
2793
- };
2794
- } (_tslib$1));
2795
-
2796
- var require$$1 = /*@__PURE__*/getAugmentedNamespace(jss_esm);
2797
-
2798
- /**
2799
- * The custom `sort` method for
2800
- * for the [`css-mqpacker`](https://www.npmjs.com/package/css-mqpacker) or
2801
- * [`pleeease`](https://www.npmjs.com/package/pleeease) which using `css-mqpacker`
2802
- * or, perhaps, something else ))
2803
- *
2804
- * @module sort-css-media-queries
2805
- * @author Oleg Dutchenko <dutchenko.o.wezom@gmail.com>
2806
- * @version 1.5.0
2807
- */
2808
-
2809
- // ----------------------------------------
2810
- // Private
2811
- // ----------------------------------------
2812
-
2813
- const minMaxWidth = /(!?\(\s*min(-device-)?-width)(.|\n)+\(\s*max(-device)?-width/i;
2814
- const minWidth = /\(\s*min(-device)?-width/i;
2815
- const maxMinWidth = /(!?\(\s*max(-device)?-width)(.|\n)+\(\s*min(-device)?-width/i;
2816
- const maxWidth = /\(\s*max(-device)?-width/i;
2817
-
2818
- const isMinWidth = _testQuery(minMaxWidth, maxMinWidth, minWidth);
2819
- const isMaxWidth = _testQuery(maxMinWidth, minMaxWidth, maxWidth);
2820
-
2821
- const minMaxHeight = /(!?\(\s*min(-device)?-height)(.|\n)+\(\s*max(-device)?-height/i;
2822
- const minHeight = /\(\s*min(-device)?-height/i;
2823
- const maxMinHeight = /(!?\(\s*max(-device)?-height)(.|\n)+\(\s*min(-device)?-height/i;
2824
- const maxHeight = /\(\s*max(-device)?-height/i;
2825
-
2826
- const isMinHeight = _testQuery(minMaxHeight, maxMinHeight, minHeight);
2827
- const isMaxHeight = _testQuery(maxMinHeight, minMaxHeight, maxHeight);
2828
-
2829
- const isPrint = /print/i;
2830
- const isPrintOnly = /^print$/i;
2831
-
2832
- const maxValue = Number.MAX_VALUE;
2833
-
2834
- /**
2835
- * Obtain the length of the media request in pixels.
2836
- * Copy from original source `function inspectLength (length)`
2837
- * {@link https://github.com/hail2u/node-css-mqpacker/blob/master/index.js#L58}
2838
- * @private
2839
- * @param {string} length
2840
- * @return {number}
2841
- */
2842
- function _getQueryLength (length) {
2843
- length = /(-?\d*\.?\d+)(ch|em|ex|px|rem)/.exec(length);
2777
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2778
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2779
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2780
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2781
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2782
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2783
+ PERFORMANCE OF THIS SOFTWARE.
2784
+ ***************************************************************************** */
2844
2785
 
2845
- if (length === null) {
2846
- return maxValue
2847
- }
2848
-
2849
- let number = length[1];
2850
- const unit = length[2];
2851
-
2852
- switch (unit) {
2853
- case 'ch':
2854
- number = parseFloat(number) * 8.8984375;
2855
- break
2856
-
2857
- case 'em':
2858
- case 'rem':
2859
- number = parseFloat(number) * 16;
2860
- break
2861
-
2862
- case 'ex':
2863
- number = parseFloat(number) * 8.296875;
2864
- break
2865
-
2866
- case 'px':
2867
- number = parseFloat(number);
2868
- break
2869
- }
2870
-
2871
- return +number
2872
- }
2873
-
2874
- /**
2875
- * Wrapper for creating test functions
2876
- * @private
2877
- * @param {RegExp} doubleTestTrue
2878
- * @param {RegExp} doubleTestFalse
2879
- * @param {RegExp} singleTest
2880
- * @return {Function}
2881
- */
2882
- function _testQuery (doubleTestTrue, doubleTestFalse, singleTest) {
2883
- /**
2884
- * @param {string} query
2885
- * @return {boolean}
2886
- */
2887
- return function (query) {
2888
- if (doubleTestTrue.test(query)) {
2889
- return true
2890
- } else if (doubleTestFalse.test(query)) {
2891
- return false
2892
- }
2893
- return singleTest.test(query)
2894
- }
2895
- }
2896
-
2897
- /**
2898
- * @private
2899
- * @param {string} a
2900
- * @param {string} b
2901
- * @return {number|null}
2902
- */
2903
- function _testIsPrint (a, b) {
2904
- const isPrintA = isPrint.test(a);
2905
- const isPrintOnlyA = isPrintOnly.test(a);
2906
-
2907
- const isPrintB = isPrint.test(b);
2908
- const isPrintOnlyB = isPrintOnly.test(b);
2909
-
2910
- if (isPrintA && isPrintB) {
2911
- if (!isPrintOnlyA && isPrintOnlyB) {
2912
- return 1
2913
- }
2914
- if (isPrintOnlyA && !isPrintOnlyB) {
2915
- return -1
2916
- }
2917
- return a.localeCompare(b)
2918
- }
2919
- if (isPrintA) {
2920
- return 1
2921
- }
2922
- if (isPrintB) {
2923
- return -1
2924
- }
2925
-
2926
- return null
2786
+ exports.__assign = function () {
2787
+ exports.__assign =
2788
+ Object.assign ||
2789
+ function __assign(t) {
2790
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
2791
+ s = arguments[i];
2792
+ for (var p in s)
2793
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2794
+ }
2795
+ return t;
2796
+ };
2797
+ return exports.__assign.apply(this, arguments);
2798
+ };
2799
+ } (_tslib));
2800
+ return _tslib;
2927
2801
  }
2928
2802
 
2929
- // ----------------------------------------
2930
- // Public
2931
- // ----------------------------------------
2932
-
2933
- /**
2934
- * Sorting an array with media queries
2935
- * according to the mobile-first methodology.
2936
- * @param {string} a
2937
- * @param {string} b
2938
- * @return {number} 1 / 0 / -1
2939
- */
2940
- function sortCSSmq$1 (a, b) {
2941
- const testIsPrint = _testIsPrint(a, b);
2942
- if (testIsPrint !== null) {
2943
- return testIsPrint
2944
- }
2945
-
2946
- const minA = isMinWidth(a) || isMinHeight(a);
2947
- const maxA = isMaxWidth(a) || isMaxHeight(a);
2803
+ var require$$1 = /*@__PURE__*/getAugmentedNamespace(jss_esm);
2948
2804
 
2949
- const minB = isMinWidth(b) || isMinHeight(b);
2950
- const maxB = isMaxWidth(b) || isMaxHeight(b);
2805
+ var sortCssMediaQueries;
2806
+ var hasRequiredSortCssMediaQueries;
2807
+
2808
+ function requireSortCssMediaQueries () {
2809
+ if (hasRequiredSortCssMediaQueries) return sortCssMediaQueries;
2810
+ hasRequiredSortCssMediaQueries = 1;
2811
+
2812
+ /**
2813
+ * The custom `sort` method for
2814
+ * for the [`css-mqpacker`](https://www.npmjs.com/package/css-mqpacker) or
2815
+ * [`pleeease`](https://www.npmjs.com/package/pleeease) which using `css-mqpacker`
2816
+ * or, perhaps, something else ))
2817
+ *
2818
+ * @module sort-css-media-queries
2819
+ * @author Oleg Dutchenko <dutchenko.o.wezom@gmail.com>
2820
+ * @version 1.5.0
2821
+ */
2822
+
2823
+ // ----------------------------------------
2824
+ // Private
2825
+ // ----------------------------------------
2826
+
2827
+ const minMaxWidth = /(!?\(\s*min(-device-)?-width)(.|\n)+\(\s*max(-device)?-width/i;
2828
+ const minWidth = /\(\s*min(-device)?-width/i;
2829
+ const maxMinWidth = /(!?\(\s*max(-device)?-width)(.|\n)+\(\s*min(-device)?-width/i;
2830
+ const maxWidth = /\(\s*max(-device)?-width/i;
2831
+
2832
+ const isMinWidth = _testQuery(minMaxWidth, maxMinWidth, minWidth);
2833
+ const isMaxWidth = _testQuery(maxMinWidth, minMaxWidth, maxWidth);
2834
+
2835
+ const minMaxHeight = /(!?\(\s*min(-device)?-height)(.|\n)+\(\s*max(-device)?-height/i;
2836
+ const minHeight = /\(\s*min(-device)?-height/i;
2837
+ const maxMinHeight = /(!?\(\s*max(-device)?-height)(.|\n)+\(\s*min(-device)?-height/i;
2838
+ const maxHeight = /\(\s*max(-device)?-height/i;
2839
+
2840
+ const isMinHeight = _testQuery(minMaxHeight, maxMinHeight, minHeight);
2841
+ const isMaxHeight = _testQuery(maxMinHeight, minMaxHeight, maxHeight);
2842
+
2843
+ const isPrint = /print/i;
2844
+ const isPrintOnly = /^print$/i;
2845
+
2846
+ const maxValue = Number.MAX_VALUE;
2847
+
2848
+ /**
2849
+ * Obtain the length of the media request in pixels.
2850
+ * Copy from original source `function inspectLength (length)`
2851
+ * {@link https://github.com/hail2u/node-css-mqpacker/blob/master/index.js#L58}
2852
+ * @private
2853
+ * @param {string} length
2854
+ * @return {number}
2855
+ */
2856
+ function _getQueryLength (length) {
2857
+ length = /(-?\d*\.?\d+)(ch|em|ex|px|rem)/.exec(length);
2858
+
2859
+ if (length === null) {
2860
+ return maxValue
2861
+ }
2862
+
2863
+ let number = length[1];
2864
+ const unit = length[2];
2865
+
2866
+ switch (unit) {
2867
+ case 'ch':
2868
+ number = parseFloat(number) * 8.8984375;
2869
+ break
2870
+
2871
+ case 'em':
2872
+ case 'rem':
2873
+ number = parseFloat(number) * 16;
2874
+ break
2875
+
2876
+ case 'ex':
2877
+ number = parseFloat(number) * 8.296875;
2878
+ break
2879
+
2880
+ case 'px':
2881
+ number = parseFloat(number);
2882
+ break
2883
+ }
2884
+
2885
+ return +number
2886
+ }
2951
2887
 
2952
- if (minA && maxB) {
2953
- return -1
2954
- }
2955
- if (maxA && minB) {
2956
- return 1
2957
- }
2888
+ /**
2889
+ * Wrapper for creating test functions
2890
+ * @private
2891
+ * @param {RegExp} doubleTestTrue
2892
+ * @param {RegExp} doubleTestFalse
2893
+ * @param {RegExp} singleTest
2894
+ * @return {Function}
2895
+ */
2896
+ function _testQuery (doubleTestTrue, doubleTestFalse, singleTest) {
2897
+ /**
2898
+ * @param {string} query
2899
+ * @return {boolean}
2900
+ */
2901
+ return function (query) {
2902
+ if (doubleTestTrue.test(query)) {
2903
+ return true
2904
+ } else if (doubleTestFalse.test(query)) {
2905
+ return false
2906
+ }
2907
+ return singleTest.test(query)
2908
+ }
2909
+ }
2958
2910
 
2959
- let lengthA = _getQueryLength(a);
2960
- let lengthB = _getQueryLength(b);
2911
+ /**
2912
+ * @private
2913
+ * @param {string} a
2914
+ * @param {string} b
2915
+ * @return {number|null}
2916
+ */
2917
+ function _testIsPrint (a, b) {
2918
+ const isPrintA = isPrint.test(a);
2919
+ const isPrintOnlyA = isPrintOnly.test(a);
2920
+
2921
+ const isPrintB = isPrint.test(b);
2922
+ const isPrintOnlyB = isPrintOnly.test(b);
2923
+
2924
+ if (isPrintA && isPrintB) {
2925
+ if (!isPrintOnlyA && isPrintOnlyB) {
2926
+ return 1
2927
+ }
2928
+ if (isPrintOnlyA && !isPrintOnlyB) {
2929
+ return -1
2930
+ }
2931
+ return a.localeCompare(b)
2932
+ }
2933
+ if (isPrintA) {
2934
+ return 1
2935
+ }
2936
+ if (isPrintB) {
2937
+ return -1
2938
+ }
2939
+
2940
+ return null
2941
+ }
2961
2942
 
2962
- if (lengthA === maxValue && lengthB === maxValue) {
2963
- return a.localeCompare(b)
2964
- } else if (lengthA === maxValue) {
2965
- return 1
2966
- } else if (lengthB === maxValue) {
2967
- return -1
2968
- }
2943
+ // ----------------------------------------
2944
+ // Public
2945
+ // ----------------------------------------
2946
+
2947
+ /**
2948
+ * Sorting an array with media queries
2949
+ * according to the mobile-first methodology.
2950
+ * @param {string} a
2951
+ * @param {string} b
2952
+ * @return {number} 1 / 0 / -1
2953
+ */
2954
+ function sortCSSmq (a, b) {
2955
+ const testIsPrint = _testIsPrint(a, b);
2956
+ if (testIsPrint !== null) {
2957
+ return testIsPrint
2958
+ }
2959
+
2960
+ const minA = isMinWidth(a) || isMinHeight(a);
2961
+ const maxA = isMaxWidth(a) || isMaxHeight(a);
2962
+
2963
+ const minB = isMinWidth(b) || isMinHeight(b);
2964
+ const maxB = isMaxWidth(b) || isMaxHeight(b);
2965
+
2966
+ if (minA && maxB) {
2967
+ return -1
2968
+ }
2969
+ if (maxA && minB) {
2970
+ return 1
2971
+ }
2972
+
2973
+ let lengthA = _getQueryLength(a);
2974
+ let lengthB = _getQueryLength(b);
2975
+
2976
+ if (lengthA === maxValue && lengthB === maxValue) {
2977
+ return a.localeCompare(b)
2978
+ } else if (lengthA === maxValue) {
2979
+ return 1
2980
+ } else if (lengthB === maxValue) {
2981
+ return -1
2982
+ }
2983
+
2984
+ if (lengthA > lengthB) {
2985
+ if (maxA) {
2986
+ return -1
2987
+ }
2988
+ return 1
2989
+ }
2990
+
2991
+ if (lengthA < lengthB) {
2992
+ if (maxA) {
2993
+ return 1
2994
+ }
2995
+ return -1
2996
+ }
2997
+
2998
+ return a.localeCompare(b)
2999
+ }
2969
3000
 
2970
- if (lengthA > lengthB) {
2971
- if (maxA) {
2972
- return -1
2973
- }
2974
- return 1
2975
- }
3001
+ /**
3002
+ * Sorting an array with media queries
3003
+ * according to the desktop-first methodology.
3004
+ * @param {string} a
3005
+ * @param {string} b
3006
+ * @return {number} 1 / 0 / -1
3007
+ */
3008
+ sortCSSmq.desktopFirst = function (a, b) {
3009
+ const testIsPrint = _testIsPrint(a, b);
3010
+ if (testIsPrint !== null) {
3011
+ return testIsPrint
3012
+ }
3013
+
3014
+ const minA = isMinWidth(a) || isMinHeight(a);
3015
+ const maxA = isMaxWidth(a) || isMaxHeight(a);
3016
+
3017
+ const minB = isMinWidth(b) || isMinHeight(b);
3018
+ const maxB = isMaxWidth(b) || isMaxHeight(b);
3019
+
3020
+ if (minA && maxB) {
3021
+ return 1
3022
+ }
3023
+ if (maxA && minB) {
3024
+ return -1
3025
+ }
3026
+
3027
+ const lengthA = _getQueryLength(a);
3028
+ const lengthB = _getQueryLength(b);
3029
+
3030
+ if (lengthA === maxValue && lengthB === maxValue) {
3031
+ return a.localeCompare(b)
3032
+ } else if (lengthA === maxValue) {
3033
+ return 1
3034
+ } else if (lengthB === maxValue) {
3035
+ return -1
3036
+ }
3037
+
3038
+ if (lengthA > lengthB) {
3039
+ if (maxA) {
3040
+ return -1
3041
+ }
3042
+ return 1
3043
+ }
3044
+
3045
+ if (lengthA < lengthB) {
3046
+ if (maxA) {
3047
+ return 1
3048
+ }
3049
+ return -1
3050
+ }
3051
+
3052
+ return -(a.localeCompare(b))
3053
+ };
2976
3054
 
2977
- if (lengthA < lengthB) {
2978
- if (maxA) {
2979
- return 1
2980
- }
2981
- return -1
2982
- }
3055
+ // ----------------------------------------
3056
+ // Exports
3057
+ // ----------------------------------------
2983
3058
 
2984
- return a.localeCompare(b)
3059
+ sortCssMediaQueries = sortCSSmq;
3060
+ return sortCssMediaQueries;
2985
3061
  }
2986
3062
 
2987
- /**
2988
- * Sorting an array with media queries
2989
- * according to the desktop-first methodology.
2990
- * @param {string} a
2991
- * @param {string} b
2992
- * @return {number} 1 / 0 / -1
2993
- */
2994
- sortCSSmq$1.desktopFirst = function (a, b) {
2995
- const testIsPrint = _testIsPrint(a, b);
2996
- if (testIsPrint !== null) {
2997
- return testIsPrint
2998
- }
3063
+ var dist;
3064
+ var hasRequiredDist;
2999
3065
 
3000
- const minA = isMinWidth(a) || isMinHeight(a);
3001
- const maxA = isMaxWidth(a) || isMaxHeight(a);
3066
+ function requireDist () {
3067
+ if (hasRequiredDist) return dist;
3068
+ hasRequiredDist = 1;
3002
3069
 
3003
- const minB = isMinWidth(b) || isMinHeight(b);
3004
- const maxB = isMaxWidth(b) || isMaxHeight(b);
3070
+ var _tslib = require_tslib();
3071
+ var jss = require$$1;
3072
+ var sortCSSmq = requireSortCssMediaQueries();
3005
3073
 
3006
- if (minA && maxB) {
3007
- return 1
3008
- }
3009
- if (maxA && minB) {
3010
- return -1
3011
- }
3012
-
3013
- const lengthA = _getQueryLength(a);
3014
- const lengthB = _getQueryLength(b);
3015
-
3016
- if (lengthA === maxValue && lengthB === maxValue) {
3017
- return a.localeCompare(b)
3018
- } else if (lengthA === maxValue) {
3019
- return 1
3020
- } else if (lengthB === maxValue) {
3021
- return -1
3022
- }
3023
-
3024
- if (lengthA > lengthB) {
3025
- if (maxA) {
3026
- return -1
3027
- }
3028
- return 1
3029
- }
3030
-
3031
- if (lengthA < lengthB) {
3032
- if (maxA) {
3033
- return 1
3034
- }
3035
- return -1
3036
- }
3037
-
3038
- return -(a.localeCompare(b))
3039
- };
3040
-
3041
- // ----------------------------------------
3042
- // Exports
3043
- // ----------------------------------------
3044
-
3045
- var sortCssMediaQueries = sortCSSmq$1;
3046
-
3047
- var _tslib = _tslib$1;
3048
- var jss$1 = require$$1;
3049
- var sortCSSmq = sortCssMediaQueries;
3050
-
3051
- function _interopDefaultLegacy(e) {
3052
- return e && typeof e === 'object' && 'default' in e ? e : { default: e };
3053
- }
3074
+ function _interopDefaultLegacy(e) {
3075
+ return e && typeof e === 'object' && 'default' in e ? e : { default: e };
3076
+ }
3054
3077
 
3055
- var sortCSSmq__default = /*#__PURE__*/ _interopDefaultLegacy(sortCSSmq);
3078
+ var sortCSSmq__default = /*#__PURE__*/ _interopDefaultLegacy(sortCSSmq);
3056
3079
 
3057
- function isPlainObject(sample) {
3058
- return (
3059
- sample !== null && typeof sample === 'object' && Array.isArray(sample) === false
3060
- );
3061
- }
3062
- var UN_QUERIED = '__UN_QUERIED';
3063
- function recursiveInnerAndGetQueries(pluginOptions, rules) {
3064
- var queries = {
3065
- groups: {},
3066
- groupsSortNames: []
3067
- };
3068
- for (var index = 0; index < rules.length; index++) {
3069
- var rule = rules[index];
3070
- var query =
3071
- rule.type === 'conditional' && typeof rule.query === 'string'
3072
- ? rule.query
3073
- : UN_QUERIED;
3074
- if (!queries.groups.hasOwnProperty(query)) {
3075
- queries.groupsSortNames.push(query);
3076
- queries.groups[query] = [];
3077
- }
3078
- queries.groups[query].push(index);
3079
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
3080
- recursive(pluginOptions, rule);
3080
+ function isPlainObject(sample) {
3081
+ return (
3082
+ sample !== null && typeof sample === 'object' && Array.isArray(sample) === false
3083
+ );
3081
3084
  }
3082
- queries.groupsSortNames.sort(function (a, b) {
3083
- var aWeight = a === UN_QUERIED ? 0 : a.length;
3084
- var bWeight = b === UN_QUERIED ? 0 : b.length;
3085
- if (aWeight > 0 && bWeight > 0) {
3086
- if (pluginOptions.desktopFirst) {
3087
- return sortCSSmq__default['default'].desktopFirst(a, b);
3088
- } else {
3089
- return sortCSSmq__default['default'](a, b);
3085
+ var UN_QUERIED = '__UN_QUERIED';
3086
+ function recursiveInnerAndGetQueries(pluginOptions, rules) {
3087
+ var queries = {
3088
+ groups: {},
3089
+ groupsSortNames: []
3090
+ };
3091
+ for (var index = 0; index < rules.length; index++) {
3092
+ var rule = rules[index];
3093
+ var query =
3094
+ rule.type === 'conditional' && typeof rule.query === 'string'
3095
+ ? rule.query
3096
+ : UN_QUERIED;
3097
+ if (!queries.groups.hasOwnProperty(query)) {
3098
+ queries.groupsSortNames.push(query);
3099
+ queries.groups[query] = [];
3090
3100
  }
3091
- } else {
3092
- return aWeight - bWeight;
3101
+ queries.groups[query].push(index);
3102
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
3103
+ recursive(pluginOptions, rule);
3093
3104
  }
3094
- });
3095
- return queries;
3096
- }
3097
- function recursive(pluginOptions, data) {
3098
- if (isPlainObject(data) && data.rules instanceof jss$1.RuleList) {
3099
- data.rules.toString = function (options) {
3100
- if (options === void 0) {
3101
- options = {};
3102
- }
3103
- var str = '';
3104
- var sheet = this.options.sheet;
3105
- var link = sheet ? sheet.options.link : false;
3106
- var _a = recursiveInnerAndGetQueries(pluginOptions, this.index),
3107
- groups = _a.groups,
3108
- groupsSortNames = _a.groupsSortNames;
3109
- for (var i = 0; i < groupsSortNames.length; i++) {
3110
- var groupName = groupsSortNames[i];
3111
- var group = groups[groupsSortNames[i]];
3112
- if (groupName !== UN_QUERIED && pluginOptions.combineMediaQueries) {
3113
- str += '\n' + groupName + ' {';
3114
- for (var i_1 = 0; i_1 < group.length; i_1++) {
3115
- var rule = this.index[group[i_1]];
3116
- var css = rule.rules.toString(
3117
- _tslib.__assign(_tslib.__assign({}, options), {
3118
- indent: (options.indent || 0) + 1
3119
- })
3120
- );
3121
- if (!css && !link) continue;
3122
- if (str) str += '\n';
3123
- str += css;
3124
- }
3125
- str += '\n}\n';
3105
+ queries.groupsSortNames.sort(function (a, b) {
3106
+ var aWeight = a === UN_QUERIED ? 0 : a.length;
3107
+ var bWeight = b === UN_QUERIED ? 0 : b.length;
3108
+ if (aWeight > 0 && bWeight > 0) {
3109
+ if (pluginOptions.desktopFirst) {
3110
+ return sortCSSmq__default['default'].desktopFirst(a, b);
3126
3111
  } else {
3127
- for (var i_2 = 0; i_2 < group.length; i_2++) {
3128
- var rule = this.index[group[i_2]];
3129
- var css = rule.toString(options);
3130
- if (!css && !link) continue;
3131
- if (str) str += '\n';
3132
- str += css;
3133
- }
3112
+ return sortCSSmq__default['default'](a, b);
3134
3113
  }
3114
+ } else {
3115
+ return aWeight - bWeight;
3135
3116
  }
3136
- return str;
3137
- };
3117
+ });
3118
+ return queries;
3138
3119
  }
3139
- }
3140
- function jssCombineAndSortMQ(options) {
3141
- if (options === void 0) {
3142
- options = {};
3120
+ function recursive(pluginOptions, data) {
3121
+ if (isPlainObject(data) && data.rules instanceof jss.RuleList) {
3122
+ data.rules.toString = function (options) {
3123
+ if (options === void 0) {
3124
+ options = {};
3125
+ }
3126
+ var str = '';
3127
+ var sheet = this.options.sheet;
3128
+ var link = sheet ? sheet.options.link : false;
3129
+ var _a = recursiveInnerAndGetQueries(pluginOptions, this.index),
3130
+ groups = _a.groups,
3131
+ groupsSortNames = _a.groupsSortNames;
3132
+ for (var i = 0; i < groupsSortNames.length; i++) {
3133
+ var groupName = groupsSortNames[i];
3134
+ var group = groups[groupsSortNames[i]];
3135
+ if (groupName !== UN_QUERIED && pluginOptions.combineMediaQueries) {
3136
+ str += '\n' + groupName + ' {';
3137
+ for (var i_1 = 0; i_1 < group.length; i_1++) {
3138
+ var rule = this.index[group[i_1]];
3139
+ var css = rule.rules.toString(
3140
+ _tslib.__assign(_tslib.__assign({}, options), {
3141
+ indent: (options.indent || 0) + 1
3142
+ })
3143
+ );
3144
+ if (!css && !link) continue;
3145
+ if (str) str += '\n';
3146
+ str += css;
3147
+ }
3148
+ str += '\n}\n';
3149
+ } else {
3150
+ for (var i_2 = 0; i_2 < group.length; i_2++) {
3151
+ var rule = this.index[group[i_2]];
3152
+ var css = rule.toString(options);
3153
+ if (!css && !link) continue;
3154
+ if (str) str += '\n';
3155
+ str += css;
3156
+ }
3157
+ }
3158
+ }
3159
+ return str;
3160
+ };
3161
+ }
3143
3162
  }
3144
- return {
3145
- onProcessSheet: function (sheet) {
3146
- recursive(options, sheet);
3163
+ function jssCombineAndSortMQ(options) {
3164
+ if (options === void 0) {
3165
+ options = {};
3147
3166
  }
3148
- };
3167
+ return {
3168
+ onProcessSheet: function (sheet) {
3169
+ recursive(options, sheet);
3170
+ }
3171
+ };
3172
+ }
3173
+
3174
+ dist = jssCombineAndSortMQ;
3175
+ return dist;
3149
3176
  }
3150
3177
 
3151
- var dist = jssCombineAndSortMQ;
3178
+ var distExports = requireDist();
3179
+ var jssPluginSortMediaQueries = /*@__PURE__*/getDefaultExportFromCjs(distExports);
3152
3180
 
3153
- var jssPluginSortMediaQueries = /*@__PURE__*/getDefaultExportFromCjs(dist);
3181
+ // NOTE: these utils are in the same file on purpose
3182
+ // to force them being bundled into our core chunk
3183
+ const getTagName = (el) => el.tagName.toLowerCase();
3184
+ const getTagNameWithoutPrefix = (host) => {
3185
+ const tagName = getTagName(host);
3186
+ const [, tagNameWithoutPrefix = ''] = /^(?:[a-z-]+-)?(p-[a-z-]+)$/.exec(tagName) || [];
3187
+ return (tagNameWithoutPrefix || tagName); // return tagName as fallback for default tags
3188
+ };
3154
3189
 
3155
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
3156
3191
  const scrollAreaClass = 'scroll-area';
@@ -3166,7 +3201,7 @@ function getHTMLElement(element, selector) {
3166
3201
 
3167
3202
  const transformSelectorToDirectChildSelector = (selector) => selector
3168
3203
  .split(',')
3169
- .map((part) => ':scope>' + part)
3204
+ .map((part) => `:scope>${part}`)
3170
3205
  .join();
3171
3206
 
3172
3207
  /* eslint-disable prefer-arrow/prefer-arrow-functions */
@@ -3183,13 +3218,15 @@ function getDirectChildHTMLElement(element, selector) {
3183
3218
 
3184
3219
  const hasSpecificDirectChildTag = (host, tag) => {
3185
3220
  const el = getDirectChildHTMLElement(host, ':only-child');
3186
- return !!(el?.matches(tag));
3221
+ return !!el?.matches(tag);
3187
3222
  };
3188
3223
 
3189
3224
  const isDisabledOrLoading = (disabled, loading) => {
3190
3225
  return disabled || loading;
3191
3226
  };
3192
3227
 
3228
+ const isElementOfKind = (element, tagName) => getTagNameWithoutPrefix(element) === tagName;
3229
+
3193
3230
  const parseJSONAttribute = (attribute) => {
3194
3231
  // Input is object, e.g. { 'aria-label': 'Some label' }
3195
3232
  if (typeof attribute !== 'string') {
@@ -3199,7 +3236,7 @@ const parseJSONAttribute = (attribute) => {
3199
3236
  // Convert single quotes to double quotes except the ones which are escaped by backslash
3200
3237
  .replace(/\\'/g, '__escaped_single_quote__')
3201
3238
  .replace(/'/g, '"')
3202
- .replace(/__escaped_single_quote__/g, '\\\'')
3239
+ .replace(/__escaped_single_quote__/g, "\\'")
3203
3240
  // Remove string escapes except the ones followed by unicode u0027
3204
3241
  .replace(/([^\\])\\(?!u0027)/g, '$1')
3205
3242
  // Wrap keys in double quotes
@@ -3355,12 +3392,13 @@ supportsConstructableStylesheets();
3355
3392
  const attributeMutationMap = new Map();
3356
3393
  hasWindow &&
3357
3394
  new MutationObserver((mutations) => {
3358
- mutations
3395
+ for (const mutation of mutations
3359
3396
  // reduce array to only entries that have really a changed value
3360
3397
  .filter((mutation) => mutation.oldValue !== mutation.target.getAttribute(mutation.attributeName))
3361
3398
  // remove duplicates so we execute callback only once per node
3362
- .filter((mutation, idx, arr) => arr.findIndex((m) => m.target === mutation.target) === idx)
3363
- .forEach((mutation) => attributeMutationMap.get(mutation.target)?.());
3399
+ .filter((mutation, idx, arr) => arr.findIndex((m) => m.target === mutation.target) === idx)) {
3400
+ attributeMutationMap.get(mutation.target)?.();
3401
+ }
3364
3402
  });
3365
3403
 
3366
3404
  const mediaQueries = Object.values(breakpoint).map((v) => `(min-width:${v}px)`);
@@ -3382,17 +3420,14 @@ const observedNodesMap = new Map();
3382
3420
  hasWindow &&
3383
3421
  new MutationObserver((mutations) => {
3384
3422
  // there may be race conditions in jsdom-polyfill tests where the map is already empty when a mutation happens
3385
- if (observedNodesMap.size) {
3423
+ if (observedNodesMap.size > 0) {
3386
3424
  const observedNodes = Array.from(observedNodesMap.keys());
3387
- mutations
3388
- // remove duplicates so we execute callback only once per node
3389
- .filter((mutation, idx, arr) => arr.findIndex((m) => m.target === mutation.target) === idx)
3390
- // find all observing parent nodes of mutated node and invoke their callbacks
3391
- .forEach((mutation) => {
3392
- observedNodes
3393
- .filter((node) => node.contains(mutation.target))
3394
- .forEach((node) => observedNodesMap.get(node)?.());
3395
- });
3425
+ // remove duplicates so we execute callback only once per node
3426
+ for (const mutation of mutations.filter((mutation, idx, arr) => arr.findIndex((m) => m.target === mutation.target) === idx)) {
3427
+ for (const node of observedNodes.filter((node) => node.contains(mutation.target))) {
3428
+ observedNodesMap.get(node)?.();
3429
+ }
3430
+ }
3396
3431
  }
3397
3432
  });
3398
3433
 
@@ -3437,7 +3472,7 @@ const isScrollable = (isPrevHidden, isNextHidden) => {
3437
3472
  };
3438
3473
 
3439
3474
  /*
3440
- Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
3475
+ Stencil Client Platform v4.22.2 | MIT Licensed | https://stenciljs.com
3441
3476
  */
3442
3477
  var __defProp = Object.defineProperty;
3443
3478
  var __export = (target, all) => {
@@ -3503,7 +3538,7 @@ const supportsNativePopover = () => {
3503
3538
  if (!hasWindow) {
3504
3539
  return false;
3505
3540
  }
3506
- return HTMLElement.prototype.hasOwnProperty('popover');
3541
+ return Object.prototype.hasOwnProperty.call(HTMLElement.prototype, 'popover');
3507
3542
  };
3508
3543
  // determine it once
3509
3544
  supportsNativePopover();
@@ -3521,8 +3556,7 @@ const formatObjectOutput = (value) => {
3521
3556
  .replace(/(})/g, ' $1') // add space before following: }
3522
3557
  .replace(/^"(.+)"$/, '$1'); // remove wrapping double quotes
3523
3558
  };
3524
- 'value, ' +
3525
- formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {})).replace(/"/g, '');
3559
+ `value, ${formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {})).replace(/"/g, '')}`;
3526
3560
  const getButtonPureAriaAttributes = (isDisabled, isLoading, aria) => {
3527
3561
  return {
3528
3562
  ...parseAndGetAriaAttributes(aria),
@@ -3568,11 +3602,33 @@ const getDisplayTagType = (host, size, tag) => {
3568
3602
  if (hasSpecificDirectChildTag(host, DISPLAY_TAGS.join())) {
3569
3603
  return 'div';
3570
3604
  }
3571
- else if (tag) {
3605
+ if (tag) {
3572
3606
  return tag;
3573
3607
  }
3574
- else {
3575
- return displaySizeToTagMap[size] || 'h1';
3608
+ return displaySizeToTagMap[size] || 'h1';
3609
+ };
3610
+ /**
3611
+ * Updates the state of the flyout multilevel and its children based on the provided activeItem and value.
3612
+ *
3613
+ * @param {string | undefined} activeItem - The flyout-multilevel-item element which is currently active (which has the activeIdentifier as identifier). If undefined, updates the root element.
3614
+ * @param {boolean} value - The new state value to apply.
3615
+ * @returns {void}
3616
+ */
3617
+ const updateFlyoutMultiLevelItemState = (activeItem, value) => {
3618
+ activeItem.secondary = value;
3619
+ traverseTreeAndUpdateState(activeItem.parentElement, 'primary', value);
3620
+ };
3621
+ /**
3622
+ * Recursively updates the state of a flyout item's parent elements by traversing up the DOM tree.
3623
+ *
3624
+ * @param {HTMLPFlyoutMultilevelItemElement} activeItem - The current flyout item being updated.
3625
+ * @param {'primary' | 'secondary' | 'cascade'} prop - The property of the flyout item to update.
3626
+ * @param {boolean} value - The new state value to apply.
3627
+ */
3628
+ const traverseTreeAndUpdateState = (activeItem, prop, value) => {
3629
+ if (isElementOfKind(activeItem, 'p-flyout-multilevel-item')) {
3630
+ activeItem[prop] = value;
3631
+ traverseTreeAndUpdateState(activeItem.parentElement, 'cascade', value);
3576
3632
  }
3577
3633
  };
3578
3634
  const headingSizeToTagMap = {
@@ -3587,12 +3643,10 @@ const getHeadingTagType = (host, size, tag) => {
3587
3643
  if (hasSpecificDirectChildTag(host, HEADING_TAGS.join())) {
3588
3644
  return 'div';
3589
3645
  }
3590
- else if (tag) {
3646
+ if (tag) {
3591
3647
  return tag;
3592
3648
  }
3593
- else {
3594
- return headingSizeToTagMap[size] || 'h2';
3595
- }
3649
+ return headingSizeToTagMap[size] || 'h2';
3596
3650
  };
3597
3651
  const HEADLINE_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
3598
3652
  const variantToTagMap = {
@@ -3607,12 +3661,10 @@ const getHeadlineTagType = (host, variant, tag) => {
3607
3661
  if (hasSpecificDirectChildTag(host, HEADLINE_TAGS.join())) {
3608
3662
  return 'div';
3609
3663
  }
3610
- else if (tag) {
3664
+ if (tag) {
3611
3665
  return tag;
3612
3666
  }
3613
- else {
3614
- return variantToTagMap[variant] || 'h1';
3615
- }
3667
+ return variantToTagMap[variant] || 'h1';
3616
3668
  };
3617
3669
  const isUrl = (str) => str?.length > 0 && /(\/)/.test(str);
3618
3670
  const DEFAULT_ICON_NAME = 'arrow-right';
@@ -3621,10 +3673,10 @@ const buildIconUrl = (iconNameOrSource = DEFAULT_ICON_NAME) => {
3621
3673
  if (iconNameOrSource === null) {
3622
3674
  return buildIconUrl(DEFAULT_ICON_NAME);
3623
3675
  }
3624
- else if (isUrl(iconNameOrSource)) {
3676
+ if (isUrl(iconNameOrSource)) {
3625
3677
  return iconNameOrSource;
3626
3678
  }
3627
- else if (ICONS_MANIFEST[iconNameOrSource]) {
3679
+ if (ICONS_MANIFEST[iconNameOrSource]) {
3628
3680
  return `${getCDNBaseURL()}/icons/${ICONS_MANIFEST[iconNameOrSource]}`;
3629
3681
  }
3630
3682
  return buildIconUrl(DEFAULT_ICON_NAME);
@@ -3698,7 +3750,7 @@ const createPageFunctionFactory = ({ activePage }) => {
3698
3750
  isAfterAfterCurrent: pageNumber === activePage + 2,
3699
3751
  });
3700
3752
  };
3701
- const createRange = (start, end) => Array.from(Array(end - start + 1), (_, i) => i + start);
3753
+ const createRange = (start, end) => Array.from(new Array(end - start + 1), (_, i) => i + start);
3702
3754
  const createPaginationItems = (options) => {
3703
3755
  const { pageTotal, activePage, showLastPage } = options;
3704
3756
  const pageRange = 1;
@@ -3745,24 +3797,10 @@ const createPaginationItems = (options) => {
3745
3797
  return paginationItems;
3746
3798
  };
3747
3799
  const getCurrentActivePage = (activePage, totalPages) => {
3748
- // Obviously we can't be on a negative or 0 page.
3749
- if (activePage < 1) {
3750
- activePage = 1;
3751
- }
3752
- // If the user has done something like /page/99999 we want to clamp that back down.
3753
- if (activePage > totalPages) {
3754
- activePage = totalPages;
3755
- }
3756
- return activePage;
3800
+ return activePage < 1 ? 1 : activePage > totalPages ? totalPages : activePage;
3757
3801
  };
3758
3802
  const getTotalPages = (totalItemsCount, itemsPerPage) => {
3759
- if (totalItemsCount < 1) {
3760
- totalItemsCount = 1;
3761
- }
3762
- if (itemsPerPage < 1) {
3763
- itemsPerPage = 1;
3764
- }
3765
- return Math.ceil(totalItemsCount / itemsPerPage);
3803
+ return Math.ceil((totalItemsCount < 1 ? 1 : totalItemsCount) / (itemsPerPage < 1 ? 1 : itemsPerPage));
3766
3804
  };
3767
3805
  /**
3768
3806
  * Determines if the current input element corresponds to the first non-filled input
@@ -3788,7 +3826,7 @@ const getSegmentedControlItemAriaAttributes = (isSelected, isDisabled, ariaProp)
3788
3826
  ...parseAndGetAriaAttributes(ariaProp),
3789
3827
  });
3790
3828
  const getIconColor = (isDisabled) => {
3791
- return !isDisabled ? 'primary' : 'contrast-medium';
3829
+ return isDisabled ? 'contrast-medium' : 'primary';
3792
3830
  };
3793
3831
 
3794
3832
  const ITEM_PADDING = '17px';
@@ -3796,7 +3834,7 @@ const { font: BUTTON_FONT } = textSmallStyle;
3796
3834
  const { font: LABEL_FONT } = textXSmallStyle;
3797
3835
  const ICON_SIZE = '1.5rem';
3798
3836
  const ICON_MARGIN = '.25rem';
3799
- ['auto', ...Array.from(Array(25), (_, i) => i + 1)];
3837
+ ['auto', ...Array.from(new Array(25), (_, i) => i + 1)];
3800
3838
  // Expect Porsche Next to be available and use sans-serif (wide font for safety buffer) as fallback
3801
3839
  const tempFont = 'Porsche Next, sans-serif';
3802
3840
  // temporary dom node to measure max-width of children content
@@ -3825,12 +3863,10 @@ const isCustomDropdown = (filter, native) => {
3825
3863
  if (filter) {
3826
3864
  return true;
3827
3865
  }
3828
- else if (native) {
3866
+ if (native) {
3829
3867
  return false;
3830
3868
  }
3831
- else {
3832
- return !isTouchDevice();
3833
- }
3869
+ return !isTouchDevice();
3834
3870
  };
3835
3871
  const getSelectedOptionString = (options) => options.find((option) => option.selected)?.textContent ?? '';
3836
3872
  const isStateCompleteOrWarning = (state) => {
@@ -3869,9 +3905,7 @@ const getTextTagType = (host, tag) => {
3869
3905
  if (hasSpecificDirectChildTag(host, TEXT_TAGS.join())) {
3870
3906
  return 'div';
3871
3907
  }
3872
- else {
3873
- return tag;
3874
- }
3908
+ return tag;
3875
3909
  };
3876
3910
 
3877
3911
  exports.DISPLAY_TAGS = DISPLAY_TAGS;
@@ -3918,6 +3952,8 @@ exports.getSelectedOptions = getSelectedOptions;
3918
3952
  exports.getStepperHorizontalIconName = getStepperHorizontalIconName;
3919
3953
  exports.getSvgUrl = getSvgUrl;
3920
3954
  exports.getSwitchButtonAriaAttributes = getSwitchButtonAriaAttributes;
3955
+ exports.getTagName = getTagName;
3956
+ exports.getTagNameWithoutPrefix = getTagNameWithoutPrefix;
3921
3957
  exports.getTextTagType = getTextTagType;
3922
3958
  exports.getTotalPages = getTotalPages;
3923
3959
  exports.hasDocument = hasDocument;
@@ -3929,6 +3965,7 @@ exports.headerSlot = headerSlot;
3929
3965
  exports.isCurrentInput = isCurrentInput;
3930
3966
  exports.isCustomDropdown = isCustomDropdown;
3931
3967
  exports.isDisabledOrLoading = isDisabledOrLoading;
3968
+ exports.isElementOfKind = isElementOfKind;
3932
3969
  exports.isInfinitePagination = isInfinitePagination;
3933
3970
  exports.isListTypeOrdered = isListTypeOrdered;
3934
3971
  exports.isScrollable = isScrollable;
@@ -3948,3 +3985,5 @@ exports.supportsNativePopover = supportsNativePopover;
3948
3985
  exports.tempDiv = tempDiv;
3949
3986
  exports.tempIcon = tempIcon;
3950
3987
  exports.tempLabel = tempLabel;
3988
+ exports.traverseTreeAndUpdateState = traverseTreeAndUpdateState;
3989
+ exports.updateFlyoutMultiLevelItemState = updateFlyoutMultiLevelItemState;