@nebula.js/stardust 4.13.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.13.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,
@@ -6833,7 +6854,7 @@
6833
6854
  isPlainObject: isPlainObject
6834
6855
  });
6835
6856
 
6836
- const _excluded$S = ["values", "unit", "step"];
6857
+ const _excluded$T = ["values", "unit", "step"];
6837
6858
  const sortBreakpointsValues = values => {
6838
6859
  const breakpointsAsArray = Object.keys(values).map(key => ({
6839
6860
  key,
@@ -6867,7 +6888,7 @@
6867
6888
  unit = 'px',
6868
6889
  step = 5
6869
6890
  } = breakpoints,
6870
- other = _objectWithoutPropertiesLoose$2(breakpoints, _excluded$S);
6891
+ other = _objectWithoutPropertiesLoose$2(breakpoints, _excluded$T);
6871
6892
  const sortedValues = sortBreakpointsValues(values);
6872
6893
  const keys = Object.keys(sortedValues);
6873
6894
  function up(key) {
@@ -7987,7 +8008,7 @@
7987
8008
  return {};
7988
8009
  }
7989
8010
 
7990
- const _excluded$R = ["breakpoints", "palette", "spacing", "shape"];
8011
+ const _excluded$S = ["breakpoints", "palette", "spacing", "shape"];
7991
8012
  function createTheme$2(options = {}, ...args) {
7992
8013
  const {
7993
8014
  breakpoints: breakpointsInput = {},
@@ -7995,7 +8016,7 @@
7995
8016
  spacing: spacingInput,
7996
8017
  shape: shapeInput = {}
7997
8018
  } = options,
7998
- other = _objectWithoutPropertiesLoose$2(options, _excluded$R);
8019
+ other = _objectWithoutPropertiesLoose$2(options, _excluded$S);
7999
8020
  const breakpoints = createBreakpoints(breakpointsInput);
8000
8021
  const spacing = createSpacing(spacingInput);
8001
8022
  let muiTheme = deepmerge$1({
@@ -8053,7 +8074,7 @@
8053
8074
  });
8054
8075
  }
8055
8076
 
8056
- const _excluded$Q = ["sx"];
8077
+ const _excluded$R = ["sx"];
8057
8078
  const splitProps = props => {
8058
8079
  var _props$theme$unstable, _props$theme;
8059
8080
  const result = {
@@ -8074,7 +8095,7 @@
8074
8095
  const {
8075
8096
  sx: inSx
8076
8097
  } = props,
8077
- other = _objectWithoutPropertiesLoose$2(props, _excluded$Q);
8098
+ other = _objectWithoutPropertiesLoose$2(props, _excluded$R);
8078
8099
  const {
8079
8100
  systemProps,
8080
8101
  otherProps
@@ -8125,7 +8146,7 @@
8125
8146
 
8126
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}
8127
8148
 
8128
- const _excluded$P = ["className", "component"];
8149
+ const _excluded$Q = ["className", "component"];
8129
8150
  function createBox(options = {}) {
8130
8151
  const {
8131
8152
  themeId,
@@ -8143,7 +8164,7 @@
8143
8164
  className,
8144
8165
  component = 'div'
8145
8166
  } = _extendSxProp,
8146
- other = _objectWithoutPropertiesLoose$2(_extendSxProp, _excluded$P);
8167
+ other = _objectWithoutPropertiesLoose$2(_extendSxProp, _excluded$Q);
8147
8168
  return /*#__PURE__*/jsxRuntimeExports.jsx(BoxRoot, _extends$5({
8148
8169
  as: component,
8149
8170
  ref: ref,
@@ -8233,7 +8254,7 @@
8233
8254
  getFunctionName: getFunctionName
8234
8255
  });
8235
8256
 
8236
- const _excluded$O = ["ownerState"],
8257
+ const _excluded$P = ["ownerState"],
8237
8258
  _excluded2$6 = ["variants"],
8238
8259
  _excluded3$2 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8239
8260
  function isEmpty$3(obj) {
@@ -8277,7 +8298,7 @@
8277
8298
  let {
8278
8299
  ownerState
8279
8300
  } = _ref,
8280
- props = _objectWithoutPropertiesLoose$2(_ref, _excluded$O);
8301
+ props = _objectWithoutPropertiesLoose$2(_ref, _excluded$P);
8281
8302
  const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends$5({
8282
8303
  ownerState
8283
8304
  }, props)) : callableStyle;
@@ -8757,11 +8778,11 @@
8757
8778
 
8758
8779
  class Timeout {
8759
8780
  constructor() {
8760
- this.currentId = 0;
8781
+ this.currentId = null;
8761
8782
  this.clear = () => {
8762
- if (this.currentId !== 0) {
8783
+ if (this.currentId !== null) {
8763
8784
  clearTimeout(this.currentId);
8764
- this.currentId = 0;
8785
+ this.currentId = null;
8765
8786
  }
8766
8787
  };
8767
8788
  this.disposeEffect = () => {
@@ -8777,7 +8798,7 @@
8777
8798
  start(delay, fn) {
8778
8799
  this.clear();
8779
8800
  this.currentId = setTimeout(() => {
8780
- this.currentId = 0;
8801
+ this.currentId = null;
8781
8802
  fn();
8782
8803
  }, delay);
8783
8804
  }
@@ -9021,6 +9042,22 @@
9021
9042
  });
9022
9043
  }
9023
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
+
9024
9061
  const EMPTY_THEME = {};
9025
9062
  function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
9026
9063
  return reactExports.useMemo(() => {
@@ -9060,11 +9097,15 @@
9060
9097
  const upperPrivateTheme = useTheme$3() || EMPTY_THEME;
9061
9098
  const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);
9062
9099
  const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);
9100
+ const rtlValue = engineTheme.direction === 'rtl';
9063
9101
  return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$2, {
9064
9102
  theme: privateTheme,
9065
9103
  children: /*#__PURE__*/jsxRuntimeExports.jsx(ThemeContext$2.Provider, {
9066
9104
  value: engineTheme,
9067
- children: children
9105
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(RtlProvider, {
9106
+ value: rtlValue,
9107
+ children: children
9108
+ })
9068
9109
  })
9069
9110
  });
9070
9111
  }
@@ -12057,7 +12098,7 @@
12057
12098
  function getButtonUtilityClass(slot) {
12058
12099
  return generateUtilityClass$1('MuiButton', slot);
12059
12100
  }
12060
- 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']);
12061
12102
  var buttonClasses$1 = buttonClasses;
12062
12103
 
12063
12104
  /**
@@ -12083,10 +12124,10 @@
12083
12124
  classes
12084
12125
  } = ownerState;
12085
12126
  const slots = {
12086
- 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'],
12087
12128
  label: ['label'],
12088
- startIcon: ['startIcon', `iconSize${capitalize$1(size)}`],
12089
- endIcon: ['endIcon', `iconSize${capitalize$1(size)}`]
12129
+ startIcon: ['icon', 'startIcon', `iconSize${capitalize$1(size)}`],
12130
+ endIcon: ['icon', 'endIcon', `iconSize${capitalize$1(size)}`]
12090
12131
  };
12091
12132
  const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);
12092
12133
  return _extends$7({}, classes, composedClasses);
@@ -12676,7 +12717,7 @@
12676
12717
  return cache[key];
12677
12718
  }
12678
12719
 
12679
- const NEBULA_VERSION_HASH = "3ebc" ;
12720
+ const NEBULA_VERSION_HASH = "3232" ;
12680
12721
  ClassNameGenerator.configure(componentName => {
12681
12722
  return "njs-".concat(NEBULA_VERSION_HASH, "-").concat(componentName.replace('Mui', ''));
12682
12723
  });
@@ -12936,7 +12977,7 @@
12936
12977
  const appRef = React$1.createRef();
12937
12978
  const element = document.createElement('div');
12938
12979
  element.style.display = 'none';
12939
- element.setAttribute('data-nebulajs-version', "4.13.0" );
12980
+ element.setAttribute('data-nebulajs-version', "4.14.0" );
12940
12981
  element.setAttribute('data-app-id', app.id);
12941
12982
  document.body.appendChild(element);
12942
12983
  if (context) {
@@ -13471,6 +13512,254 @@
13471
13512
  return props;
13472
13513
  }
13473
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
+
13474
13763
  /**
13475
13764
  *
13476
13765
  * Demos:
@@ -16053,7 +16342,7 @@
16053
16342
  }
16054
16343
  generateUtilityClasses(COMPONENT_NAME, ['root']);
16055
16344
 
16056
- 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"],
16057
16346
  _excluded2$3 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
16058
16347
  function flipPlacement(placement, direction) {
16059
16348
  if (direction === 'ltr') {
@@ -16078,7 +16367,7 @@
16078
16367
  function isHTMLElement(element) {
16079
16368
  return element.nodeType !== undefined;
16080
16369
  }
16081
- const useUtilityClasses$n = () => {
16370
+ const useUtilityClasses$l = () => {
16082
16371
  const slots = {
16083
16372
  root: ['root']
16084
16373
  };
@@ -16103,7 +16392,7 @@
16103
16392
  // @ts-ignore internal logic
16104
16393
  // prevent from spreading to DOM, it can come from the parent component e.g. Select.
16105
16394
  } = props,
16106
- other = _objectWithoutPropertiesLoose(props, _excluded$z);
16395
+ other = _objectWithoutPropertiesLoose(props, _excluded$x);
16107
16396
  const tooltipRef = reactExports.useRef(null);
16108
16397
  const ownRef = useForkRef(tooltipRef, forwardedRef);
16109
16398
  const popperRef = reactExports.useRef(null);
@@ -16180,7 +16469,7 @@
16180
16469
  if (TransitionProps !== null) {
16181
16470
  childProps.TransitionProps = TransitionProps;
16182
16471
  }
16183
- const classes = useUtilityClasses$n();
16472
+ const classes = useUtilityClasses$l();
16184
16473
  const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';
16185
16474
  const rootProps = useSlotProps({
16186
16475
  elementType: Root,
@@ -16285,7 +16574,7 @@
16285
16574
  });
16286
16575
  });
16287
16576
 
16288
- const _excluded$y = ["onChange", "maxRows", "minRows", "style", "value"];
16577
+ const _excluded$w = ["onChange", "maxRows", "minRows", "style", "value"];
16289
16578
  function getStyleValue(value) {
16290
16579
  return parseInt(value, 10) || 0;
16291
16580
  }
@@ -16327,7 +16616,7 @@
16327
16616
  style,
16328
16617
  value
16329
16618
  } = props,
16330
- other = _objectWithoutPropertiesLoose(props, _excluded$y);
16619
+ other = _objectWithoutPropertiesLoose(props, _excluded$w);
16331
16620
  const {
16332
16621
  current: isControlled
16333
16622
  } = reactExports.useRef(value != null);
@@ -16438,7 +16727,8 @@
16438
16727
  ref: handleRef
16439
16728
  // Apply the rows prop to get a "correct" first SSR paint
16440
16729
  ,
16441
- rows: minRows
16730
+ rows: minRows,
16731
+ style: style
16442
16732
  }, other)), /*#__PURE__*/jsxRuntimeExports.jsx("textarea", {
16443
16733
  "aria-hidden": true,
16444
16734
  className: props.className,
@@ -16453,249 +16743,6 @@
16453
16743
  });
16454
16744
  });
16455
16745
 
16456
- function getIconButtonUtilityClass(slot) {
16457
- return generateUtilityClass$1('MuiIconButton', slot);
16458
- }
16459
- const iconButtonClasses = generateUtilityClasses$1('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
16460
-
16461
- const _excluded$x = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
16462
- const useUtilityClasses$m = ownerState => {
16463
- const {
16464
- classes,
16465
- disabled,
16466
- color,
16467
- edge,
16468
- size
16469
- } = ownerState;
16470
- const slots = {
16471
- root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize$1(color)}`, edge && `edge${capitalize$1(edge)}`, `size${capitalize$1(size)}`]
16472
- };
16473
- return composeClasses(slots, getIconButtonUtilityClass, classes);
16474
- };
16475
- const IconButtonRoot = styled(ButtonBase$1, {
16476
- name: 'MuiIconButton',
16477
- slot: 'Root',
16478
- overridesResolver: (props, styles) => {
16479
- const {
16480
- ownerState
16481
- } = props;
16482
- 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)}`]];
16483
- }
16484
- })(({
16485
- theme,
16486
- ownerState
16487
- }) => _extends$7({
16488
- textAlign: 'center',
16489
- flex: '0 0 auto',
16490
- fontSize: theme.typography.pxToRem(24),
16491
- padding: 8,
16492
- borderRadius: '50%',
16493
- overflow: 'visible',
16494
- // Explicitly set the default value to solve a bug on IE11.
16495
- color: (theme.vars || theme).palette.action.active,
16496
- transition: theme.transitions.create('background-color', {
16497
- duration: theme.transitions.duration.shortest
16498
- })
16499
- }, !ownerState.disableRipple && {
16500
- '&:hover': {
16501
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette.action.active, theme.palette.action.hoverOpacity),
16502
- // Reset on touch devices, it doesn't add specificity
16503
- '@media (hover: none)': {
16504
- backgroundColor: 'transparent'
16505
- }
16506
- }
16507
- }, ownerState.edge === 'start' && {
16508
- marginLeft: ownerState.size === 'small' ? -3 : -12
16509
- }, ownerState.edge === 'end' && {
16510
- marginRight: ownerState.size === 'small' ? -3 : -12
16511
- }), ({
16512
- theme,
16513
- ownerState
16514
- }) => {
16515
- var _palette;
16516
- const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];
16517
- return _extends$7({}, ownerState.color === 'inherit' && {
16518
- color: 'inherit'
16519
- }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends$7({
16520
- color: palette == null ? void 0 : palette.main
16521
- }, !ownerState.disableRipple && {
16522
- '&:hover': _extends$7({}, palette && {
16523
- backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(palette.main, theme.palette.action.hoverOpacity)
16524
- }, {
16525
- // Reset on touch devices, it doesn't add specificity
16526
- '@media (hover: none)': {
16527
- backgroundColor: 'transparent'
16528
- }
16529
- })
16530
- }), ownerState.size === 'small' && {
16531
- padding: 5,
16532
- fontSize: theme.typography.pxToRem(18)
16533
- }, ownerState.size === 'large' && {
16534
- padding: 12,
16535
- fontSize: theme.typography.pxToRem(28)
16536
- }, {
16537
- [`&.${iconButtonClasses.disabled}`]: {
16538
- backgroundColor: 'transparent',
16539
- color: (theme.vars || theme).palette.action.disabled
16540
- }
16541
- });
16542
- });
16543
-
16544
- /**
16545
- * Refer to the [Icons](/material-ui/icons/) section of the documentation
16546
- * regarding the available icon options.
16547
- */
16548
- const IconButton = /*#__PURE__*/reactExports.forwardRef(function IconButton(inProps, ref) {
16549
- const props = useThemeProps$1({
16550
- props: inProps,
16551
- name: 'MuiIconButton'
16552
- });
16553
- const {
16554
- edge = false,
16555
- children,
16556
- className,
16557
- color = 'default',
16558
- disabled = false,
16559
- disableFocusRipple = false,
16560
- size = 'medium'
16561
- } = props,
16562
- other = _objectWithoutPropertiesLoose$3(props, _excluded$x);
16563
- const ownerState = _extends$7({}, props, {
16564
- edge,
16565
- color,
16566
- disabled,
16567
- disableFocusRipple,
16568
- size
16569
- });
16570
- const classes = useUtilityClasses$m(ownerState);
16571
- return /*#__PURE__*/jsxRuntimeExports.jsx(IconButtonRoot, _extends$7({
16572
- className: clsx(classes.root, className),
16573
- centerRipple: true,
16574
- focusRipple: !disableFocusRipple,
16575
- disabled: disabled,
16576
- ref: ref
16577
- }, other, {
16578
- ownerState: ownerState,
16579
- children: children
16580
- }));
16581
- });
16582
- var IconButton$1 = IconButton;
16583
-
16584
- function getTypographyUtilityClass(slot) {
16585
- return generateUtilityClass$1('MuiTypography', slot);
16586
- }
16587
- 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']);
16588
-
16589
- const _excluded$w = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
16590
- const useUtilityClasses$l = ownerState => {
16591
- const {
16592
- align,
16593
- gutterBottom,
16594
- noWrap,
16595
- paragraph,
16596
- variant,
16597
- classes
16598
- } = ownerState;
16599
- const slots = {
16600
- root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize$1(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']
16601
- };
16602
- return composeClasses(slots, getTypographyUtilityClass, classes);
16603
- };
16604
- const TypographyRoot = styled('span', {
16605
- name: 'MuiTypography',
16606
- slot: 'Root',
16607
- overridesResolver: (props, styles) => {
16608
- const {
16609
- ownerState
16610
- } = props;
16611
- 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];
16612
- }
16613
- })(({
16614
- theme,
16615
- ownerState
16616
- }) => _extends$7({
16617
- margin: 0
16618
- }, ownerState.variant === 'inherit' && {
16619
- // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.
16620
- font: 'inherit'
16621
- }, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {
16622
- textAlign: ownerState.align
16623
- }, ownerState.noWrap && {
16624
- overflow: 'hidden',
16625
- textOverflow: 'ellipsis',
16626
- whiteSpace: 'nowrap'
16627
- }, ownerState.gutterBottom && {
16628
- marginBottom: '0.35em'
16629
- }, ownerState.paragraph && {
16630
- marginBottom: 16
16631
- }));
16632
- const defaultVariantMapping = {
16633
- h1: 'h1',
16634
- h2: 'h2',
16635
- h3: 'h3',
16636
- h4: 'h4',
16637
- h5: 'h5',
16638
- h6: 'h6',
16639
- subtitle1: 'h6',
16640
- subtitle2: 'h6',
16641
- body1: 'p',
16642
- body2: 'p',
16643
- inherit: 'p'
16644
- };
16645
-
16646
- // TODO v6: deprecate these color values in v5.x and remove the transformation in v6
16647
- const colorTransformations = {
16648
- primary: 'primary.main',
16649
- textPrimary: 'text.primary',
16650
- secondary: 'secondary.main',
16651
- textSecondary: 'text.secondary',
16652
- error: 'error.main'
16653
- };
16654
- const transformDeprecatedColors = color => {
16655
- return colorTransformations[color] || color;
16656
- };
16657
- const Typography = /*#__PURE__*/reactExports.forwardRef(function Typography(inProps, ref) {
16658
- const themeProps = useThemeProps$1({
16659
- props: inProps,
16660
- name: 'MuiTypography'
16661
- });
16662
- const color = transformDeprecatedColors(themeProps.color);
16663
- const props = extendSxProp(_extends$7({}, themeProps, {
16664
- color
16665
- }));
16666
- const {
16667
- align = 'inherit',
16668
- className,
16669
- component,
16670
- gutterBottom = false,
16671
- noWrap = false,
16672
- paragraph = false,
16673
- variant = 'body1',
16674
- variantMapping = defaultVariantMapping
16675
- } = props,
16676
- other = _objectWithoutPropertiesLoose$3(props, _excluded$w);
16677
- const ownerState = _extends$7({}, props, {
16678
- align,
16679
- color,
16680
- className,
16681
- component,
16682
- gutterBottom,
16683
- noWrap,
16684
- paragraph,
16685
- variant,
16686
- variantMapping
16687
- });
16688
- const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
16689
- const classes = useUtilityClasses$l(ownerState);
16690
- return /*#__PURE__*/jsxRuntimeExports.jsx(TypographyRoot, _extends$7({
16691
- as: Component,
16692
- ref: ref,
16693
- ownerState: ownerState,
16694
- className: clsx(classes.root, className)
16695
- }, other));
16696
- });
16697
- var Typography$1 = Typography;
16698
-
16699
16746
  var useThemeWithoutDefault = {};
16700
16747
 
16701
16748
  Object.defineProperty(useThemeWithoutDefault, "__esModule", {
@@ -17490,11 +17537,6 @@
17490
17537
  });
17491
17538
  var Backdrop$1 = Backdrop;
17492
17539
 
17493
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17494
- function createUseThemeProps(name) {
17495
- return useThemeProps$1;
17496
- }
17497
-
17498
17540
  function getBadgeUtilityClass(slot) {
17499
17541
  return generateUtilityClass$1('MuiBadge', slot);
17500
17542
  }
@@ -20145,13 +20187,15 @@
20145
20187
  }
20146
20188
  }, [autoFocus]);
20147
20189
  reactExports.useImperativeHandle(actions, () => ({
20148
- adjustStyleForScrollbar: (containerElement, theme) => {
20190
+ adjustStyleForScrollbar: (containerElement, {
20191
+ direction
20192
+ }) => {
20149
20193
  // Let's ignore that piece of logic if users are already overriding the width
20150
20194
  // of the menu.
20151
20195
  const noExplicitWidth = !listRef.current.style.width;
20152
20196
  if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {
20153
20197
  const scrollbarSize = `${getScrollbarSize$1(ownerDocument(containerElement))}px`;
20154
- listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
20198
+ listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
20155
20199
  listRef.current.style.width = `calc(100% + ${scrollbarSize})`;
20156
20200
  }
20157
20201
  return listRef.current;
@@ -21405,11 +21449,11 @@
21405
21449
  y: 0
21406
21450
  };
21407
21451
  function composeEventHandler(handler, eventHandler) {
21408
- return event => {
21452
+ return (event, ...params) => {
21409
21453
  if (eventHandler) {
21410
- eventHandler(event);
21454
+ eventHandler(event, ...params);
21411
21455
  }
21412
- handler(event);
21456
+ handler(event, ...params);
21413
21457
  };
21414
21458
  }
21415
21459
 
@@ -21456,7 +21500,7 @@
21456
21500
  children: childrenProp
21457
21501
  });
21458
21502
  const theme = useTheme$2();
21459
- const isRtl = theme.direction === 'rtl';
21503
+ const isRtl = useRtl();
21460
21504
  const [childNode, setChildNode] = reactExports.useState();
21461
21505
  const [arrowRef, setArrowRef] = reactExports.useState(null);
21462
21506
  const ignoreNonTouchEvents = reactExports.useRef(false);
@@ -22845,31 +22889,52 @@
22845
22889
  } = _ref;
22846
22890
  return (isAlternative(cell) || isExcluded(cell)) && checkboxes;
22847
22891
  };
22848
- 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 => {
22849
22919
  let {
22850
22920
  column,
22851
22921
  histogram,
22852
- checkboxes,
22853
22922
  cell,
22854
22923
  showGray
22855
- } = _ref2;
22924
+ } = _ref3;
22925
+ if (!cell) {
22926
+ return [];
22927
+ }
22856
22928
  const clazzArr = [column ? rowColClasses.column : rowColClasses.row];
22857
22929
  if (!histogram) {
22858
22930
  clazzArr.push(rowColClasses.rowBorderBottom);
22859
22931
  }
22860
- if (!cell) {
22861
- return [];
22862
- }
22863
- if (!checkboxes) {
22864
- if (cell.qState === 'XS') {
22865
- clazzArr.push(showGray ? rowColClasses.XS : rowColClasses.S);
22866
- } else if (cell.qState === 'S' || cell.qState === 'L') {
22867
- clazzArr.push(rowColClasses.S);
22868
- } else if (showGray && isAlternative(cell)) {
22869
- clazzArr.push(rowColClasses.A);
22870
- } else if (showGray && isExcluded(cell)) {
22871
- clazzArr.push(rowColClasses.X);
22872
- }
22932
+ const selectionStateClass = getSelectionStateClass({
22933
+ cell,
22934
+ showGray
22935
+ });
22936
+ if (selectionStateClass) {
22937
+ clazzArr.push(selectionStateClass);
22873
22938
  }
22874
22939
  return clazzArr;
22875
22940
  };
@@ -22936,15 +23001,27 @@
22936
23001
  }
22937
23002
  return sizes.freqMaxWidth;
22938
23003
  };
22939
- const getSelectedStyle = _ref3 => {
23004
+ const getRowSelectionStyle = _ref3 => {
22940
23005
  let {
22941
23006
  theme,
23007
+ checkboxes,
22942
23008
  styles,
22943
- selectedState
23009
+ selectionState
22944
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
+ }
22945
23022
  const selectionStyles = styles.selections;
22946
- const backgroundColor = selectionStyles[selectedState];
22947
- const contrastTextColor = selectionStyles["".concat(selectedState, "Contrast")];
23023
+ const backgroundColor = selectionStyles[selectionState];
23024
+ const contrastTextColor = selectionStyles["".concat(selectionState, "Contrast")];
22948
23025
  return {
22949
23026
  background: backgroundColor,
22950
23027
  color: contrastTextColor,
@@ -22990,16 +23067,29 @@
22990
23067
  } = _ref4;
22991
23068
  const _styles$content = styles.content,
22992
23069
  contentFontStyles = _objectWithoutProperties(_styles$content, _excluded$5);
22993
- const selectStyle = getSelectedStyle({
23070
+ const rowSelectionStyle = getRowSelectionStyle({
22994
23071
  theme,
22995
23072
  styles,
22996
- selectedState: 'selected'
23073
+ checkboxes,
23074
+ selectionState: 'selected'
22997
23075
  });
22998
- const excludedSelectStyle = getSelectedStyle({
23076
+ const rowExcludedStyle = getRowSelectionStyle({
22999
23077
  theme,
23000
23078
  styles,
23001
- selectedState: 'excluded'
23079
+ checkboxes,
23080
+ selectionState: 'excluded'
23002
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
+ };
23003
23093
  return {
23004
23094
  '&:focus': {
23005
23095
  boxShadow: "inset 0 0 0 2px ".concat(theme.palette.custom.focusBorder, " !important")
@@ -23081,26 +23171,33 @@
23081
23171
  color: contentFontStyles.color
23082
23172
  },
23083
23173
  // Selection styles (S=Selected, XS=ExcludedSelected, A=Alternative, X=Excluded).
23084
- ["& .".concat(rowColClasses.S)]: _objectSpread2(_objectSpread2({}, selectStyle), {}, {
23174
+ ["& .".concat(rowColClasses.S)]: _objectSpread2(_objectSpread2({}, rowSelectionStyle), {}, {
23085
23175
  border: isGridMode ? 'none' : undefined
23086
23176
  }),
23087
- ["& .".concat(rowColClasses.XS)]: _objectSpread2(_objectSpread2({}, getSelectedStyle({
23177
+ ["& .".concat(rowColClasses.XS)]: _objectSpread2(_objectSpread2({}, getRowSelectionStyle({
23088
23178
  theme,
23089
23179
  styles,
23090
- selectedState: 'selectedExcluded'
23180
+ checkboxes,
23181
+ selectionState: 'selectedExcluded'
23091
23182
  })), {}, {
23092
23183
  border: isGridMode ? 'none' : undefined
23093
23184
  }),
23094
- ["& .".concat(rowColClasses.A)]: _objectSpread2(_objectSpread2({}, getSelectedStyle({
23185
+ ["& .".concat(rowColClasses.A)]: _objectSpread2(_objectSpread2({}, getRowSelectionStyle({
23095
23186
  theme,
23096
23187
  styles,
23097
- selectedState: 'alternative'
23188
+ checkboxes,
23189
+ selectionState: 'alternative'
23098
23190
  })), {}, {
23099
23191
  border: isGridMode ? 'none' : undefined
23100
23192
  }),
23101
- ["& .".concat(rowColClasses.X)]: _objectSpread2(_objectSpread2({}, excludedSelectStyle), {}, {
23193
+ ["& .".concat(rowColClasses.X)]: _objectSpread2(_objectSpread2({}, rowExcludedStyle), {}, {
23102
23194
  border: isGridMode ? 'none' : undefined
23103
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
+ },
23104
23201
  ["& .".concat(rowColClasses.frequencyCount)]: _objectSpread2(_objectSpread2({
23105
23202
  zIndex: 3,
23106
23203
  justifyContent: 'flex-end'
@@ -23136,33 +23233,23 @@
23136
23233
  width: "calc(100% - ".concat(barPadPx * 2, "px)"),
23137
23234
  display: 'flex',
23138
23235
  alignItems: 'center',
23139
- '& .bar-filled': {
23140
- border: "".concat(barBorderWidthPx, "px solid"),
23141
- borderColor: '#D9D9D9',
23142
- transition: 'width 0.2s',
23143
- backgroundColor: '#FAFAFA',
23144
- height: '100%'
23145
- }
23236
+ '& .bar-filled': _objectSpread2({}, barDefaultFilledStyle)
23146
23237
  },
23147
23238
  ["& .".concat(rowColClasses.barSelected)]: {
23148
- '& .bar-filled': {
23149
- opacity: '30%',
23150
- background: theme.palette.background.lighter
23151
- }
23239
+ '& .bar-filled': _objectSpread2({}, barSelectedFilledStyle)
23152
23240
  },
23153
23241
  ["& .".concat(rowColClasses.barWithCheckbox)]: {
23154
23242
  left: direction === 'rtl' ? barPadPx : barWithCheckboxLeftPadPx,
23155
23243
  width: "calc(100% - ".concat(barWithCheckboxLeftPadPx + barPadPx, "px)")
23156
23244
  },
23157
23245
  ["& .".concat(rowColClasses.barSelectedWithCheckbox)]: {
23158
- '& .bar-filled': {
23159
- opacity: '30%',
23160
- background: selectStyle.background || '#BFE5D0',
23161
- borderColor: selectStyle.background || '#BFE5D0'
23162
- }
23246
+ '& .bar-filled': _objectSpread2(_objectSpread2({}, barSelectedFilledStyle), {}, {
23247
+ backgroundColor: styles.selections.selected || '#BFE5D0',
23248
+ borderColor: styles.selections.selected
23249
+ })
23163
23250
  },
23164
23251
  ["& .".concat(rowColClasses.excludedTextWithCheckbox)]: {
23165
- color: '#828282',
23252
+ color: styles.content.color,
23166
23253
  fontStyle: 'italic'
23167
23254
  }
23168
23255
  };
@@ -24125,10 +24212,9 @@
24125
24212
  const classArr = reactExports.useMemo(() => getValueStateClasses({
24126
24213
  column,
24127
24214
  histogram,
24128
- checkboxes,
24129
24215
  cell,
24130
24216
  showGray
24131
- }), [cell === null || cell === void 0 ? void 0 : cell.qState, histogram, dense, checkboxes]);
24217
+ }), [cell === null || cell === void 0 ? void 0 : cell.qState, histogram, dense]);
24132
24218
  const preventContextMenu = reactExports.useCallback(event => {
24133
24219
  event.preventDefault();
24134
24220
  }, [checkboxes]);
@@ -27650,8 +27736,10 @@
27650
27736
  });
27651
27737
  var SearchIcon = (props => SvgIcon(search(props)));
27652
27738
 
27739
+ const MAX_SEARCH_LENGTH = 64000;
27653
27740
  const TREE_PATH = '/qListObjectDef';
27654
27741
  const WILDCARD = '**';
27742
+ const limitSearchLength = val => val === null || val === void 0 ? void 0 : val.substring(0, MAX_SEARCH_LENGTH);
27655
27743
  const StyledOutlinedInput = styled(OutlinedInput$1, {
27656
27744
  shouldForwardProp: p => !['styles', 'dense', 'isRtl'].includes(p)
27657
27745
  })(_ref => {
@@ -27760,11 +27848,12 @@
27760
27848
  setStoreValue('inputText', value);
27761
27849
  }, [value]);
27762
27850
  const onChange = async e => {
27763
- setValue(e.target.value);
27764
- if (!e.target.value.length) {
27851
+ const searchValue = limitSearchLength(e.target.value);
27852
+ setValue(searchValue);
27853
+ if (!searchValue.length) {
27765
27854
  return abortSearch();
27766
27855
  }
27767
- return model.searchListObjectFor(TREE_PATH, e.target.value);
27856
+ return model.searchListObjectFor(TREE_PATH, searchValue);
27768
27857
  };
27769
27858
  const handleFocus = () => {
27770
27859
  if (wildCardSearch) {
@@ -27781,11 +27870,12 @@
27781
27870
  };
27782
27871
  const performSearch = async () => {
27783
27872
  let response;
27784
- const success = await model.searchListObjectFor(TREE_PATH, value);
27873
+ const searchValue = limitSearchLength(value);
27874
+ const success = await model.searchListObjectFor(TREE_PATH, searchValue);
27785
27875
  if (selectionState.selectDisabled()) {
27786
27876
  return success;
27787
27877
  }
27788
- if (success && value.length && hasHits()) {
27878
+ if (success && searchValue.length && hasHits()) {
27789
27879
  response = model.acceptListObjectSearch(TREE_PATH, true);
27790
27880
  // eslint-disable-next-line no-param-reassign
27791
27881
  selections.selectionsMade = true;
@@ -31568,6 +31658,7 @@
31568
31658
  defaultWidth,
31569
31659
  disableHeight = false,
31570
31660
  disableWidth = false,
31661
+ doNotBailOutOnEmptyChildren = false,
31571
31662
  nonce,
31572
31663
  onResize,
31573
31664
  style = {},
@@ -31608,6 +31699,9 @@
31608
31699
  childParams.width = width;
31609
31700
  childParams.scaledWidth = scaledWidth;
31610
31701
  }
31702
+ if (doNotBailOutOnEmptyChildren) {
31703
+ bailoutOnChildren = false;
31704
+ }
31611
31705
  return reactExports.createElement(tagName, {
31612
31706
  ref: this._setRef,
31613
31707
  style: {
@@ -31889,16 +31983,6 @@
31889
31983
  return containerPadding;
31890
31984
  }
31891
31985
 
31892
- const drillDown = props => _objectSpread2(_objectSpread2({}, props), {}, {
31893
- shapes: [{
31894
- type: 'path',
31895
- attrs: {
31896
- 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'
31897
- }
31898
- }]
31899
- });
31900
- var DrillDownIcon = (props => SvgIcon(drillDown(props)));
31901
-
31902
31986
  function showToolbarDetached(_ref) {
31903
31987
  var _titleRef$current$cli, _titleRef$current, _titleRef$current2, _titleRef$current3;
31904
31988
  let {
@@ -32054,6 +32138,112 @@
32054
32138
  return component;
32055
32139
  }
32056
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
+
32057
32247
  // ms that needs to pass before the lock button can be toggled again
32058
32248
  const lockTimeFrameMs = 500;
32059
32249
  let lastTime = 0;
@@ -32088,7 +32278,7 @@
32088
32278
  };
32089
32279
  }
32090
32280
  function ListBoxHeader(_ref2) {
32091
- var _layout$qListObject, _layout$qListObject3;
32281
+ var _layout$qListObject, _layout$qListObject3, _layout$qListObject4;
32092
32282
  let {
32093
32283
  layout,
32094
32284
  translator,
@@ -32096,7 +32286,6 @@
32096
32286
  isRtl,
32097
32287
  showLock,
32098
32288
  showSearchIcon,
32099
- isDrillDown,
32100
32289
  constraints,
32101
32290
  onShowSearch,
32102
32291
  classes,
@@ -32110,7 +32299,8 @@
32110
32299
  isDirectQuery,
32111
32300
  selections,
32112
32301
  keyboard,
32113
- autoConfirm
32302
+ autoConfirm,
32303
+ app
32114
32304
  } = _ref2;
32115
32305
  const [isToolbarDetached, setIsToolbarDetached] = reactExports.useState(showDetachedToolbarOnly);
32116
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);
@@ -32120,15 +32310,16 @@
32120
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);
32121
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]);
32122
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);
32123
32314
  const showUnlock = showLock && isLocked;
32124
32315
  const showLockIcon = !showLock && isLocked; // shows instead of the cover button when field/dim is locked.
32125
- 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.
32126
32317
 
32127
32318
  const paddingLeft = CELL_PADDING_LEFT - (showLeftIcon ? ICON_PADDING : 0);
32128
32319
  const paddingRight = isRtl ? CELL_PADDING_LEFT - (showLeftIcon ? ICON_PADDING : 0) : HEADER_PADDING_RIGHT;
32129
32320
 
32130
32321
  // Calculate explicit width for icons container. Search and lock cannot exist combined.
32131
- 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);
32132
32323
  const toggleLock = getToggleLock({
32133
32324
  isLocked,
32134
32325
  setLocked,
@@ -32227,12 +32418,10 @@
32227
32418
  alignItems: "center",
32228
32419
  width: iconsWidth,
32229
32420
  className: "header-action-container"
32230
- }, lockedIconComp || showSearchIcon && searchIconComp, isDrillDown && /*#__PURE__*/React$1.createElement(DrillDownIcon, {
32231
- tabIndex: -1,
32232
- title: translator.get('Listbox.DrillDown'),
32233
- style: _objectSpread2(_objectSpread2({}, iconStyle), {}, {
32234
- padding: "".concat(ICON_PADDING, "px")
32235
- })
32421
+ }, lockedIconComp || showSearchIcon && searchIconComp, /*#__PURE__*/React$1.createElement(DimensionIcon, {
32422
+ iconData: iconData,
32423
+ iconStyle: iconStyle,
32424
+ translator: translator
32236
32425
  })), /*#__PURE__*/React$1.createElement(Grid$1, {
32237
32426
  item: true,
32238
32427
  xs: true,
@@ -32302,7 +32491,7 @@
32302
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();
32303
32492
  };
32304
32493
  function ListBoxInline(_ref3) {
32305
- var _layout$qListObject, _layout$qListObject2, _layout$title, _layoutOptions$dense, _containerRef$current;
32494
+ var _layout$qListObject, _layout$title, _layoutOptions$dense, _containerRef$current;
32306
32495
  let {
32307
32496
  options,
32308
32497
  layout
@@ -32468,7 +32657,6 @@
32468
32657
  } = layout !== null && layout !== void 0 ? layout : {};
32469
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;
32470
32659
  const showSearchIcon = searchEnabled !== false && search === 'toggle' && !isLocked;
32471
- 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';
32472
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;
32473
32661
  const showDetachedToolbarOnly = toolbar && !canShowTitle && !isPopover;
32474
32662
  const showAttachedToolbar = toolbar && canShowTitle || isPopover;
@@ -32506,8 +32694,8 @@
32506
32694
  }
32507
32695
  const listBoxMinHeight = showAttachedToolbar ? DENSE_ROW_HEIGHT + SCROLL_BAR_WIDTH : 0;
32508
32696
  const listBoxHeader = /*#__PURE__*/React$1.createElement(ListBoxHeader, {
32697
+ app: app,
32509
32698
  showSearchIcon: showSearchIcon,
32510
- isDrillDown: isDrillDown,
32511
32699
  onShowSearch: handleShowSearch,
32512
32700
  isPopover: isPopover,
32513
32701
  showToolbar: showToolbar,
@@ -41204,7 +41392,10 @@
41204
41392
  themes: [],
41205
41393
  anything: {},
41206
41394
  flags: {
41207
- 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
41208
41399
  },
41209
41400
  snapshot: DEFAULT_SNAPSHOT_CONFIG
41210
41401
  };