@nebula.js/stardust 4.12.0 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * @nebula.js/stardust v4.12.0
2
+ * @nebula.js/stardust v4.14.0
3
3
  * Copyright (c) 2024 QlikTech International AB
4
4
  * Released under the MIT license.
5
5
  */
@@ -1009,6 +1009,26 @@
1009
1009
  "zh-TW": "{0}/ {1}"
1010
1010
  }
1011
1011
  };
1012
+ var Listbox_Cyclic = {
1013
+ id: "Listbox.Cyclic",
1014
+ locale: {
1015
+ "de-DE": "Zyklische Dimension",
1016
+ "en-US": "Cyclic dimension",
1017
+ "es-ES": "Dimensión cíclica",
1018
+ "fr-FR": "Dimension cyclique",
1019
+ "it-IT": "Dimensione ciclica",
1020
+ "ja-JP": "サイクリック軸",
1021
+ "ko-KR": "순환 차원",
1022
+ "nl-NL": "Cyclische dimensie",
1023
+ "pl-PL": "Wymiar cykliczny",
1024
+ "pt-BR": "Dimensão cíclica",
1025
+ "ru-RU": "Циклическое измерение",
1026
+ "sv-SE": "Cyklisk dimension",
1027
+ "tr-TR": "Döngüsel boyut",
1028
+ "zh-CN": "循环维度",
1029
+ "zh-TW": "循環維度"
1030
+ }
1031
+ };
1012
1032
  var Listbox_Dismiss = {
1013
1033
  id: "Listbox.Dismiss",
1014
1034
  locale: {
@@ -2013,6 +2033,7 @@
2013
2033
  Cancel: Cancel$1,
2014
2034
  CurrentSelections_All: CurrentSelections_All,
2015
2035
  CurrentSelections_Of: CurrentSelections_Of,
2036
+ Listbox_Cyclic: Listbox_Cyclic,
2016
2037
  Listbox_Dismiss: Listbox_Dismiss,
2017
2038
  Listbox_DrillDown: Listbox_DrillDown,
2018
2039
  Listbox_ItemsOverflow: Listbox_ItemsOverflow,
@@ -2907,6 +2928,23 @@
2907
2928
  errorColor: "#ff4444",
2908
2929
  nullColor: "#d2d2d2"
2909
2930
  };
2931
+ var object$2 = {
2932
+ title: {
2933
+ main: {
2934
+ color: "@B50",
2935
+ fontSize: "15px"
2936
+ },
2937
+ subTitle: {
2938
+ color: "@B50",
2939
+ fontSize: "12px"
2940
+ },
2941
+ footer: {
2942
+ color: "@B50",
2943
+ fontSize: "12px",
2944
+ backgroundColor: "transparent"
2945
+ }
2946
+ }
2947
+ };
2910
2948
  var scales = [
2911
2949
  {
2912
2950
  name: "Sequential Gradient",
@@ -3093,6 +3131,7 @@
3093
3131
  fontFamily: fontFamily,
3094
3132
  backgroundColor: backgroundColor$1,
3095
3133
  dataColors: dataColors,
3134
+ object: object$2,
3096
3135
  scales: scales,
3097
3136
  palettes: palettes
3098
3137
  };
@@ -3290,9 +3329,15 @@
3290
3329
  };
3291
3330
  },
3292
3331
  uiColor(c, shift) {
3332
+ const indexIsValid = typeof (c === null || c === void 0 ? void 0 : c.index) === 'number' && !Number.isNaN(c === null || c === void 0 ? void 0 : c.index);
3333
+ const colorIsValid = typeof (c === null || c === void 0 ? void 0 : c.color) === 'string';
3334
+ const somethingIsValid = indexIsValid || colorIsValid;
3335
+ if (!somethingIsValid) {
3336
+ return undefined;
3337
+ }
3293
3338
  // eslint-disable-next-line no-param-reassign
3294
3339
  shift = !!shift;
3295
- if (c.index < 0 || typeof c.index === 'undefined') {
3340
+ if ((c === null || c === void 0 ? void 0 : c.index) < 0 || typeof (c === null || c === void 0 ? void 0 : c.index) === 'undefined') {
3296
3341
  return c.color;
3297
3342
  }
3298
3343
  if (typeof uiPalette === 'undefined') {
@@ -6809,7 +6854,7 @@
6809
6854
  isPlainObject: isPlainObject
6810
6855
  });
6811
6856
 
6812
- const _excluded$S = ["values", "unit", "step"];
6857
+ const _excluded$T = ["values", "unit", "step"];
6813
6858
  const sortBreakpointsValues = values => {
6814
6859
  const breakpointsAsArray = Object.keys(values).map(key => ({
6815
6860
  key,
@@ -6843,7 +6888,7 @@
6843
6888
  unit = 'px',
6844
6889
  step = 5
6845
6890
  } = breakpoints,
6846
- other = _objectWithoutPropertiesLoose$2(breakpoints, _excluded$S);
6891
+ other = _objectWithoutPropertiesLoose$2(breakpoints, _excluded$T);
6847
6892
  const sortedValues = sortBreakpointsValues(values);
6848
6893
  const keys = Object.keys(sortedValues);
6849
6894
  function up(key) {
@@ -7963,7 +8008,7 @@
7963
8008
  return {};
7964
8009
  }
7965
8010
 
7966
- const _excluded$R = ["breakpoints", "palette", "spacing", "shape"];
8011
+ const _excluded$S = ["breakpoints", "palette", "spacing", "shape"];
7967
8012
  function createTheme$2(options = {}, ...args) {
7968
8013
  const {
7969
8014
  breakpoints: breakpointsInput = {},
@@ -7971,7 +8016,7 @@
7971
8016
  spacing: spacingInput,
7972
8017
  shape: shapeInput = {}
7973
8018
  } = options,
7974
- other = _objectWithoutPropertiesLoose$2(options, _excluded$R);
8019
+ other = _objectWithoutPropertiesLoose$2(options, _excluded$S);
7975
8020
  const breakpoints = createBreakpoints(breakpointsInput);
7976
8021
  const spacing = createSpacing(spacingInput);
7977
8022
  let muiTheme = deepmerge$1({
@@ -8029,7 +8074,7 @@
8029
8074
  });
8030
8075
  }
8031
8076
 
8032
- const _excluded$Q = ["sx"];
8077
+ const _excluded$R = ["sx"];
8033
8078
  const splitProps = props => {
8034
8079
  var _props$theme$unstable, _props$theme;
8035
8080
  const result = {
@@ -8050,7 +8095,7 @@
8050
8095
  const {
8051
8096
  sx: inSx
8052
8097
  } = props,
8053
- other = _objectWithoutPropertiesLoose$2(props, _excluded$Q);
8098
+ other = _objectWithoutPropertiesLoose$2(props, _excluded$R);
8054
8099
  const {
8055
8100
  systemProps,
8056
8101
  otherProps
@@ -8101,7 +8146,7 @@
8101
8146
 
8102
8147
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
8103
8148
 
8104
- const _excluded$P = ["className", "component"];
8149
+ const _excluded$Q = ["className", "component"];
8105
8150
  function createBox(options = {}) {
8106
8151
  const {
8107
8152
  themeId,
@@ -8119,7 +8164,7 @@
8119
8164
  className,
8120
8165
  component = 'div'
8121
8166
  } = _extendSxProp,
8122
- other = _objectWithoutPropertiesLoose$2(_extendSxProp, _excluded$P);
8167
+ other = _objectWithoutPropertiesLoose$2(_extendSxProp, _excluded$Q);
8123
8168
  return /*#__PURE__*/jsxRuntimeExports.jsx(BoxRoot, _extends$5({
8124
8169
  as: component,
8125
8170
  ref: ref,
@@ -8209,7 +8254,7 @@
8209
8254
  getFunctionName: getFunctionName
8210
8255
  });
8211
8256
 
8212
- const _excluded$O = ["ownerState"],
8257
+ const _excluded$P = ["ownerState"],
8213
8258
  _excluded2$6 = ["variants"],
8214
8259
  _excluded3$2 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8215
8260
  function isEmpty$3(obj) {
@@ -8253,7 +8298,7 @@
8253
8298
  let {
8254
8299
  ownerState
8255
8300
  } = _ref,
8256
- props = _objectWithoutPropertiesLoose$2(_ref, _excluded$O);
8301
+ props = _objectWithoutPropertiesLoose$2(_ref, _excluded$P);
8257
8302
  const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends$5({
8258
8303
  ownerState
8259
8304
  }, props)) : callableStyle;
@@ -8733,11 +8778,11 @@
8733
8778
 
8734
8779
  class Timeout {
8735
8780
  constructor() {
8736
- this.currentId = 0;
8781
+ this.currentId = null;
8737
8782
  this.clear = () => {
8738
- if (this.currentId !== 0) {
8783
+ if (this.currentId !== null) {
8739
8784
  clearTimeout(this.currentId);
8740
- this.currentId = 0;
8785
+ this.currentId = null;
8741
8786
  }
8742
8787
  };
8743
8788
  this.disposeEffect = () => {
@@ -8753,7 +8798,7 @@
8753
8798
  start(delay, fn) {
8754
8799
  this.clear();
8755
8800
  this.currentId = setTimeout(() => {
8756
- this.currentId = 0;
8801
+ this.currentId = null;
8757
8802
  fn();
8758
8803
  }, delay);
8759
8804
  }
@@ -8997,6 +9042,22 @@
8997
9042
  });
8998
9043
  }
8999
9044
 
9045
+ const _excluded$O = ["value"];
9046
+ const RtlContext = /*#__PURE__*/reactExports.createContext();
9047
+ function RtlProvider(_ref) {
9048
+ let {
9049
+ value
9050
+ } = _ref,
9051
+ props = _objectWithoutPropertiesLoose$2(_ref, _excluded$O);
9052
+ return /*#__PURE__*/jsxRuntimeExports.jsx(RtlContext.Provider, _extends$5({
9053
+ value: value != null ? value : true
9054
+ }, props));
9055
+ }
9056
+ const useRtl = () => {
9057
+ const value = reactExports.useContext(RtlContext);
9058
+ return value != null ? value : false;
9059
+ };
9060
+
9000
9061
  const EMPTY_THEME = {};
9001
9062
  function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
9002
9063
  return reactExports.useMemo(() => {
@@ -9036,11 +9097,15 @@
9036
9097
  const upperPrivateTheme = useTheme$3() || EMPTY_THEME;
9037
9098
  const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);
9038
9099
  const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);
9100
+ const rtlValue = engineTheme.direction === 'rtl';
9039
9101
  return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$2, {
9040
9102
  theme: privateTheme,
9041
9103
  children: /*#__PURE__*/jsxRuntimeExports.jsx(ThemeContext$2.Provider, {
9042
9104
  value: engineTheme,
9043
- children: children
9105
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(RtlProvider, {
9106
+ value: rtlValue,
9107
+ children: children
9108
+ })
9044
9109
  })
9045
9110
  });
9046
9111
  }
@@ -12033,7 +12098,7 @@
12033
12098
  function getButtonUtilityClass(slot) {
12034
12099
  return generateUtilityClass$1('MuiButton', slot);
12035
12100
  }
12036
- const buttonClasses = generateUtilityClasses$1('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
12101
+ const buttonClasses = generateUtilityClasses$1('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
12037
12102
  var buttonClasses$1 = buttonClasses;
12038
12103
 
12039
12104
  /**
@@ -12059,10 +12124,10 @@
12059
12124
  classes
12060
12125
  } = ownerState;
12061
12126
  const slots = {
12062
- root: ['root', variant, `${variant}${capitalize$1(color)}`, `size${capitalize$1(size)}`, `${variant}Size${capitalize$1(size)}`, color === 'inherit' && 'colorInherit', disableElevation && 'disableElevation', fullWidth && 'fullWidth'],
12127
+ root: ['root', variant, `${variant}${capitalize$1(color)}`, `size${capitalize$1(size)}`, `${variant}Size${capitalize$1(size)}`, `color${capitalize$1(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth'],
12063
12128
  label: ['label'],
12064
- startIcon: ['startIcon', `iconSize${capitalize$1(size)}`],
12065
- endIcon: ['endIcon', `iconSize${capitalize$1(size)}`]
12129
+ startIcon: ['icon', 'startIcon', `iconSize${capitalize$1(size)}`],
12130
+ endIcon: ['icon', 'endIcon', `iconSize${capitalize$1(size)}`]
12066
12131
  };
12067
12132
  const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);
12068
12133
  return _extends$7({}, classes, composedClasses);
@@ -12652,7 +12717,7 @@
12652
12717
  return cache[key];
12653
12718
  }
12654
12719
 
12655
- const NEBULA_VERSION_HASH = "03a3" ;
12720
+ const NEBULA_VERSION_HASH = "3232" ;
12656
12721
  ClassNameGenerator.configure(componentName => {
12657
12722
  return "njs-".concat(NEBULA_VERSION_HASH, "-").concat(componentName.replace('Mui', ''));
12658
12723
  });
@@ -12912,7 +12977,7 @@
12912
12977
  const appRef = React$1.createRef();
12913
12978
  const element = document.createElement('div');
12914
12979
  element.style.display = 'none';
12915
- element.setAttribute('data-nebulajs-version', "4.12.0" );
12980
+ element.setAttribute('data-nebulajs-version', "4.14.0" );
12916
12981
  element.setAttribute('data-app-id', app.id);
12917
12982
  document.body.appendChild(element);
12918
12983
  if (context) {
@@ -13447,6 +13512,254 @@
13447
13512
  return props;
13448
13513
  }
13449
13514
 
13515
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
13516
+ function createUseThemeProps(name) {
13517
+ return useThemeProps$1;
13518
+ }
13519
+
13520
+ function getIconButtonUtilityClass(slot) {
13521
+ return generateUtilityClass$1('MuiIconButton', slot);
13522
+ }
13523
+ const iconButtonClasses = generateUtilityClasses$1('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
13524
+
13525
+ const _excluded$z = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
13526
+ const useUtilityClasses$n = ownerState => {
13527
+ const {
13528
+ classes,
13529
+ disabled,
13530
+ color,
13531
+ edge,
13532
+ size
13533
+ } = ownerState;
13534
+ const slots = {
13535
+ root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize$1(color)}`, edge && `edge${capitalize$1(edge)}`, `size${capitalize$1(size)}`]
13536
+ };
13537
+ return composeClasses(slots, getIconButtonUtilityClass, classes);
13538
+ };
13539
+ const IconButtonRoot = styled(ButtonBase$1, {
13540
+ name: 'MuiIconButton',
13541
+ slot: 'Root',
13542
+ overridesResolver: (props, styles) => {
13543
+ const {
13544
+ ownerState
13545
+ } = props;
13546
+ return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize$1(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize$1(ownerState.edge)}`], styles[`size${capitalize$1(ownerState.size)}`]];
13547
+ }
13548
+ })(({
13549
+ theme,
13550
+ ownerState
13551
+ }) => _extends$7({
13552
+ textAlign: 'center',
13553
+ flex: '0 0 auto',
13554
+ fontSize: theme.typography.pxToRem(24),
13555
+ padding: 8,
13556
+ borderRadius: '50%',
13557
+ overflow: 'visible',
13558
+ // Explicitly set the default value to solve a bug on IE11.
13559
+ color: (theme.vars || theme).palette.action.active,
13560
+ transition: theme.transitions.create('background-color', {
13561
+ duration: theme.transitions.duration.shortest
13562
+ })
13563
+ }, !ownerState.disableRipple && {
13564
+ '&:hover': {
13565
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette.action.active, theme.palette.action.hoverOpacity),
13566
+ // Reset on touch devices, it doesn't add specificity
13567
+ '@media (hover: none)': {
13568
+ backgroundColor: 'transparent'
13569
+ }
13570
+ }
13571
+ }, ownerState.edge === 'start' && {
13572
+ marginLeft: ownerState.size === 'small' ? -3 : -12
13573
+ }, ownerState.edge === 'end' && {
13574
+ marginRight: ownerState.size === 'small' ? -3 : -12
13575
+ }), ({
13576
+ theme,
13577
+ ownerState
13578
+ }) => {
13579
+ var _palette;
13580
+ const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];
13581
+ return _extends$7({}, ownerState.color === 'inherit' && {
13582
+ color: 'inherit'
13583
+ }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends$7({
13584
+ color: palette == null ? void 0 : palette.main
13585
+ }, !ownerState.disableRipple && {
13586
+ '&:hover': _extends$7({}, palette && {
13587
+ backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(palette.main, theme.palette.action.hoverOpacity)
13588
+ }, {
13589
+ // Reset on touch devices, it doesn't add specificity
13590
+ '@media (hover: none)': {
13591
+ backgroundColor: 'transparent'
13592
+ }
13593
+ })
13594
+ }), ownerState.size === 'small' && {
13595
+ padding: 5,
13596
+ fontSize: theme.typography.pxToRem(18)
13597
+ }, ownerState.size === 'large' && {
13598
+ padding: 12,
13599
+ fontSize: theme.typography.pxToRem(28)
13600
+ }, {
13601
+ [`&.${iconButtonClasses.disabled}`]: {
13602
+ backgroundColor: 'transparent',
13603
+ color: (theme.vars || theme).palette.action.disabled
13604
+ }
13605
+ });
13606
+ });
13607
+
13608
+ /**
13609
+ * Refer to the [Icons](/material-ui/icons/) section of the documentation
13610
+ * regarding the available icon options.
13611
+ */
13612
+ const IconButton = /*#__PURE__*/reactExports.forwardRef(function IconButton(inProps, ref) {
13613
+ const props = useThemeProps$1({
13614
+ props: inProps,
13615
+ name: 'MuiIconButton'
13616
+ });
13617
+ const {
13618
+ edge = false,
13619
+ children,
13620
+ className,
13621
+ color = 'default',
13622
+ disabled = false,
13623
+ disableFocusRipple = false,
13624
+ size = 'medium'
13625
+ } = props,
13626
+ other = _objectWithoutPropertiesLoose$3(props, _excluded$z);
13627
+ const ownerState = _extends$7({}, props, {
13628
+ edge,
13629
+ color,
13630
+ disabled,
13631
+ disableFocusRipple,
13632
+ size
13633
+ });
13634
+ const classes = useUtilityClasses$n(ownerState);
13635
+ return /*#__PURE__*/jsxRuntimeExports.jsx(IconButtonRoot, _extends$7({
13636
+ className: clsx(classes.root, className),
13637
+ centerRipple: true,
13638
+ focusRipple: !disableFocusRipple,
13639
+ disabled: disabled,
13640
+ ref: ref
13641
+ }, other, {
13642
+ ownerState: ownerState,
13643
+ children: children
13644
+ }));
13645
+ });
13646
+ var IconButton$1 = IconButton;
13647
+
13648
+ function getTypographyUtilityClass(slot) {
13649
+ return generateUtilityClass$1('MuiTypography', slot);
13650
+ }
13651
+ generateUtilityClasses$1('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
13652
+
13653
+ const _excluded$y = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13654
+ const useUtilityClasses$m = ownerState => {
13655
+ const {
13656
+ align,
13657
+ gutterBottom,
13658
+ noWrap,
13659
+ paragraph,
13660
+ variant,
13661
+ classes
13662
+ } = ownerState;
13663
+ const slots = {
13664
+ root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize$1(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']
13665
+ };
13666
+ return composeClasses(slots, getTypographyUtilityClass, classes);
13667
+ };
13668
+ const TypographyRoot = styled('span', {
13669
+ name: 'MuiTypography',
13670
+ slot: 'Root',
13671
+ overridesResolver: (props, styles) => {
13672
+ const {
13673
+ ownerState
13674
+ } = props;
13675
+ return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize$1(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];
13676
+ }
13677
+ })(({
13678
+ theme,
13679
+ ownerState
13680
+ }) => _extends$7({
13681
+ margin: 0
13682
+ }, ownerState.variant === 'inherit' && {
13683
+ // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.
13684
+ font: 'inherit'
13685
+ }, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {
13686
+ textAlign: ownerState.align
13687
+ }, ownerState.noWrap && {
13688
+ overflow: 'hidden',
13689
+ textOverflow: 'ellipsis',
13690
+ whiteSpace: 'nowrap'
13691
+ }, ownerState.gutterBottom && {
13692
+ marginBottom: '0.35em'
13693
+ }, ownerState.paragraph && {
13694
+ marginBottom: 16
13695
+ }));
13696
+ const defaultVariantMapping = {
13697
+ h1: 'h1',
13698
+ h2: 'h2',
13699
+ h3: 'h3',
13700
+ h4: 'h4',
13701
+ h5: 'h5',
13702
+ h6: 'h6',
13703
+ subtitle1: 'h6',
13704
+ subtitle2: 'h6',
13705
+ body1: 'p',
13706
+ body2: 'p',
13707
+ inherit: 'p'
13708
+ };
13709
+
13710
+ // TODO v6: deprecate these color values in v5.x and remove the transformation in v6
13711
+ const colorTransformations = {
13712
+ primary: 'primary.main',
13713
+ textPrimary: 'text.primary',
13714
+ secondary: 'secondary.main',
13715
+ textSecondary: 'text.secondary',
13716
+ error: 'error.main'
13717
+ };
13718
+ const transformDeprecatedColors = color => {
13719
+ return colorTransformations[color] || color;
13720
+ };
13721
+ const Typography = /*#__PURE__*/reactExports.forwardRef(function Typography(inProps, ref) {
13722
+ const themeProps = useThemeProps$1({
13723
+ props: inProps,
13724
+ name: 'MuiTypography'
13725
+ });
13726
+ const color = transformDeprecatedColors(themeProps.color);
13727
+ const props = extendSxProp(_extends$7({}, themeProps, {
13728
+ color
13729
+ }));
13730
+ const {
13731
+ align = 'inherit',
13732
+ className,
13733
+ component,
13734
+ gutterBottom = false,
13735
+ noWrap = false,
13736
+ paragraph = false,
13737
+ variant = 'body1',
13738
+ variantMapping = defaultVariantMapping
13739
+ } = props,
13740
+ other = _objectWithoutPropertiesLoose$3(props, _excluded$y);
13741
+ const ownerState = _extends$7({}, props, {
13742
+ align,
13743
+ color,
13744
+ className,
13745
+ component,
13746
+ gutterBottom,
13747
+ noWrap,
13748
+ paragraph,
13749
+ variant,
13750
+ variantMapping
13751
+ });
13752
+ const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
13753
+ const classes = useUtilityClasses$m(ownerState);
13754
+ return /*#__PURE__*/jsxRuntimeExports.jsx(TypographyRoot, _extends$7({
13755
+ as: Component,
13756
+ ref: ref,
13757
+ ownerState: ownerState,
13758
+ className: clsx(classes.root, className)
13759
+ }, other));
13760
+ });
13761
+ var Typography$1 = Typography;
13762
+
13450
13763
  /**
13451
13764
  *
13452
13765
  * Demos:
@@ -16029,7 +16342,7 @@
16029
16342
  }
16030
16343
  generateUtilityClasses(COMPONENT_NAME, ['root']);
16031
16344
 
16032
- const _excluded$z = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
16345
+ const _excluded$x = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
16033
16346
  _excluded2$3 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
16034
16347
  function flipPlacement(placement, direction) {
16035
16348
  if (direction === 'ltr') {
@@ -16054,7 +16367,7 @@
16054
16367
  function isHTMLElement(element) {
16055
16368
  return element.nodeType !== undefined;
16056
16369
  }
16057
- const useUtilityClasses$n = () => {
16370
+ const useUtilityClasses$l = () => {
16058
16371
  const slots = {
16059
16372
  root: ['root']
16060
16373
  };
@@ -16079,7 +16392,7 @@
16079
16392
  // @ts-ignore internal logic
16080
16393
  // prevent from spreading to DOM, it can come from the parent component e.g. Select.
16081
16394
  } = props,
16082
- other = _objectWithoutPropertiesLoose(props, _excluded$z);
16395
+ other = _objectWithoutPropertiesLoose(props, _excluded$x);
16083
16396
  const tooltipRef = reactExports.useRef(null);
16084
16397
  const ownRef = useForkRef(tooltipRef, forwardedRef);
16085
16398
  const popperRef = reactExports.useRef(null);
@@ -16156,7 +16469,7 @@
16156
16469
  if (TransitionProps !== null) {
16157
16470
  childProps.TransitionProps = TransitionProps;
16158
16471
  }
16159
- const classes = useUtilityClasses$n();
16472
+ const classes = useUtilityClasses$l();
16160
16473
  const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';
16161
16474
  const rootProps = useSlotProps({
16162
16475
  elementType: Root,
@@ -16261,7 +16574,7 @@
16261
16574
  });
16262
16575
  });
16263
16576
 
16264
- const _excluded$y = ["onChange", "maxRows", "minRows", "style", "value"];
16577
+ const _excluded$w = ["onChange", "maxRows", "minRows", "style", "value"];
16265
16578
  function getStyleValue(value) {
16266
16579
  return parseInt(value, 10) || 0;
16267
16580
  }
@@ -16303,7 +16616,7 @@
16303
16616
  style,
16304
16617
  value
16305
16618
  } = props,
16306
- other = _objectWithoutPropertiesLoose(props, _excluded$y);
16619
+ other = _objectWithoutPropertiesLoose(props, _excluded$w);
16307
16620
  const {
16308
16621
  current: isControlled
16309
16622
  } = reactExports.useRef(value != null);
@@ -16414,7 +16727,8 @@
16414
16727
  ref: handleRef
16415
16728
  // Apply the rows prop to get a "correct" first SSR paint
16416
16729
  ,
16417
- rows: minRows
16730
+ rows: minRows,
16731
+ style: style
16418
16732
  }, other)), /*#__PURE__*/jsxRuntimeExports.jsx("textarea", {
16419
16733
  "aria-hidden": true,
16420
16734
  className: props.className,
@@ -16429,249 +16743,6 @@
16429
16743
  });
16430
16744
  });
16431
16745
 
16432
- function getIconButtonUtilityClass(slot) {
16433
- return generateUtilityClass$1('MuiIconButton', slot);
16434
- }
16435
- const iconButtonClasses = generateUtilityClasses$1('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
16436
-
16437
- const _excluded$x = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
16438
- const useUtilityClasses$m = ownerState => {
16439
- const {
16440
- classes,
16441
- disabled,
16442
- color,
16443
- edge,
16444
- size
16445
- } = ownerState;
16446
- const slots = {
16447
- root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize$1(color)}`, edge && `edge${capitalize$1(edge)}`, `size${capitalize$1(size)}`]
16448
- };
16449
- return composeClasses(slots, getIconButtonUtilityClass, classes);
16450
- };
16451
- const IconButtonRoot = styled(ButtonBase$1, {
16452
- name: 'MuiIconButton',
16453
- slot: 'Root',
16454
- overridesResolver: (props, styles) => {
16455
- const {
16456
- ownerState
16457
- } = props;
16458
- return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize$1(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize$1(ownerState.edge)}`], styles[`size${capitalize$1(ownerState.size)}`]];
16459
- }
16460
- })(({
16461
- theme,
16462
- ownerState
16463
- }) => _extends$7({
16464
- textAlign: 'center',
16465
- flex: '0 0 auto',
16466
- fontSize: theme.typography.pxToRem(24),
16467
- padding: 8,
16468
- borderRadius: '50%',
16469
- overflow: 'visible',
16470
- // Explicitly set the default value to solve a bug on IE11.
16471
- color: (theme.vars || theme).palette.action.active,
16472
- transition: theme.transitions.create('background-color', {
16473
- duration: theme.transitions.duration.shortest
16474
- })
16475
- }, !ownerState.disableRipple && {
16476
- '&:hover': {
16477
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette.action.active, theme.palette.action.hoverOpacity),
16478
- // Reset on touch devices, it doesn't add specificity
16479
- '@media (hover: none)': {
16480
- backgroundColor: 'transparent'
16481
- }
16482
- }
16483
- }, ownerState.edge === 'start' && {
16484
- marginLeft: ownerState.size === 'small' ? -3 : -12
16485
- }, ownerState.edge === 'end' && {
16486
- marginRight: ownerState.size === 'small' ? -3 : -12
16487
- }), ({
16488
- theme,
16489
- ownerState
16490
- }) => {
16491
- var _palette;
16492
- const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];
16493
- return _extends$7({}, ownerState.color === 'inherit' && {
16494
- color: 'inherit'
16495
- }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends$7({
16496
- color: palette == null ? void 0 : palette.main
16497
- }, !ownerState.disableRipple && {
16498
- '&:hover': _extends$7({}, palette && {
16499
- backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(palette.main, theme.palette.action.hoverOpacity)
16500
- }, {
16501
- // Reset on touch devices, it doesn't add specificity
16502
- '@media (hover: none)': {
16503
- backgroundColor: 'transparent'
16504
- }
16505
- })
16506
- }), ownerState.size === 'small' && {
16507
- padding: 5,
16508
- fontSize: theme.typography.pxToRem(18)
16509
- }, ownerState.size === 'large' && {
16510
- padding: 12,
16511
- fontSize: theme.typography.pxToRem(28)
16512
- }, {
16513
- [`&.${iconButtonClasses.disabled}`]: {
16514
- backgroundColor: 'transparent',
16515
- color: (theme.vars || theme).palette.action.disabled
16516
- }
16517
- });
16518
- });
16519
-
16520
- /**
16521
- * Refer to the [Icons](/material-ui/icons/) section of the documentation
16522
- * regarding the available icon options.
16523
- */
16524
- const IconButton = /*#__PURE__*/reactExports.forwardRef(function IconButton(inProps, ref) {
16525
- const props = useThemeProps$1({
16526
- props: inProps,
16527
- name: 'MuiIconButton'
16528
- });
16529
- const {
16530
- edge = false,
16531
- children,
16532
- className,
16533
- color = 'default',
16534
- disabled = false,
16535
- disableFocusRipple = false,
16536
- size = 'medium'
16537
- } = props,
16538
- other = _objectWithoutPropertiesLoose$3(props, _excluded$x);
16539
- const ownerState = _extends$7({}, props, {
16540
- edge,
16541
- color,
16542
- disabled,
16543
- disableFocusRipple,
16544
- size
16545
- });
16546
- const classes = useUtilityClasses$m(ownerState);
16547
- return /*#__PURE__*/jsxRuntimeExports.jsx(IconButtonRoot, _extends$7({
16548
- className: clsx(classes.root, className),
16549
- centerRipple: true,
16550
- focusRipple: !disableFocusRipple,
16551
- disabled: disabled,
16552
- ref: ref
16553
- }, other, {
16554
- ownerState: ownerState,
16555
- children: children
16556
- }));
16557
- });
16558
- var IconButton$1 = IconButton;
16559
-
16560
- function getTypographyUtilityClass(slot) {
16561
- return generateUtilityClass$1('MuiTypography', slot);
16562
- }
16563
- generateUtilityClasses$1('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
16564
-
16565
- const _excluded$w = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
16566
- const useUtilityClasses$l = ownerState => {
16567
- const {
16568
- align,
16569
- gutterBottom,
16570
- noWrap,
16571
- paragraph,
16572
- variant,
16573
- classes
16574
- } = ownerState;
16575
- const slots = {
16576
- root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize$1(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']
16577
- };
16578
- return composeClasses(slots, getTypographyUtilityClass, classes);
16579
- };
16580
- const TypographyRoot = styled('span', {
16581
- name: 'MuiTypography',
16582
- slot: 'Root',
16583
- overridesResolver: (props, styles) => {
16584
- const {
16585
- ownerState
16586
- } = props;
16587
- return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize$1(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];
16588
- }
16589
- })(({
16590
- theme,
16591
- ownerState
16592
- }) => _extends$7({
16593
- margin: 0
16594
- }, ownerState.variant === 'inherit' && {
16595
- // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.
16596
- font: 'inherit'
16597
- }, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {
16598
- textAlign: ownerState.align
16599
- }, ownerState.noWrap && {
16600
- overflow: 'hidden',
16601
- textOverflow: 'ellipsis',
16602
- whiteSpace: 'nowrap'
16603
- }, ownerState.gutterBottom && {
16604
- marginBottom: '0.35em'
16605
- }, ownerState.paragraph && {
16606
- marginBottom: 16
16607
- }));
16608
- const defaultVariantMapping = {
16609
- h1: 'h1',
16610
- h2: 'h2',
16611
- h3: 'h3',
16612
- h4: 'h4',
16613
- h5: 'h5',
16614
- h6: 'h6',
16615
- subtitle1: 'h6',
16616
- subtitle2: 'h6',
16617
- body1: 'p',
16618
- body2: 'p',
16619
- inherit: 'p'
16620
- };
16621
-
16622
- // TODO v6: deprecate these color values in v5.x and remove the transformation in v6
16623
- const colorTransformations = {
16624
- primary: 'primary.main',
16625
- textPrimary: 'text.primary',
16626
- secondary: 'secondary.main',
16627
- textSecondary: 'text.secondary',
16628
- error: 'error.main'
16629
- };
16630
- const transformDeprecatedColors = color => {
16631
- return colorTransformations[color] || color;
16632
- };
16633
- const Typography = /*#__PURE__*/reactExports.forwardRef(function Typography(inProps, ref) {
16634
- const themeProps = useThemeProps$1({
16635
- props: inProps,
16636
- name: 'MuiTypography'
16637
- });
16638
- const color = transformDeprecatedColors(themeProps.color);
16639
- const props = extendSxProp(_extends$7({}, themeProps, {
16640
- color
16641
- }));
16642
- const {
16643
- align = 'inherit',
16644
- className,
16645
- component,
16646
- gutterBottom = false,
16647
- noWrap = false,
16648
- paragraph = false,
16649
- variant = 'body1',
16650
- variantMapping = defaultVariantMapping
16651
- } = props,
16652
- other = _objectWithoutPropertiesLoose$3(props, _excluded$w);
16653
- const ownerState = _extends$7({}, props, {
16654
- align,
16655
- color,
16656
- className,
16657
- component,
16658
- gutterBottom,
16659
- noWrap,
16660
- paragraph,
16661
- variant,
16662
- variantMapping
16663
- });
16664
- const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
16665
- const classes = useUtilityClasses$l(ownerState);
16666
- return /*#__PURE__*/jsxRuntimeExports.jsx(TypographyRoot, _extends$7({
16667
- as: Component,
16668
- ref: ref,
16669
- ownerState: ownerState,
16670
- className: clsx(classes.root, className)
16671
- }, other));
16672
- });
16673
- var Typography$1 = Typography;
16674
-
16675
16746
  var useThemeWithoutDefault = {};
16676
16747
 
16677
16748
  Object.defineProperty(useThemeWithoutDefault, "__esModule", {
@@ -17466,11 +17537,6 @@
17466
17537
  });
17467
17538
  var Backdrop$1 = Backdrop;
17468
17539
 
17469
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17470
- function createUseThemeProps(name) {
17471
- return useThemeProps$1;
17472
- }
17473
-
17474
17540
  function getBadgeUtilityClass(slot) {
17475
17541
  return generateUtilityClass$1('MuiBadge', slot);
17476
17542
  }
@@ -20121,13 +20187,15 @@
20121
20187
  }
20122
20188
  }, [autoFocus]);
20123
20189
  reactExports.useImperativeHandle(actions, () => ({
20124
- adjustStyleForScrollbar: (containerElement, theme) => {
20190
+ adjustStyleForScrollbar: (containerElement, {
20191
+ direction
20192
+ }) => {
20125
20193
  // Let's ignore that piece of logic if users are already overriding the width
20126
20194
  // of the menu.
20127
20195
  const noExplicitWidth = !listRef.current.style.width;
20128
20196
  if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {
20129
20197
  const scrollbarSize = `${getScrollbarSize$1(ownerDocument(containerElement))}px`;
20130
- listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
20198
+ listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
20131
20199
  listRef.current.style.width = `calc(100% + ${scrollbarSize})`;
20132
20200
  }
20133
20201
  return listRef.current;
@@ -21381,11 +21449,11 @@
21381
21449
  y: 0
21382
21450
  };
21383
21451
  function composeEventHandler(handler, eventHandler) {
21384
- return event => {
21452
+ return (event, ...params) => {
21385
21453
  if (eventHandler) {
21386
- eventHandler(event);
21454
+ eventHandler(event, ...params);
21387
21455
  }
21388
- handler(event);
21456
+ handler(event, ...params);
21389
21457
  };
21390
21458
  }
21391
21459
 
@@ -21432,7 +21500,7 @@
21432
21500
  children: childrenProp
21433
21501
  });
21434
21502
  const theme = useTheme$2();
21435
- const isRtl = theme.direction === 'rtl';
21503
+ const isRtl = useRtl();
21436
21504
  const [childNode, setChildNode] = reactExports.useState();
21437
21505
  const [arrowRef, setArrowRef] = reactExports.useState(null);
21438
21506
  const ignoreNonTouchEvents = reactExports.useRef(false);
@@ -22821,31 +22889,52 @@
22821
22889
  } = _ref;
22822
22890
  return (isAlternative(cell) || isExcluded(cell)) && checkboxes;
22823
22891
  };
22824
- const getValueStateClasses = _ref2 => {
22892
+ function getSelectionStateClass(_ref2) {
22893
+ let {
22894
+ cell,
22895
+ showGray
22896
+ } = _ref2;
22897
+ let selectionStateClass;
22898
+ switch (cell.qState) {
22899
+ case 'XS':
22900
+ selectionStateClass = showGray ? rowColClasses.XS : rowColClasses.S;
22901
+ break;
22902
+ case 'S':
22903
+ case 'L':
22904
+ selectionStateClass = rowColClasses.S;
22905
+ break;
22906
+ case 'A':
22907
+ selectionStateClass = showGray ? rowColClasses.A : false;
22908
+ break;
22909
+ case 'X':
22910
+ case 'XL':
22911
+ selectionStateClass = showGray ? rowColClasses.X : false;
22912
+ break;
22913
+ default:
22914
+ selectionStateClass = false;
22915
+ }
22916
+ return selectionStateClass;
22917
+ }
22918
+ const getValueStateClasses = _ref3 => {
22825
22919
  let {
22826
22920
  column,
22827
22921
  histogram,
22828
- checkboxes,
22829
22922
  cell,
22830
22923
  showGray
22831
- } = _ref2;
22924
+ } = _ref3;
22925
+ if (!cell) {
22926
+ return [];
22927
+ }
22832
22928
  const clazzArr = [column ? rowColClasses.column : rowColClasses.row];
22833
22929
  if (!histogram) {
22834
22930
  clazzArr.push(rowColClasses.rowBorderBottom);
22835
22931
  }
22836
- if (!cell) {
22837
- return [];
22838
- }
22839
- if (!checkboxes) {
22840
- if (cell.qState === 'XS') {
22841
- clazzArr.push(showGray ? rowColClasses.XS : rowColClasses.S);
22842
- } else if (cell.qState === 'S' || cell.qState === 'L') {
22843
- clazzArr.push(rowColClasses.S);
22844
- } else if (showGray && isAlternative(cell)) {
22845
- clazzArr.push(rowColClasses.A);
22846
- } else if (showGray && isExcluded(cell)) {
22847
- clazzArr.push(rowColClasses.X);
22848
- }
22932
+ const selectionStateClass = getSelectionStateClass({
22933
+ cell,
22934
+ showGray
22935
+ });
22936
+ if (selectionStateClass) {
22937
+ clazzArr.push(selectionStateClass);
22849
22938
  }
22850
22939
  return clazzArr;
22851
22940
  };
@@ -22912,15 +23001,27 @@
22912
23001
  }
22913
23002
  return sizes.freqMaxWidth;
22914
23003
  };
22915
- const getSelectedStyle = _ref3 => {
23004
+ const getRowSelectionStyle = _ref3 => {
22916
23005
  let {
22917
23006
  theme,
23007
+ checkboxes,
22918
23008
  styles,
22919
- selectedState
23009
+ selectionState
22920
23010
  } = _ref3;
23011
+ if (checkboxes) {
23012
+ if (selectionState === 'selected') {
23013
+ return {
23014
+ ["& .".concat(rowColClasses.labelText)]: {
23015
+ // Override labels (value and frequency count) color when selected.
23016
+ color: styles.selections.selected
23017
+ }
23018
+ };
23019
+ }
23020
+ return {};
23021
+ }
22921
23022
  const selectionStyles = styles.selections;
22922
- const backgroundColor = selectionStyles[selectedState];
22923
- const contrastTextColor = selectionStyles["".concat(selectedState, "Contrast")];
23023
+ const backgroundColor = selectionStyles[selectionState];
23024
+ const contrastTextColor = selectionStyles["".concat(selectionState, "Contrast")];
22924
23025
  return {
22925
23026
  background: backgroundColor,
22926
23027
  color: contrastTextColor,
@@ -22966,16 +23067,29 @@
22966
23067
  } = _ref4;
22967
23068
  const _styles$content = styles.content,
22968
23069
  contentFontStyles = _objectWithoutProperties(_styles$content, _excluded$5);
22969
- const selectStyle = getSelectedStyle({
23070
+ const rowSelectionStyle = getRowSelectionStyle({
22970
23071
  theme,
22971
23072
  styles,
22972
- selectedState: 'selected'
23073
+ checkboxes,
23074
+ selectionState: 'selected'
22973
23075
  });
22974
- const excludedSelectStyle = getSelectedStyle({
23076
+ const rowExcludedStyle = getRowSelectionStyle({
22975
23077
  theme,
22976
23078
  styles,
22977
- selectedState: 'excluded'
23079
+ checkboxes,
23080
+ selectionState: 'excluded'
22978
23081
  });
23082
+ const barDefaultFilledStyle = {
23083
+ height: '100%',
23084
+ transition: 'width 0.2s',
23085
+ border: "".concat(barBorderWidthPx, "px solid"),
23086
+ borderColor: '#D9D9D9',
23087
+ // overridden by selected color (classes.S),
23088
+ backgroundColor: '#FAFAFA'
23089
+ };
23090
+ const barSelectedFilledStyle = {
23091
+ opacity: '30%'
23092
+ };
22979
23093
  return {
22980
23094
  '&:focus': {
22981
23095
  boxShadow: "inset 0 0 0 2px ".concat(theme.palette.custom.focusBorder, " !important")
@@ -23057,26 +23171,33 @@
23057
23171
  color: contentFontStyles.color
23058
23172
  },
23059
23173
  // Selection styles (S=Selected, XS=ExcludedSelected, A=Alternative, X=Excluded).
23060
- ["& .".concat(rowColClasses.S)]: _objectSpread2(_objectSpread2({}, selectStyle), {}, {
23174
+ ["& .".concat(rowColClasses.S)]: _objectSpread2(_objectSpread2({}, rowSelectionStyle), {}, {
23061
23175
  border: isGridMode ? 'none' : undefined
23062
23176
  }),
23063
- ["& .".concat(rowColClasses.XS)]: _objectSpread2(_objectSpread2({}, getSelectedStyle({
23177
+ ["& .".concat(rowColClasses.XS)]: _objectSpread2(_objectSpread2({}, getRowSelectionStyle({
23064
23178
  theme,
23065
23179
  styles,
23066
- selectedState: 'selectedExcluded'
23180
+ checkboxes,
23181
+ selectionState: 'selectedExcluded'
23067
23182
  })), {}, {
23068
23183
  border: isGridMode ? 'none' : undefined
23069
23184
  }),
23070
- ["& .".concat(rowColClasses.A)]: _objectSpread2(_objectSpread2({}, getSelectedStyle({
23185
+ ["& .".concat(rowColClasses.A)]: _objectSpread2(_objectSpread2({}, getRowSelectionStyle({
23071
23186
  theme,
23072
23187
  styles,
23073
- selectedState: 'alternative'
23188
+ checkboxes,
23189
+ selectionState: 'alternative'
23074
23190
  })), {}, {
23075
23191
  border: isGridMode ? 'none' : undefined
23076
23192
  }),
23077
- ["& .".concat(rowColClasses.X)]: _objectSpread2(_objectSpread2({}, excludedSelectStyle), {}, {
23193
+ ["& .".concat(rowColClasses.X)]: _objectSpread2(_objectSpread2({}, rowExcludedStyle), {}, {
23078
23194
  border: isGridMode ? 'none' : undefined
23079
23195
  }),
23196
+ ["& .".concat(rowColClasses.X, ", & .").concat(rowColClasses.XS)]: {
23197
+ // Override the selected color for bar-filled, when the value is selected and excluded.
23198
+ border: isGridMode ? 'none' : undefined,
23199
+ ["& .".concat(rowColClasses.barSelected, " .bar-filled")]: _objectSpread2({}, barDefaultFilledStyle)
23200
+ },
23080
23201
  ["& .".concat(rowColClasses.frequencyCount)]: _objectSpread2(_objectSpread2({
23081
23202
  zIndex: 3,
23082
23203
  justifyContent: 'flex-end'
@@ -23112,33 +23233,23 @@
23112
23233
  width: "calc(100% - ".concat(barPadPx * 2, "px)"),
23113
23234
  display: 'flex',
23114
23235
  alignItems: 'center',
23115
- '& .bar-filled': {
23116
- border: "".concat(barBorderWidthPx, "px solid"),
23117
- borderColor: '#D9D9D9',
23118
- transition: 'width 0.2s',
23119
- backgroundColor: '#FAFAFA',
23120
- height: '100%'
23121
- }
23236
+ '& .bar-filled': _objectSpread2({}, barDefaultFilledStyle)
23122
23237
  },
23123
23238
  ["& .".concat(rowColClasses.barSelected)]: {
23124
- '& .bar-filled': {
23125
- opacity: '30%',
23126
- background: theme.palette.background.lighter
23127
- }
23239
+ '& .bar-filled': _objectSpread2({}, barSelectedFilledStyle)
23128
23240
  },
23129
23241
  ["& .".concat(rowColClasses.barWithCheckbox)]: {
23130
23242
  left: direction === 'rtl' ? barPadPx : barWithCheckboxLeftPadPx,
23131
23243
  width: "calc(100% - ".concat(barWithCheckboxLeftPadPx + barPadPx, "px)")
23132
23244
  },
23133
23245
  ["& .".concat(rowColClasses.barSelectedWithCheckbox)]: {
23134
- '& .bar-filled': {
23135
- opacity: '30%',
23136
- background: selectStyle.background || '#BFE5D0',
23137
- borderColor: selectStyle.background || '#BFE5D0'
23138
- }
23246
+ '& .bar-filled': _objectSpread2(_objectSpread2({}, barSelectedFilledStyle), {}, {
23247
+ backgroundColor: styles.selections.selected || '#BFE5D0',
23248
+ borderColor: styles.selections.selected
23249
+ })
23139
23250
  },
23140
23251
  ["& .".concat(rowColClasses.excludedTextWithCheckbox)]: {
23141
- color: '#828282',
23252
+ color: styles.content.color,
23142
23253
  fontStyle: 'italic'
23143
23254
  }
23144
23255
  };
@@ -24101,10 +24212,9 @@
24101
24212
  const classArr = reactExports.useMemo(() => getValueStateClasses({
24102
24213
  column,
24103
24214
  histogram,
24104
- checkboxes,
24105
24215
  cell,
24106
24216
  showGray
24107
- }), [cell === null || cell === void 0 ? void 0 : cell.qState, histogram, dense, checkboxes]);
24217
+ }), [cell === null || cell === void 0 ? void 0 : cell.qState, histogram, dense]);
24108
24218
  const preventContextMenu = reactExports.useCallback(event => {
24109
24219
  event.preventDefault();
24110
24220
  }, [checkboxes]);
@@ -27599,6 +27709,9 @@
27599
27709
  transformOrigin: popoverTransformOrigin,
27600
27710
  hideBackdrop: true,
27601
27711
  style: popoverStyle,
27712
+ onMouseDown: e => {
27713
+ e.stopPropagation(); // prevent click through, closing when it should not
27714
+ },
27602
27715
  slotProps: {
27603
27716
  paper: {
27604
27717
  id: 'njs-action-toolbar-popover',
@@ -27623,8 +27736,10 @@
27623
27736
  });
27624
27737
  var SearchIcon = (props => SvgIcon(search(props)));
27625
27738
 
27739
+ const MAX_SEARCH_LENGTH = 64000;
27626
27740
  const TREE_PATH = '/qListObjectDef';
27627
27741
  const WILDCARD = '**';
27742
+ const limitSearchLength = val => val === null || val === void 0 ? void 0 : val.substring(0, MAX_SEARCH_LENGTH);
27628
27743
  const StyledOutlinedInput = styled(OutlinedInput$1, {
27629
27744
  shouldForwardProp: p => !['styles', 'dense', 'isRtl'].includes(p)
27630
27745
  })(_ref => {
@@ -27733,11 +27848,12 @@
27733
27848
  setStoreValue('inputText', value);
27734
27849
  }, [value]);
27735
27850
  const onChange = async e => {
27736
- setValue(e.target.value);
27737
- if (!e.target.value.length) {
27851
+ const searchValue = limitSearchLength(e.target.value);
27852
+ setValue(searchValue);
27853
+ if (!searchValue.length) {
27738
27854
  return abortSearch();
27739
27855
  }
27740
- return model.searchListObjectFor(TREE_PATH, e.target.value);
27856
+ return model.searchListObjectFor(TREE_PATH, searchValue);
27741
27857
  };
27742
27858
  const handleFocus = () => {
27743
27859
  if (wildCardSearch) {
@@ -27754,11 +27870,12 @@
27754
27870
  };
27755
27871
  const performSearch = async () => {
27756
27872
  let response;
27757
- const success = await model.searchListObjectFor(TREE_PATH, value);
27873
+ const searchValue = limitSearchLength(value);
27874
+ const success = await model.searchListObjectFor(TREE_PATH, searchValue);
27758
27875
  if (selectionState.selectDisabled()) {
27759
27876
  return success;
27760
27877
  }
27761
- if (success && value.length && hasHits()) {
27878
+ if (success && searchValue.length && hasHits()) {
27762
27879
  response = model.acceptListObjectSearch(TREE_PATH, true);
27763
27880
  // eslint-disable-next-line no-param-reassign
27764
27881
  selections.selectionsMade = true;
@@ -30035,6 +30152,7 @@
30035
30152
  const fontStyle = unfurlFontStyle(textProps.fontStyle, target);
30036
30153
  return {
30037
30154
  fontFamily: textProps.fontFamily || theme.getStyle("object.".concat(objectType), "title.".concat(target), 'fontFamily'),
30155
+ fontSize: textProps.fontSize || theme.getStyle("object.".concat(objectType), "title.".concat(target), 'fontSize'),
30038
30156
  color: textProps.color && textProps.color.color !== 'none' ? theme.getColorPickerColor(textProps.color, true) : theme.getStyle("object.".concat(objectType), target, 'color'),
30039
30157
  fontWeight: fontStyle.includes('bold') ? 'bold' : 'normal',
30040
30158
  fontStyle: fontStyle.includes('italic') ? 'italic' : 'normal',
@@ -31540,6 +31658,7 @@
31540
31658
  defaultWidth,
31541
31659
  disableHeight = false,
31542
31660
  disableWidth = false,
31661
+ doNotBailOutOnEmptyChildren = false,
31543
31662
  nonce,
31544
31663
  onResize,
31545
31664
  style = {},
@@ -31580,6 +31699,9 @@
31580
31699
  childParams.width = width;
31581
31700
  childParams.scaledWidth = scaledWidth;
31582
31701
  }
31702
+ if (doNotBailOutOnEmptyChildren) {
31703
+ bailoutOnChildren = false;
31704
+ }
31583
31705
  return reactExports.createElement(tagName, {
31584
31706
  ref: this._setRef,
31585
31707
  style: {
@@ -31861,16 +31983,6 @@
31861
31983
  return containerPadding;
31862
31984
  }
31863
31985
 
31864
- const drillDown = props => _objectSpread2(_objectSpread2({}, props), {}, {
31865
- shapes: [{
31866
- type: 'path',
31867
- attrs: {
31868
- d: 'M15.9993744,3 L15.9993744,5 L4.99937445,5 L4.99937445,3 L15.9993744,3 Z M8.99937445,7 L15.9993744,7 L15.9993744,9 L8.99937445,9 L8.99937445,7 Z M11.9993744,11 L15.9993744,11 L15.9993744,13 L11.9993744,13 L11.9993744,11 Z M2.2,11 L7,11 L7,9.00369263 C7,8.89323568 7.08954305,8.80369263 7.2,8.80369263 C7.2549016,8.80369263 7.30738916,8.82626165 7.34515712,8.86610844 L10.1852182,11.8624926 C10.2583124,11.93961 10.258346,12.0604218 10.1852948,12.13758 L7.34523376,15.1373102 C7.2692928,15.2175206 7.14270711,15.2209817 7.06249671,15.1450407 C7.02260076,15.1072683 7,15.0547472 7,14.9998069 L7,12.9043747 C4.79351111,12.9043747 2.8018683,12.9266213 1.02507156,12.9711145 L1.02507252,12.9711526 C0.472939773,12.9849787 0.014139487,12.5485949 0.000313396522,11.9964622 C0.000104473692,11.988119 -1.32268838e-12,11.9797736 -1.3231638e-12,11.9714278 L-1.83320026e-12,3 L2,3 L2,10.8 C2,10.9104569 2.08954305,11 2.2,11 Z'
31869
- }
31870
- }]
31871
- });
31872
- var DrillDownIcon = (props => SvgIcon(drillDown(props)));
31873
-
31874
31986
  function showToolbarDetached(_ref) {
31875
31987
  var _titleRef$current$cli, _titleRef$current, _titleRef$current2, _titleRef$current3;
31876
31988
  let {
@@ -32026,6 +32138,112 @@
32026
32138
  return component;
32027
32139
  }
32028
32140
 
32141
+ const cyclic = props => _objectSpread2(_objectSpread2({}, props), {}, {
32142
+ shapes: [{
32143
+ type: 'path',
32144
+ attrs: {
32145
+ d: 'M 6 2 h 10 V 1 H 6 Z m 5 5 h 5 V 6 h -5 Z m 5 5 h -5 v -1 h 5 Z M 5 10 h 1 v 2.663 a 3.5 3.5 0 1 0 -2.922 0.036 l -0.406 0.914 A 4.501 4.501 0 1 1 7.329 13 H 9 v 1 H 5 Z'
32146
+ }
32147
+ }]
32148
+ });
32149
+ var CyclicIcon = (props => SvgIcon(cyclic(props)));
32150
+
32151
+ const drillDown = props => _objectSpread2(_objectSpread2({}, props), {}, {
32152
+ shapes: [{
32153
+ type: 'path',
32154
+ attrs: {
32155
+ d: 'M7 4h9v1H7zm2 4h7v1H9zm2 4h5v1h-5zM1 4v3.526a3.5 3.5 0 0 0 3.5 3.5h2.31L5.22 9.402l.715-.7L8.7 11.527 5.935 14.35l-.714-.7 1.59-1.624H4.5a4.5 4.5 0 0 1-4.5-4.5V4z'
32156
+ }
32157
+ }]
32158
+ });
32159
+ var DrillDownIcon = (props => SvgIcon(drillDown(props)));
32160
+
32161
+ const reload = props => _objectSpread2(_objectSpread2({}, props), {}, {
32162
+ shapes: [{
32163
+ type: 'path',
32164
+ attrs: {
32165
+ d: 'M1 8a7 7 0 1 1 10 6.326V11h-1v5h5v-1h-3.124A8 8 0 1 0 8 16v-1a7 7 0 0 1-7-7Z'
32166
+ }
32167
+ }]
32168
+ });
32169
+ var ReloadIcon = (props => SvgIcon(reload(props)));
32170
+
32171
+ const dimensionTypes = {
32172
+ single: 'N',
32173
+ drillDown: 'H',
32174
+ cyclic: 'C'
32175
+ };
32176
+ const createDimensionIconData = (dimInfo, app) => {
32177
+ switch (dimInfo.qGrouping) {
32178
+ case dimensionTypes.drillDown:
32179
+ return {
32180
+ icon: DrillDownIcon,
32181
+ tooltip: 'Listbox.DrillDown',
32182
+ onClick: undefined
32183
+ };
32184
+ case dimensionTypes.cyclic:
32185
+ return {
32186
+ icon: app ? ReloadIcon : CyclicIcon,
32187
+ tooltip: 'Listbox.Cyclic',
32188
+ onClick: app ? () => {
32189
+ app.getDimension(dimInfo.qLibraryId).then(dimensionModel => {
32190
+ if (!dimensionModel.stepCycle) {
32191
+ // eslint-disable-next-line no-console
32192
+ console.log("engine api spec version doesn't have support for function stepCycle");
32193
+ return;
32194
+ }
32195
+ dimensionModel.stepCycle(1);
32196
+ }).catch(() => null);
32197
+ } : undefined
32198
+ };
32199
+ default:
32200
+ return undefined;
32201
+ }
32202
+ };
32203
+ var iconUtils = {
32204
+ createDimensionIconData
32205
+ };
32206
+
32207
+ const StyledButton = styled(Button$1)(() => ({
32208
+ borderRadius: 4,
32209
+ width: 24,
32210
+ height: 24,
32211
+ minWidth: 22,
32212
+ padding: 0
32213
+ }));
32214
+ function DimensionIcon(_ref) {
32215
+ let {
32216
+ iconData,
32217
+ translator,
32218
+ iconStyle
32219
+ } = _ref;
32220
+ if (!iconData) return undefined;
32221
+ const {
32222
+ icon,
32223
+ tooltip,
32224
+ onClick
32225
+ } = iconData;
32226
+ const Icon = icon;
32227
+ const title = translator.get(tooltip);
32228
+ const isButton = onClick;
32229
+ return isButton ? /*#__PURE__*/React$1.createElement(StyledButton, {
32230
+ variant: "outlined",
32231
+ onClick: onClick,
32232
+ tabIndex: -1,
32233
+ title: title,
32234
+ size: "large",
32235
+ disableRipple: true
32236
+ }, /*#__PURE__*/React$1.createElement(Icon, {
32237
+ style: iconStyle
32238
+ })) : /*#__PURE__*/React$1.createElement(Icon, {
32239
+ title: title,
32240
+ size: "large",
32241
+ style: _objectSpread2(_objectSpread2({}, iconStyle), {}, {
32242
+ padding: "".concat(ICON_PADDING, "px")
32243
+ })
32244
+ });
32245
+ }
32246
+
32029
32247
  // ms that needs to pass before the lock button can be toggled again
32030
32248
  const lockTimeFrameMs = 500;
32031
32249
  let lastTime = 0;
@@ -32060,7 +32278,7 @@
32060
32278
  };
32061
32279
  }
32062
32280
  function ListBoxHeader(_ref2) {
32063
- var _layout$qListObject, _layout$qListObject3;
32281
+ var _layout$qListObject, _layout$qListObject3, _layout$qListObject4;
32064
32282
  let {
32065
32283
  layout,
32066
32284
  translator,
@@ -32068,7 +32286,6 @@
32068
32286
  isRtl,
32069
32287
  showLock,
32070
32288
  showSearchIcon,
32071
- isDrillDown,
32072
32289
  constraints,
32073
32290
  onShowSearch,
32074
32291
  classes,
@@ -32082,7 +32299,8 @@
32082
32299
  isDirectQuery,
32083
32300
  selections,
32084
32301
  keyboard,
32085
- autoConfirm
32302
+ autoConfirm,
32303
+ app
32086
32304
  } = _ref2;
32087
32305
  const [isToolbarDetached, setIsToolbarDetached] = reactExports.useState(showDetachedToolbarOnly);
32088
32306
  const [isLocked, setLocked] = reactExports.useState(layout === null || layout === void 0 || (_layout$qListObject = layout.qListObject) === null || _layout$qListObject === void 0 || (_layout$qListObject = _layout$qListObject.qDimensionInfo) === null || _layout$qListObject === void 0 ? void 0 : _layout$qListObject.qLocked);
@@ -32092,15 +32310,16 @@
32092
32310
  setLocked(layout === null || layout === void 0 || (_layout$qListObject2 = layout.qListObject) === null || _layout$qListObject2 === void 0 || (_layout$qListObject2 = _layout$qListObject2.qDimensionInfo) === null || _layout$qListObject2 === void 0 ? void 0 : _layout$qListObject2.qLocked);
32093
32311
  }, [layout === null || layout === void 0 || (_layout$qListObject3 = layout.qListObject) === null || _layout$qListObject3 === void 0 || (_layout$qListObject3 = _layout$qListObject3.qDimensionInfo) === null || _layout$qListObject3 === void 0 ? void 0 : _layout$qListObject3.qLocked]);
32094
32312
  const titleRef = reactExports.useRef(null);
32313
+ const iconData = iconUtils.createDimensionIconData(layout === null || layout === void 0 || (_layout$qListObject4 = layout.qListObject) === null || _layout$qListObject4 === void 0 ? void 0 : _layout$qListObject4.qDimensionInfo, app);
32095
32314
  const showUnlock = showLock && isLocked;
32096
32315
  const showLockIcon = !showLock && isLocked; // shows instead of the cover button when field/dim is locked.
32097
- const showLeftIcon = showSearchIcon || showLockIcon || isDrillDown; // the left-most icon outside of the actions/selections toolbar.
32316
+ const showLeftIcon = showSearchIcon || showLockIcon || iconData; // the left-most icon outside of the actions/selections toolbar.
32098
32317
 
32099
32318
  const paddingLeft = CELL_PADDING_LEFT - (showLeftIcon ? ICON_PADDING : 0);
32100
32319
  const paddingRight = isRtl ? CELL_PADDING_LEFT - (showLeftIcon ? ICON_PADDING : 0) : HEADER_PADDING_RIGHT;
32101
32320
 
32102
32321
  // Calculate explicit width for icons container. Search and lock cannot exist combined.
32103
- const iconsWidth = (showSearchIcon ? BUTTON_ICON_WIDTH : 0) + (showLockIcon ? BUTTON_ICON_WIDTH : 0) + (isDrillDown ? BUTTON_ICON_WIDTH : 0);
32322
+ const iconsWidth = (showSearchIcon ? BUTTON_ICON_WIDTH : 0) + (showLockIcon ? BUTTON_ICON_WIDTH : 0) + (iconData ? BUTTON_ICON_WIDTH : 0);
32104
32323
  const toggleLock = getToggleLock({
32105
32324
  isLocked,
32106
32325
  setLocked,
@@ -32199,12 +32418,10 @@
32199
32418
  alignItems: "center",
32200
32419
  width: iconsWidth,
32201
32420
  className: "header-action-container"
32202
- }, lockedIconComp || showSearchIcon && searchIconComp, isDrillDown && /*#__PURE__*/React$1.createElement(DrillDownIcon, {
32203
- tabIndex: -1,
32204
- title: translator.get('Listbox.DrillDown'),
32205
- style: _objectSpread2(_objectSpread2({}, iconStyle), {}, {
32206
- padding: "".concat(ICON_PADDING, "px")
32207
- })
32421
+ }, lockedIconComp || showSearchIcon && searchIconComp, /*#__PURE__*/React$1.createElement(DimensionIcon, {
32422
+ iconData: iconData,
32423
+ iconStyle: iconStyle,
32424
+ translator: translator
32208
32425
  })), /*#__PURE__*/React$1.createElement(Grid$1, {
32209
32426
  item: true,
32210
32427
  xs: true,
@@ -32274,7 +32491,7 @@
32274
32491
  return (_app$isInModalSelecti = (_app$isInModalSelecti2 = app.isInModalSelection) === null || _app$isInModalSelecti2 === void 0 ? void 0 : _app$isInModalSelecti2.call(app)) !== null && _app$isInModalSelecti !== void 0 ? _app$isInModalSelecti : appSelections.isInModal();
32275
32492
  };
32276
32493
  function ListBoxInline(_ref3) {
32277
- var _layout$qListObject, _layout$qListObject2, _layout$title, _layoutOptions$dense, _containerRef$current;
32494
+ var _layout$qListObject, _layout$title, _layoutOptions$dense, _containerRef$current;
32278
32495
  let {
32279
32496
  options,
32280
32497
  layout
@@ -32440,7 +32657,6 @@
32440
32657
  } = layout !== null && layout !== void 0 ? layout : {};
32441
32658
  const isLocked = layout === null || layout === void 0 || (_layout$qListObject = layout.qListObject) === null || _layout$qListObject === void 0 || (_layout$qListObject = _layout$qListObject.qDimensionInfo) === null || _layout$qListObject === void 0 ? void 0 : _layout$qListObject.qLocked;
32442
32659
  const showSearchIcon = searchEnabled !== false && search === 'toggle' && !isLocked;
32443
- const isDrillDown = (layout === null || layout === void 0 || (_layout$qListObject2 = layout.qListObject) === null || _layout$qListObject2 === void 0 || (_layout$qListObject2 = _layout$qListObject2.qDimensionInfo) === null || _layout$qListObject2 === void 0 ? void 0 : _layout$qListObject2.qGrouping) === 'H';
32444
32660
  const canShowTitle = (layout === null || layout === void 0 || (_layout$title = layout.title) === null || _layout$title === void 0 ? void 0 : _layout$title.length) && (layout === null || layout === void 0 ? void 0 : layout.showTitle) !== false;
32445
32661
  const showDetachedToolbarOnly = toolbar && !canShowTitle && !isPopover;
32446
32662
  const showAttachedToolbar = toolbar && canShowTitle || isPopover;
@@ -32478,8 +32694,8 @@
32478
32694
  }
32479
32695
  const listBoxMinHeight = showAttachedToolbar ? DENSE_ROW_HEIGHT + SCROLL_BAR_WIDTH : 0;
32480
32696
  const listBoxHeader = /*#__PURE__*/React$1.createElement(ListBoxHeader, {
32697
+ app: app,
32481
32698
  showSearchIcon: showSearchIcon,
32482
- isDrillDown: isDrillDown,
32483
32699
  onShowSearch: handleShowSearch,
32484
32700
  isPopover: isPopover,
32485
32701
  showToolbar: showToolbar,
@@ -41176,7 +41392,10 @@
41176
41392
  themes: [],
41177
41393
  anything: {},
41178
41394
  flags: {
41179
- KPI_REACTCOLORPICKER: true
41395
+ KPI_REACTCOLORPICKER: true,
41396
+ IM_1869_HIDE_DIM_MEA_LINE: true,
41397
+ IM_1579_HIDE_DIM_MEA: true,
41398
+ CLIENT_IM_3365: true
41180
41399
  },
41181
41400
  snapshot: DEFAULT_SNAPSHOT_CONFIG
41182
41401
  };