@sis-cc/dotstatsuite-visions 10.5.1 → 10.6.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
- * @sis-cc/dotstatsuite-visions v10.5.1 - https://visions-qa.siscc.org/#o
2
+ * @sis-cc/dotstatsuite-visions v10.6.0 - https://visions-qa.siscc.org/#o
3
3
  * MIT Licensed
4
4
  */
5
5
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -1742,7 +1742,8 @@ function debounce(func) {
1742
1742
  }
1743
1743
 
1744
1744
  /***/ }),
1745
- /* 37 */
1745
+ /* 37 */,
1746
+ /* 38 */
1746
1747
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1747
1748
 
1748
1749
  "use strict";
@@ -1756,7 +1757,7 @@ function _inheritsLoose(subClass, superClass) {
1756
1757
  }
1757
1758
 
1758
1759
  /***/ }),
1759
- /* 38 */
1760
+ /* 39 */
1760
1761
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1761
1762
 
1762
1763
  "use strict";
@@ -1839,7 +1840,6 @@ function formatMs(milliseconds) {
1839
1840
  });
1840
1841
 
1841
1842
  /***/ }),
1842
- /* 39 */,
1843
1843
  /* 40 */,
1844
1844
  /* 41 */
1845
1845
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -2798,7 +2798,7 @@ function createSpacing() {
2798
2798
  return spacing;
2799
2799
  }
2800
2800
  // EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/transitions.js
2801
- var transitions = __webpack_require__(38);
2801
+ var transitions = __webpack_require__(39);
2802
2802
 
2803
2803
  // EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/zIndex.js
2804
2804
  var zIndex = __webpack_require__(92);
@@ -6699,7 +6699,7 @@ function removeClassName(el
6699
6699
  /* 121 */
6700
6700
  /***/ (function(module) {
6701
6701
 
6702
- module.exports = {"name":"@sis-cc/dotstatsuite-visions","version":"10.5.1","description":"Library of visual components","author":"OECD","homepage":"https://visions-qa.siscc.org/#o","license":"MIT","repository":"https://gitlab.com/sis-cc/.stat-suite/dotstatsuite-visions","main":"lib/index.js","module":"es/index.js","engines":{"node":">=14"},"files":["css","es","lib","umd"],"scripts":{"build":"nwb build-react-component --copy-files --no-demo && node scripts/doc && nwb build-demo","build:dev":"nwb build-react-component --copy-files --no-demo","clean":"nwb clean-module && nwb clean-demo","prepublishOnly":"npm run build","start":"nwb serve-react-demo","test":"jest","test:watch":"jest --watch --no-cache","lint":"eslint src/ --color","precommit":"lint-staged"},"dependencies":{"@react-hook/size":"^2.1.1","classnames":"^2.2.6","date-fns":"^1.30.1","isemail":"^3.2.0","numeral":"^2.0.6","prop-types":"^15.7.2","ramda":"^0.27.0","react-beautiful-dnd":"^13.0.0","react-draggable":"^4.4.5","react-error-boundary":"^4.0.10","react-virtualized":"^9.21.2"},"peerDependencies":{"@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"^8.x","react":"^18","react-dom":"^18"},"devDependencies":{"@babel/eslint-parser":"^7.5.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@cfaester/enzyme-adapter-react-18":"^0.7.0","@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"*","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^14.0.0","babel-jest":"^24.8.0","babel-preset-react-app":"^9.0.0","dox":"^0.9.0","eslint":"^8.39.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","husky":"^2.7.0","identity-obj-proxy":"^3.0.0","jest":"^24.8.0","jss":"^10.10.0","jss-rtl":"^0.2.3","lint-staged":"^8.2.1","mutationobserver-shim":"^0.3.7","nwb":"0.23.0","prettier":"^2.8.8","pretty-quick":"^3.1.3","react":"^18","react-a11y":"^1.1.0","react-dom":"^18","react-helmet":"^5.2.1","react-scrollable-anchor":"^0.6.1","react-syntax-highlighter":"^10.2.1","sanitize-html":"2.7.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"jest":{"verbose":true,"coverageDirectory":"coverage","collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/ScopeList/*.{js,jsx,ts,tsx}","!src/**/*.d.ts"],"setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"testMatch":["**/tests/**/*.{spec,test}.{js,jsx,ts,tsx}","!**/tests/ScopeList.test.js"],"testEnvironment":"jsdom","transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$","^.+\\.module\\.(css|sass|scss)$"],"modulePaths":[],"moduleNameMapper":{"^react-native$":"react-native-web","^.+\\.module\\.(css|sass|scss)$":"identity-obj-proxy","\\.(jpg|jpeg|png)$":"identity-obj-proxy"},"moduleFileExtensions":["web.js","js","web.ts","ts","web.tsx","tsx","json","web.jsx","jsx","node"]},"babel":{"presets":["react-app"],"plugins":["@babel/plugin-syntax-dynamic-import"]},"eslintConfig":{"env":{"browser":true,"jest":true,"node":true,"es6":true},"extends":["eslint:recommended","plugin:react/recommended","plugin:jsx-a11y/recommended"],"parser":"@babel/eslint-parser","parserOptions":{"babelOptions":{"presets":[["babel-preset-react-app",false],"babel-preset-react-app/test"]},"ecmaFeatures":{"experimentalObjectRestSpread":true,"jsx":true},"sourceType":"module"},"plugins":["prettier","react","import","react-hooks","jsx-a11y"],"rules":{"no-console":"warn","no-unused-vars":"error","react/display-name":"off","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn","no-use-before-define":"error"}},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"src/**/*.{js,css}":["prettier --write","git add","yarn lint"]},"prettier":{"endOfLine":"lf","useTabs":false,"printWidth":100,"tabWidth":2,"singleQuote":true,"trailingComma":"all","bracketSameLine":false,"bracketSpacing":true,"parser":"babel","semi":true,"arrowParens":"avoid"}};
6702
+ module.exports = {"name":"@sis-cc/dotstatsuite-visions","version":"10.6.0","description":"Library of visual components","author":"OECD","homepage":"https://visions-qa.siscc.org/#o","license":"MIT","repository":"https://gitlab.com/sis-cc/.stat-suite/dotstatsuite-visions","main":"lib/index.js","module":"es/index.js","engines":{"node":">=14"},"files":["css","es","lib","umd"],"scripts":{"build":"nwb build-react-component --copy-files --no-demo && node scripts/doc && nwb build-demo","build:dev":"nwb build-react-component --copy-files --no-demo","clean":"nwb clean-module && nwb clean-demo","prepublishOnly":"npm run build","start":"nwb serve-react-demo","test":"jest","test:watch":"jest --watch --no-cache","lint":"eslint src/ --color","precommit":"lint-staged"},"dependencies":{"@react-hook/size":"^2.1.1","classnames":"^2.2.6","date-fns":"^1.30.1","isemail":"^3.2.0","numeral":"^2.0.6","prop-types":"^15.7.2","ramda":"^0.27.0","react-beautiful-dnd":"^13.0.0","react-draggable":"^4.4.5","react-error-boundary":"^4.0.10","react-virtualized":"^9.21.2"},"peerDependencies":{"@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"^8.x","react":"^18","react-dom":"^18"},"devDependencies":{"@babel/eslint-parser":"^7.5.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@cfaester/enzyme-adapter-react-18":"^0.7.0","@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"*","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^14.0.0","babel-jest":"^24.8.0","babel-preset-react-app":"^9.0.0","dox":"^0.9.0","eslint":"^8.39.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","husky":"^2.7.0","identity-obj-proxy":"^3.0.0","jest":"^24.8.0","jss":"^10.10.0","jss-rtl":"^0.2.3","lint-staged":"^8.2.1","mutationobserver-shim":"^0.3.7","nwb":"0.23.0","prettier":"^2.8.8","pretty-quick":"^3.1.3","react":"^18","react-a11y":"^1.1.0","react-dom":"^18","react-helmet":"^5.2.1","react-scrollable-anchor":"^0.6.1","react-syntax-highlighter":"^10.2.1","sanitize-html":"2.7.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"jest":{"verbose":true,"coverageDirectory":"coverage","collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/ScopeList/*.{js,jsx,ts,tsx}","!src/**/*.d.ts"],"setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"testMatch":["**/tests/**/*.{spec,test}.{js,jsx,ts,tsx}","!**/tests/ScopeList.test.js"],"testEnvironment":"jsdom","transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$","^.+\\.module\\.(css|sass|scss)$"],"modulePaths":[],"moduleNameMapper":{"^react-native$":"react-native-web","^.+\\.module\\.(css|sass|scss)$":"identity-obj-proxy","\\.(jpg|jpeg|png)$":"identity-obj-proxy"},"moduleFileExtensions":["web.js","js","web.ts","ts","web.tsx","tsx","json","web.jsx","jsx","node"]},"babel":{"presets":["react-app"],"plugins":["@babel/plugin-syntax-dynamic-import"]},"eslintConfig":{"env":{"browser":true,"jest":true,"node":true,"es6":true},"extends":["eslint:recommended","plugin:react/recommended","plugin:jsx-a11y/recommended"],"parser":"@babel/eslint-parser","parserOptions":{"babelOptions":{"presets":[["babel-preset-react-app",false],"babel-preset-react-app/test"]},"ecmaFeatures":{"experimentalObjectRestSpread":true,"jsx":true},"sourceType":"module"},"plugins":["prettier","react","import","react-hooks","jsx-a11y"],"rules":{"no-console":"warn","no-unused-vars":"error","react/display-name":"off","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn","no-use-before-define":"error"}},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"src/**/*.{js,css}":["prettier --write","git add","yarn lint"]},"prettier":{"endOfLine":"lf","useTabs":false,"printWidth":100,"tabWidth":2,"singleQuote":true,"trailingComma":"all","bracketSameLine":false,"bracketSpacing":true,"parser":"babel","semi":true,"arrowParens":"avoid"}};
6703
6703
 
6704
6704
  /***/ }),
6705
6705
  /* 122 */
@@ -25775,7 +25775,7 @@ var objectWithoutPropertiesLoose = __webpack_require__(27);
25775
25775
  var assertThisInitialized = __webpack_require__(73);
25776
25776
 
25777
25777
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
25778
- var inheritsLoose = __webpack_require__(37);
25778
+ var inheritsLoose = __webpack_require__(38);
25779
25779
 
25780
25780
  // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js
25781
25781
 
@@ -42541,7 +42541,7 @@ function useMediaQuery(queryInput) {
42541
42541
  return match;
42542
42542
  }
42543
42543
  // EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/transitions.js
42544
- var transitions = __webpack_require__(38);
42544
+ var transitions = __webpack_require__(39);
42545
42545
 
42546
42546
  // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Collapse/Collapse.js
42547
42547
 
@@ -48327,6 +48327,9 @@ var styles_useStyles = styles_makeStyles(function (theme) {
48327
48327
  alignItems: 'flex-start',
48328
48328
  padding: theme.spacing(0)
48329
48329
  },
48330
+ moreFiltersContainer: {
48331
+ alignItems: 'flex-end'
48332
+ },
48330
48333
  ellipsis: {
48331
48334
  whiteSpace: 'nowrap',
48332
48335
  overflow: 'hidden',
@@ -48338,6 +48341,9 @@ var styles_useStyles = styles_makeStyles(function (theme) {
48338
48341
  alignContent: 'space-between',
48339
48342
  margin: theme.spacing(0.5, 0) + ' !important'
48340
48343
  },
48344
+ moreFiltersContent: {
48345
+ margin: theme.spacing(0, 0) + ' !important'
48346
+ },
48341
48347
  details: {
48342
48348
  display: 'flex',
48343
48349
  padding: theme.spacing(0),
@@ -48372,6 +48378,9 @@ var styles_useStyles = styles_makeStyles(function (theme) {
48372
48378
  padding: theme.spacing(0.5, 0.5),
48373
48379
  margin: theme.spacing(0, 1, 0, 0)
48374
48380
  },
48381
+ moreFiltersExpandIcon: {
48382
+ padding: theme.spacing(0, 0.5)
48383
+ },
48375
48384
  fullWidth: {
48376
48385
  width: '100%'
48377
48386
  },
@@ -48387,8 +48396,8 @@ var styles_useStyles = styles_makeStyles(function (theme) {
48387
48396
  title: {
48388
48397
  padding: 0,
48389
48398
  fontFamily: 'Roboto Slab, serif',
48390
- fontSize: '17px',
48391
- color: 'Body'
48399
+ fontSize: 17,
48400
+ color: theme.palette.grey['A700']
48392
48401
  }
48393
48402
  };
48394
48403
  });
@@ -48409,7 +48418,7 @@ var styles_useStyles = styles_makeStyles(function (theme) {
48409
48418
 
48410
48419
 
48411
48420
  var ExpansionPanel_CustomExpansionPanel = function CustomExpansionPanel(_ref) {
48412
- var _cx, _cx2;
48421
+ var _cx, _cx2, _cx3, _cx4, _cx5;
48413
48422
 
48414
48423
  var id = _ref.id,
48415
48424
  topElementComponent = _ref.topElementComponent,
@@ -48453,10 +48462,10 @@ var ExpansionPanel_CustomExpansionPanel = function CustomExpansionPanel(_ref) {
48453
48462
  esm_AccordionSummary_AccordionSummary,
48454
48463
  {
48455
48464
  'data-testid': testId + '_panel',
48456
- className: classes.container,
48465
+ className: classnames_default()(classes.container, (_cx2 = {}, _cx2[classes.moreFiltersContainer] = moreFilters, _cx2)),
48457
48466
  classes: {
48458
- content: classnames_default()(classes.content, classes.ellipsis),
48459
- expandIcon: classes.iconSummaryPanel
48467
+ content: classnames_default()(classes.content, classes.ellipsis, (_cx3 = {}, _cx3[classes.moreFiltersContent] = moreFilters, _cx3)),
48468
+ expandIcon: classnames_default()(classes.iconSummaryPanel, (_cx4 = {}, _cx4[classes.moreFiltersExpandIcon] = moreFilters, _cx4))
48460
48469
  },
48461
48470
  expandIcon: react_default.a.createElement(ExpandMore_default.a, null),
48462
48471
  'aria-controls': id,
@@ -48505,7 +48514,7 @@ var ExpansionPanel_CustomExpansionPanel = function CustomExpansionPanel(_ref) {
48505
48514
  react_default.a.createElement(
48506
48515
  esm_AccordionDetails_AccordionDetails,
48507
48516
  {
48508
- className: classnames_default()(classes.details, (_cx2 = {}, _cx2[classes.overflow] = overflow, _cx2[classes.height] = maxHeight, _cx2))
48517
+ className: classnames_default()(classes.details, (_cx5 = {}, _cx5[classes.overflow] = overflow, _cx5[classes.height] = maxHeight, _cx5))
48509
48518
  },
48510
48519
  children
48511
48520
  )
@@ -70534,6 +70543,7 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70534
70543
  description = _ref$description === undefined ? '' : _ref$description,
70535
70544
  isSelected = _ref.isSelected,
70536
70545
  isDisabled = _ref.isDisabled,
70546
+ isGreyed = _ref.isGreyed,
70537
70547
  changeList = _ref.changeList,
70538
70548
  ariaLabel = _ref.ariaLabel,
70539
70549
  NavigateIcon = _ref.NavigateIcon,
@@ -70541,7 +70551,6 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70541
70551
  hasChildrenOnLevel = _ref.hasChildrenOnLevel,
70542
70552
  count = _ref.count,
70543
70553
  svgPath = _ref.svgPath,
70544
- testId = _ref.testId,
70545
70554
  style = _ref.style,
70546
70555
  isRtl = _ref.isRtl,
70547
70556
  accessibility = _ref.accessibility,
@@ -70587,6 +70596,7 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70587
70596
  react_default.a.createElement(NavigateIcon, null)
70588
70597
  ),
70589
70598
  react_default.a.createElement(esm_ListItemText_ListItemText, VirtualizedTree_Item_extends({
70599
+ 'data-testid': 'value_' + id,
70590
70600
  tabIndex: 0,
70591
70601
  'aria-label': isDisabled ? es_propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
70592
70602
  'aria-pressed': isSelected,
@@ -70613,13 +70623,13 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70613
70623
  color: 'primary',
70614
70624
  className: classnames_default()(classes.labelIcon, (_cx3 = {}, _cx3[classes.disabledLabel] = isDisabled, _cx3))
70615
70625
  },
70616
- isSelected && es_not(isDisabled) ? react_default.a.createElement(CheckBoxOutlined_default.a, null) : react_default.a.createElement(CheckBoxOutlineBlankOutlined_default.a, null)
70626
+ isSelected ? react_default.a.createElement(CheckBoxOutlined_default.a, null) : react_default.a.createElement(CheckBoxOutlineBlankOutlined_default.a, null)
70617
70627
  ),
70618
70628
  svgPath && react_default.a.createElement(
70619
70629
  SvgIcon["a" /* default */],
70620
70630
  {
70621
70631
  color: 'primary',
70622
- className: classnames_default()(classes.labelIcon, (_cx4 = {}, _cx4[classes.disabledLabel] = isDisabled, _cx4))
70632
+ className: classnames_default()(classes.labelIcon, (_cx4 = {}, _cx4[classes.disabledLabel] = isGreyed || isDisabled, _cx4))
70623
70633
  },
70624
70634
  react_default.a.createElement('path', { d: svgPath })
70625
70635
  ),
@@ -70646,10 +70656,9 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70646
70656
  react_default.a.createElement(
70647
70657
  esm_Typography_Typography,
70648
70658
  {
70649
- 'data-testid': testId + '_value_' + id,
70650
70659
  color: 'inherit',
70651
70660
  variant: 'body2',
70652
- className: classnames_default()(classes.label, (_cx5 = {}, _cx5[classes.disabledLabel] = isDisabled, _cx5[classes.tooltipNotice] = !es_isEmpty(description), _cx5))
70661
+ className: classnames_default()(classes.label, (_cx5 = {}, _cx5[classes.disabledLabel] = isGreyed || isDisabled, _cx5[classes.tooltipNotice] = !es_isEmpty(description), _cx5))
70653
70662
  },
70654
70663
  label
70655
70664
  )
@@ -70685,7 +70694,6 @@ VirtualizedTree_Item_Item.propTypes = {
70685
70694
  svgPath: prop_types_default.a.string,
70686
70695
  style: prop_types_default.a.object,
70687
70696
  isRtl: prop_types_default.a.bool,
70688
- testId: prop_types_default.a.string,
70689
70697
  accessibility: prop_types_default.a.bool,
70690
70698
  index: prop_types_default.a.number,
70691
70699
  labelRenderer: prop_types_default.a.func,
@@ -70693,7 +70701,8 @@ VirtualizedTree_Item_Item.propTypes = {
70693
70701
  hierarchicalId: prop_types_default.a.string,
70694
70702
  labels: prop_types_default.a.object,
70695
70703
  depth: prop_types_default.a.number,
70696
- eventsCallbacks: prop_types_default.a.func
70704
+ eventsCallbacks: prop_types_default.a.func,
70705
+ isGreyed: prop_types_default.a.bool
70697
70706
  };
70698
70707
 
70699
70708
  /* harmony default export */ var VirtualizedTree_Item = (VirtualizedTree_Item_Item);
@@ -70849,6 +70858,157 @@ var ScopeList_styles_useStyles = styles_makeStyles(function (theme) {
70849
70858
  }
70850
70859
  };
70851
70860
  });
70861
+ // CONCATENATED MODULE: ./src/VirtualizedTree/utils.js
70862
+
70863
+
70864
+ var utils_getHierarchicalId = function getHierarchicalId(item) {
70865
+ return es_prop('hierarchicalId', item) || es_prop('id', item);
70866
+ };
70867
+
70868
+ var utils_getDescendants = function getDescendants(id, groupedItems) {
70869
+ var reccurse = function reccurse(_id) {
70870
+ var children = es_propOr([], _id, groupedItems);
70871
+ return pipe(es_map(function (item) {
70872
+ var __id = utils_getHierarchicalId(item);
70873
+ var descendants = reccurse(__id);
70874
+ return es_prepend(item, descendants);
70875
+ }), es_unnest)(children);
70876
+ };
70877
+
70878
+ return reccurse(id);
70879
+ };
70880
+
70881
+ var utils_isItemSelected = function isItemSelected(selectIds) {
70882
+ return function (item) {
70883
+ if (!es_isEmpty(selectIds) && es_has(utils_getHierarchicalId(item), selectIds)) {
70884
+ return !item.isSelected;
70885
+ }
70886
+ return !!item.isSelected;
70887
+ };
70888
+ };
70889
+
70890
+ var utils_getDepth = function getDepth(indexedItems) {
70891
+ return function (item) {
70892
+ if (es_isNil(item.parentId)) {
70893
+ return 0;
70894
+ }
70895
+ var parent = es_prop(item.parentId, indexedItems);
70896
+ return getDepth(indexedItems)(parent) + 1;
70897
+ };
70898
+ };
70899
+
70900
+ var utils_getDuplicates = function getDuplicates(items, indexedItems) {
70901
+ var itemsIds = es_pluck('id', items);
70902
+ var grouped = pipe(es_values, es_groupBy(es_prop('id')))(indexedItems);
70903
+ return pipe(es_props(itemsIds), es_unnest)(grouped);
70904
+ };
70905
+
70906
+ var utils_getDeprecatedIds = function getDeprecatedIds(ids, items, selectedIds) {
70907
+ var groupedItemsByParentId = items.groupedItemsByParentId,
70908
+ indexedItemsById = items.indexedItemsById;
70909
+
70910
+ var _ids = ids;
70911
+ var reccurse = function reccurse(scopeIds) {
70912
+ var scopeItems = es_props(scopeIds, indexedItemsById);
70913
+ var grouped = es_groupBy(es_propOr('#ROOT', 'parentId'), scopeItems);
70914
+ var refined = es_omit(es_append('#ROOT', _ids), grouped);
70915
+
70916
+ var deprecatedParents = es_reduce(function (acc, id) {
70917
+ var _item = es_prop(id, indexedItemsById);
70918
+ if (!utils_isItemSelected(selectedIds)(_item)) {
70919
+ return acc;
70920
+ }
70921
+ var _itemsIds = es_has('hierarchicalId', _item) ? pipe(es_values, es_filter(es_propEq('id', _item.id)), es_map(utils_getHierarchicalId))(indexedItemsById) : [id];
70922
+
70923
+ if (es_propOr(true, 'isEnabled', _item)) {
70924
+ return acc;
70925
+ }
70926
+ var children = pipe(es_props(_itemsIds), es_unnest)(groupedItemsByParentId);
70927
+ var selectedChild = es_find(function (child) {
70928
+ return !es_includes(utils_getHierarchicalId(child), _ids) && utils_isItemSelected(selectedIds)(child);
70929
+ }, children);
70930
+ if (es_isNil(selectedChild)) {
70931
+ return es_concat(acc, _itemsIds);
70932
+ }
70933
+ return acc;
70934
+ }, [], es_keys(refined));
70935
+
70936
+ if (!es_isEmpty(deprecatedParents)) {
70937
+ _ids = es_concat(_ids, deprecatedParents);
70938
+ var deprecatedAncestors = reccurse(deprecatedParents);
70939
+ return es_concat(deprecatedParents, deprecatedAncestors);
70940
+ }
70941
+
70942
+ return deprecatedParents;
70943
+ };
70944
+
70945
+ return reccurse(ids);
70946
+ };
70947
+
70948
+ var utils_getSingleDisableAccessor = function getSingleDisableAccessor(groupedItems, disableAccessor) {
70949
+ // items => total list
70950
+ return function (item, selectedIds) {
70951
+ if (!utils_isItemSelected(selectedIds)(item) && disableAccessor(item)) {
70952
+ var descendants = utils_getDescendants(utils_getHierarchicalId(item), groupedItems);
70953
+ var validDescendant = es_find(utils_isItemSelected(selectedIds), descendants);
70954
+ return es_isNil(validDescendant);
70955
+ }
70956
+ return false;
70957
+ };
70958
+ };
70959
+
70960
+ var utils_getHierDisableAccessor = function getHierDisableAccessor(groupedItems, spotlightedGroupedItems, disableAccessor) {
70961
+ var accessor = function accessor(item, selectedIds) {
70962
+ if (!utils_isItemSelected(selectedIds)(item) && disableAccessor(item)) {
70963
+ var spotlightedDescendants = utils_getDescendants(utils_getHierarchicalId(item), spotlightedGroupedItems);
70964
+ var validSpotlightedDescendant = es_find(function (_item) {
70965
+ return !accessor(_item, spotlightedGroupedItems);
70966
+ }, spotlightedDescendants);
70967
+ if (es_isNil(validSpotlightedDescendant)) {
70968
+ var descendants = utils_getDescendants(utils_getHierarchicalId(item), groupedItems);
70969
+ var validDescendant = es_find(utils_isItemSelected(selectedIds), descendants);
70970
+ return es_isNil(validDescendant);
70971
+ }
70972
+ }
70973
+ return false;
70974
+ };
70975
+ return accessor;
70976
+ };
70977
+
70978
+ var getScopeGetters = {
70979
+ all: function all(items) {
70980
+ return function () {
70981
+ return es_reject(es_prop('isDisabled'), es_values(items.indexedItemsById));
70982
+ };
70983
+ },
70984
+ single: function single() {
70985
+ return function (item) {
70986
+ return [item];
70987
+ };
70988
+ },
70989
+ children: function children(items) {
70990
+ return function (item) {
70991
+ var childItems = es_propOr([], utils_getHierarchicalId(item), items.groupedItemsByParentId);
70992
+ return es_reject(es_prop('isDisabled'), es_prepend(item, childItems));
70993
+ };
70994
+ },
70995
+ branch: function branch(items) {
70996
+ return function (item) {
70997
+ var descendants = utils_getDescendants(utils_getHierarchicalId(item), items.groupedItemsByParentId);
70998
+ var res = es_reject(es_prop('isDisabled'), es_prepend(item, descendants));
70999
+ return res;
71000
+ };
71001
+ },
71002
+ level: function level(items) {
71003
+ return function (item) {
71004
+ var indexed = items.indexedItemsById;
71005
+ var depth = utils_getDepth(indexed)(item);
71006
+ return es_filter(function (it) {
71007
+ return !es_prop('isDisabled', it) && utils_getDepth(indexed)(it) === depth;
71008
+ }, es_values(indexed));
71009
+ };
71010
+ }
71011
+ };
70852
71012
  // CONCATENATED MODULE: ./src/VirtualizedTree/VirtualizedTree.js
70853
71013
  var VirtualizedTree_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
70854
71014
 
@@ -70865,17 +71025,16 @@ var VirtualizedTree_extends = Object.assign || function (target) { for (var i =
70865
71025
 
70866
71026
 
70867
71027
 
70868
- var getSingleItemScope = function getSingleItemScope(item) {
70869
- return [item];
70870
- };
70871
71028
 
70872
- var VirtualizedTree_getHierarchicalId = function getHierarchicalId(item) {
70873
- return es_prop('hierarchicalId', item) || es_prop('id', item);
71029
+ var singleScopeGetter = function singleScopeGetter() {
71030
+ return function (item) {
71031
+ return [item];
71032
+ };
70874
71033
  };
70875
71034
 
70876
71035
  var VirtualizedTree_getDisplayedIds = function getDisplayedIds(items, grouped, expanded) {
70877
71036
  return pipe(es_map(function (item) {
70878
- var hierarchicalId = VirtualizedTree_getHierarchicalId(item);
71037
+ var hierarchicalId = utils_getHierarchicalId(item);
70879
71038
  if (es_has(hierarchicalId, grouped) && es_has(hierarchicalId, expanded)) {
70880
71039
  var children = getDisplayedIds(es_prop(hierarchicalId, grouped), grouped, expanded);
70881
71040
  return es_prepend(hierarchicalId, children);
@@ -70886,29 +71045,22 @@ var VirtualizedTree_getDisplayedIds = function getDisplayedIds(items, grouped, e
70886
71045
 
70887
71046
  var VirtualizedTree_getHasChildrenOnLevel = function getHasChildrenOnLevel(groupedItems) {
70888
71047
  return function (item) {
70889
- if (es_has(VirtualizedTree_getHierarchicalId(item), groupedItems)) {
71048
+ if (es_has(utils_getHierarchicalId(item), groupedItems)) {
70890
71049
  return true;
70891
71050
  }
70892
71051
  return pipe(es_prop(es_propOr('#ROOT', 'parentId', item)), es_find(function (it) {
70893
- return es_has(VirtualizedTree_getHierarchicalId(it), groupedItems);
71052
+ return es_has(utils_getHierarchicalId(it), groupedItems);
70894
71053
  }), es_complement(es_isNil))(groupedItems);
70895
71054
  };
70896
71055
  };
70897
71056
 
70898
- var VirtualizedTree_getDepth = function getDepth(indexedItems) {
70899
- return function (item) {
70900
- if (es_isNil(item.parentId)) {
70901
- return 0;
70902
- }
70903
- var parent = es_prop(item.parentId, indexedItems);
70904
- return getDepth(indexedItems)(parent) + 1;
70905
- };
70906
- };
70907
-
70908
71057
  var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
70909
71058
  var accessibility = props.accessibility,
70910
71059
  changeSelection = props.changeSelection,
70911
- disableAccessor = props.disableAccessor,
71060
+ _props$disableAccesso = props.disableAccessor,
71061
+ disableAccessor = _props$disableAccesso === undefined ? es_always(false) : _props$disableAccesso,
71062
+ _props$isGreyed = props.isGreyed,
71063
+ isGreyed = _props$isGreyed === undefined ? es_always(false) : _props$isGreyed,
70912
71064
  HTMLRenderer = props.HTMLRenderer,
70913
71065
  items = props.items,
70914
71066
  labelRenderer = props.labelRenderer,
@@ -70918,8 +71070,8 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
70918
71070
  collapse = props.collapse,
70919
71071
  _props$maxTreeHeight = props.maxTreeHeight,
70920
71072
  maxTreeHeight = _props$maxTreeHeight === undefined ? 250 : _props$maxTreeHeight,
70921
- _props$getItemScope = props.getItemScope,
70922
- getItemScope = _props$getItemScope === undefined ? getSingleItemScope : _props$getItemScope,
71073
+ _props$scopeGetter = props.scopeGetter,
71074
+ scopeGetter = _props$scopeGetter === undefined ? singleScopeGetter : _props$scopeGetter,
70923
71075
  _props$treeHeight = props.treeHeight,
70924
71076
  treeHeight = _props$treeHeight === undefined ? 0 : _props$treeHeight;
70925
71077
 
@@ -70946,21 +71098,41 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
70946
71098
  setLastItemId = _useState5[1];
70947
71099
 
70948
71100
  var _useMemo = Object(react["useMemo"])(function () {
70949
- var indexedItemsById = es_indexBy(VirtualizedTree_getHierarchicalId, items);
70950
- var groupedItemsByParentId = es_groupBy(es_propOr('#ROOT', 'parentId'), items);
71101
+ var refinedItems = es_map(function (item) {
71102
+ return VirtualizedTree_extends({}, item, {
71103
+ isSelected: utils_isItemSelected(selectIds)(item),
71104
+ isGreyed: es_is(Function, isGreyed) ? isGreyed(item) : false,
71105
+ isDisabled: es_is(Function, disableAccessor) ? disableAccessor(item, selectIds) : false
71106
+ });
71107
+ }, items);
71108
+ var indexedItemsById = es_indexBy(utils_getHierarchicalId, refinedItems);
71109
+ var groupedItemsByParentId = es_groupBy(es_propOr('#ROOT', 'parentId'), refinedItems);
70951
71110
  return { indexedItemsById: indexedItemsById, groupedItemsByParentId: groupedItemsByParentId };
70952
- }, [items]),
71111
+ }, [items, selectIds]),
70953
71112
  indexedItemsById = _useMemo.indexedItemsById,
70954
71113
  groupedItemsByParentId = _useMemo.groupedItemsByParentId;
70955
71114
 
70956
71115
  var list = Object(react["useMemo"])(function () {
70957
71116
  return VirtualizedTree_getDisplayedIds(es_propOr([], '#ROOT', groupedItemsByParentId), groupedItemsByParentId, expandedIds);
70958
71117
  }, [items, expandedIds]);
71118
+
71119
+ var getItemScope = scopeGetter({ indexedItemsById: indexedItemsById, groupedItemsByParentId: groupedItemsByParentId });
71120
+
71121
+ var isItemSelected = utils_isItemSelected(selectIds);
71122
+
70959
71123
  var multiSelect = function multiSelect(id) {
70960
71124
  var item = es_prop(id, indexedItemsById);
70961
71125
  var ids = pipe(getItemScope, es_filter(function (v) {
70962
71126
  return v.isSelected === item.isSelected;
70963
- }), es_map(VirtualizedTree_getHierarchicalId))(item);
71127
+ }), function (items) {
71128
+ return utils_getDuplicates(items, indexedItemsById);
71129
+ }, es_map(utils_getHierarchicalId))(item);
71130
+
71131
+ if (isItemSelected(item)) {
71132
+ var deprecatedIds = utils_getDeprecatedIds(ids, { indexedItemsById: indexedItemsById, groupedItemsByParentId: groupedItemsByParentId }, selectIds);
71133
+ ids = es_concat(ids, deprecatedIds);
71134
+ }
71135
+
70964
71136
  if (es_has(id, selectIds)) {
70965
71137
  setSelectIds(es_omit(ids, selectIds));
70966
71138
  } else {
@@ -70974,7 +71146,7 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
70974
71146
  return es_props(ids, indexedItemsById);
70975
71147
  }, es_map(getItemScope), es_unnest, es_filter(function (v) {
70976
71148
  return v.isSelected === isSelected;
70977
- }), es_map(VirtualizedTree_getHierarchicalId), es_indexBy(es_identity))(list);
71149
+ }), es_map(utils_getHierarchicalId), es_indexBy(es_identity))(list);
70978
71150
  setShiftIndexes(indexes);
70979
71151
  setSelectIds(_selectIds);
70980
71152
  };
@@ -70994,7 +71166,7 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
70994
71166
  }
70995
71167
  var ids = pipe(getItemScope, es_filter(function (v) {
70996
71168
  return v.isSelected === item.isSelected;
70997
- }), es_map(VirtualizedTree_getHierarchicalId), es_indexBy(es_identity))(item);
71169
+ }), es_map(utils_getHierarchicalId), es_indexBy(es_identity))(item);
70998
71170
  setShiftIndexes(es_append(index, shiftIndexes));
70999
71171
  setSelectIds(ids);
71000
71172
  } else if (es_length(shiftIndexes) === 1 && index === es_head(shiftIndexes)) {
@@ -71064,12 +71236,6 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
71064
71236
  apply();
71065
71237
  }
71066
71238
  };
71067
- var isItemSelected = function isItemSelected(item) {
71068
- if (!es_isEmpty(selectIds) && es_has(VirtualizedTree_getHierarchicalId(item), selectIds)) {
71069
- return !item.isSelected;
71070
- }
71071
- return !!item.isSelected;
71072
- };
71073
71239
  var ref = Object(react["useRef"])();
71074
71240
  var classes = ScopeList_styles_useStyles();
71075
71241
 
@@ -71137,22 +71303,20 @@ var VirtualizedTree_VirtualizedTree = function VirtualizedTree(props) {
71137
71303
  var itemId = es_nth(index, list);
71138
71304
  var item = es_prop(itemId, indexedItemsById);
71139
71305
  return react_default.a.createElement(VirtualizedTree_Item, VirtualizedTree_extends({}, item, {
71140
- id: VirtualizedTree_getHierarchicalId(item),
71306
+ id: utils_getHierarchicalId(item),
71141
71307
  label: labelRenderer(item),
71142
- key: VirtualizedTree_getHierarchicalId(item),
71143
- depth: VirtualizedTree_getDepth(indexedItemsById)(item),
71308
+ key: utils_getHierarchicalId(item),
71309
+ depth: utils_getDepth(indexedItemsById)(item),
71144
71310
  hasChild: es_has(itemId, groupedItemsByParentId),
71145
71311
  hasChildrenOnLevel: VirtualizedTree_getHasChildrenOnLevel(groupedItemsByParentId)(item),
71146
71312
  changeList: es_has(itemId, expandedIds) ? function () {
71147
- return collapse(VirtualizedTree_getHierarchicalId(item));
71313
+ return collapse(utils_getHierarchicalId(item));
71148
71314
  } : function () {
71149
- return expand(VirtualizedTree_getHierarchicalId(item));
71315
+ return expand(utils_getHierarchicalId(item));
71150
71316
  },
71151
71317
  NavigateIcon: es_has(itemId, expandedIds) ? ExpandLess_default.a : ExpandMore_default.a,
71152
71318
  isRtl: isRtl,
71153
- isDisabled: es_is(Function, disableAccessor) ? disableAccessor(item) : false,
71154
71319
  eventsCallbacks: eventsCallbacks,
71155
- isSelected: isItemSelected(item),
71156
71320
  HTMLRenderer: HTMLRenderer,
71157
71321
  classes: classes,
71158
71322
  labels: labels,
@@ -71178,9 +71342,7 @@ VirtualizedTree_VirtualizedTree.propTypes = {
71178
71342
  isRtl: prop_types_default.a.bool,
71179
71343
  items: prop_types_default.a.array,
71180
71344
  labels: prop_types_default.a.shape({
71181
- disableItemLabel: prop_types_default.a.string,
71182
- colapseAll: prop_types_default.a.string,
71183
- expandAll: prop_types_default.a.string
71345
+ disableItemLabel: prop_types_default.a.string
71184
71346
  }),
71185
71347
  labelRenderer: prop_types_default.a.func,
71186
71348
  withExpandControl: prop_types_default.a.bool,
@@ -71188,7 +71350,9 @@ VirtualizedTree_VirtualizedTree.propTypes = {
71188
71350
  expandedIds: prop_types_default.a.object,
71189
71351
  expand: prop_types_default.a.func,
71190
71352
  collapse: prop_types_default.a.func,
71191
- treeHeight: prop_types_default.a.number
71353
+ treeHeight: prop_types_default.a.number,
71354
+ isGreyed: prop_types_default.a.func,
71355
+ scopeGetter: prop_types_default.a.func
71192
71356
  };
71193
71357
 
71194
71358
  /* harmony default export */ var src_VirtualizedTree_VirtualizedTree = (VirtualizedTree_VirtualizedTree);
@@ -71357,6 +71521,92 @@ var DialogActions_DialogActions = /*#__PURE__*/react["forwardRef"](function Dial
71357
71521
  var cjs = __webpack_require__(201);
71358
71522
  var cjs_default = /*#__PURE__*/__webpack_require__.n(cjs);
71359
71523
 
71524
+ // CONCATENATED MODULE: ./src/AdvancedFilterDialog/SelectionModeMenu.js
71525
+
71526
+
71527
+
71528
+
71529
+
71530
+
71531
+
71532
+
71533
+
71534
+
71535
+ var SelectionModeMenu_SelectionModeMenu = function SelectionModeMenu(_ref) {
71536
+ var isOpen = _ref.isOpen,
71537
+ onSelect = _ref.onSelect,
71538
+ options = _ref.options,
71539
+ selected = _ref.selected,
71540
+ classes = _ref.classes,
71541
+ isNarrow = _ref.isNarrow,
71542
+ hint = _ref.hint,
71543
+ maxHeight = _ref.maxHeight;
71544
+
71545
+ if (!isOpen) {
71546
+ return null;
71547
+ }
71548
+ return react_default.a.createElement(
71549
+ 'div',
71550
+ { className: isNarrow ? classes.narrowSelectionMenu : classes.selectionMenu },
71551
+ react_default.a.createElement(
71552
+ esm_Card_Card,
71553
+ { style: { maxHeight: maxHeight - 5, overflow: 'auto' } },
71554
+ react_default.a.createElement(
71555
+ esm_CardContent_CardContent,
71556
+ { className: classes.selectModeContainer },
71557
+ es_map(function (_ref2) {
71558
+ var value = _ref2.value,
71559
+ label = _ref2.label,
71560
+ img = _ref2.img;
71561
+ return react_default.a.createElement(
71562
+ src_Button_Button,
71563
+ {
71564
+ className: classes.selectButton,
71565
+ selected: value === selected,
71566
+ key: value,
71567
+ onClick: function onClick() {
71568
+ return onSelect(value);
71569
+ }
71570
+ },
71571
+ react_default.a.createElement(
71572
+ esm_Paper_Paper,
71573
+ { className: classes.selectModeItem, key: value },
71574
+ react_default.a.createElement(
71575
+ esm_Typography_Typography,
71576
+ { variant: 'body2' },
71577
+ label
71578
+ ),
71579
+ !es_isNil(img) && es_is(String, img) && react_default.a.createElement('img', { src: img, alt: value })
71580
+ )
71581
+ );
71582
+ }, options)
71583
+ ),
71584
+ react_default.a.createElement(
71585
+ 'div',
71586
+ { className: classes.hint },
71587
+ react_default.a.createElement(EmojiObjects_default.a, null),
71588
+ react_default.a.createElement(
71589
+ esm_Typography_Typography,
71590
+ { variant: 'body2' },
71591
+ hint
71592
+ )
71593
+ )
71594
+ )
71595
+ );
71596
+ };
71597
+
71598
+ SelectionModeMenu_SelectionModeMenu.propTypes = {
71599
+ classes: prop_types_default.a.object,
71600
+ hint: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.array]),
71601
+ isNarrow: prop_types_default.a.bool,
71602
+ isOpen: prop_types_default.a.bool,
71603
+ onSelect: prop_types_default.a.func,
71604
+ options: prop_types_default.a.array,
71605
+ selected: prop_types_default.a.string,
71606
+ maxHeight: prop_types_default.a.number
71607
+ };
71608
+
71609
+ /* harmony default export */ var AdvancedFilterDialog_SelectionModeMenu = (SelectionModeMenu_SelectionModeMenu);
71360
71610
  // CONCATENATED MODULE: ./node_modules/ramda/es/symmetricDifference.js
71361
71611
 
71362
71612
 
@@ -71412,7 +71662,7 @@ var withExpansionTree_withExpansionTree = function withExpansionTree(Component)
71412
71662
  setItemsIds = _useState2[1];
71413
71663
 
71414
71664
  Object(react["useEffect"])(function () {
71415
- var ids = es_map(VirtualizedTree_getHierarchicalId, items);
71665
+ var ids = es_map(utils_getHierarchicalId, items);
71416
71666
  if (!es_isEmpty(es_symmetricDifference(ids, itemsIds))) setItemsIds(ids);
71417
71667
  }, [items]);
71418
71668
 
@@ -71476,8 +71726,8 @@ var withSpotlight_spotlightFilter = function spotlightFilter(term) {
71476
71726
  if (isValidItem) {
71477
71727
  return true;
71478
71728
  }
71479
- if (es_has(VirtualizedTree_getHierarchicalId(item), groupedItemsByParentId)) {
71480
- var filtered = recurse(es_prop(VirtualizedTree_getHierarchicalId(item), groupedItemsByParentId));
71729
+ if (es_has(utils_getHierarchicalId(item), groupedItemsByParentId)) {
71730
+ var filtered = recurse(es_prop(utils_getHierarchicalId(item), groupedItemsByParentId));
71481
71731
  if (!es_isEmpty(filtered)) {
71482
71732
  return true;
71483
71733
  }
@@ -71511,6 +71761,7 @@ var withSpotlight_withSpotlight = function withSpotlight(Component) {
71511
71761
  }, [term, items]);
71512
71762
 
71513
71763
  return react_default.a.createElement(Component, withSpotlight_extends({}, rest, {
71764
+ allItems: items,
71514
71765
  items: filteredItems,
71515
71766
  labelRenderer: labelRenderer,
71516
71767
  hasSpotlight: es_length(items) >= 8,
@@ -71598,7 +71849,6 @@ function AdvancedFilterDialog_objectWithoutProperties(obj, keys) { var target =
71598
71849
 
71599
71850
 
71600
71851
 
71601
-
71602
71852
 
71603
71853
 
71604
71854
  var AdvancedFilterDialog_PaperComponent = function PaperComponent(props) {
@@ -71711,110 +71961,6 @@ var AdvancedFilterDialog_useStyles = styles_makeStyles(function (theme) {
71711
71961
  };
71712
71962
  });
71713
71963
 
71714
- var AdvancedFilterDialog_getScopeGetters = function getScopeGetters(items, groupedItems, disableAccessor) {
71715
- var indexed = es_indexBy(VirtualizedTree_getHierarchicalId, items);
71716
- return {
71717
- all: function all() {
71718
- return es_reject(disableAccessor, items);
71719
- },
71720
- single: function single(item) {
71721
- return [item];
71722
- },
71723
- children: function children(item) {
71724
- var childItems = es_propOr([], VirtualizedTree_getHierarchicalId(item), groupedItems);
71725
- return es_reject(disableAccessor, es_prepend(item, childItems));
71726
- },
71727
- branch: function branch(item) {
71728
- var reccurse = function reccurse(_item) {
71729
- var childItems = pipe(es_propOr([], VirtualizedTree_getHierarchicalId(_item)), es_map(reccurse), es_unnest)(groupedItems);
71730
-
71731
- return es_prepend(_item, childItems);
71732
- };
71733
- var items = reccurse(item);
71734
- return es_reject(disableAccessor, items);
71735
- },
71736
- level: function level(item) {
71737
- var depth = VirtualizedTree_getDepth(indexed)(item);
71738
- return es_filter(function (it) {
71739
- return !disableAccessor(it) && VirtualizedTree_getDepth(indexed)(it) === depth;
71740
- }, items);
71741
- }
71742
- };
71743
- };
71744
-
71745
- var AdvancedFilterDialog_SelectionModeMenu = function SelectionModeMenu(_ref) {
71746
- var isOpen = _ref.isOpen,
71747
- onSelect = _ref.onSelect,
71748
- options = _ref.options,
71749
- selected = _ref.selected,
71750
- classes = _ref.classes,
71751
- isNarrow = _ref.isNarrow,
71752
- hint = _ref.hint,
71753
- maxHeight = _ref.maxHeight;
71754
-
71755
- if (!isOpen) {
71756
- return null;
71757
- }
71758
- return react_default.a.createElement(
71759
- 'div',
71760
- { className: isNarrow ? classes.narrowSelectionMenu : classes.selectionMenu },
71761
- react_default.a.createElement(
71762
- esm_Card_Card,
71763
- { style: { maxHeight: maxHeight - 5, overflow: 'auto' } },
71764
- react_default.a.createElement(
71765
- esm_CardContent_CardContent,
71766
- { className: classes.selectModeContainer },
71767
- es_map(function (_ref2) {
71768
- var value = _ref2.value,
71769
- label = _ref2.label,
71770
- img = _ref2.img;
71771
- return react_default.a.createElement(
71772
- src_Button_Button,
71773
- {
71774
- className: classes.selectButton,
71775
- selected: value === selected,
71776
- key: value,
71777
- onClick: function onClick() {
71778
- return onSelect(value);
71779
- }
71780
- },
71781
- react_default.a.createElement(
71782
- esm_Paper_Paper,
71783
- { className: classes.selectModeItem, key: value },
71784
- react_default.a.createElement(
71785
- esm_Typography_Typography,
71786
- { variant: 'body2' },
71787
- label
71788
- ),
71789
- !es_isNil(img) && es_is(String, img) && react_default.a.createElement('img', { src: img, alt: value })
71790
- )
71791
- );
71792
- }, options)
71793
- ),
71794
- react_default.a.createElement(
71795
- 'div',
71796
- { className: classes.hint },
71797
- react_default.a.createElement(EmojiObjects_default.a, null),
71798
- react_default.a.createElement(
71799
- esm_Typography_Typography,
71800
- { variant: 'body2' },
71801
- hint
71802
- )
71803
- )
71804
- )
71805
- );
71806
- };
71807
- AdvancedFilterDialog_SelectionModeMenu.propTypes = {
71808
- classes: prop_types_default.a.object,
71809
- hint: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.array]),
71810
- isNarrow: prop_types_default.a.bool,
71811
- isOpen: prop_types_default.a.bool,
71812
- onSelect: prop_types_default.a.func,
71813
- options: prop_types_default.a.array,
71814
- selected: prop_types_default.a.string,
71815
- maxHeight: prop_types_default.a.number
71816
- };
71817
-
71818
71964
  var icons = {
71819
71965
  single: small_single_selection_default.a,
71820
71966
  children: small_children_selection_default.a,
@@ -71835,13 +71981,15 @@ var AdvancedFilterDialog_AdvancedFilterDialog = function AdvancedFilterDialog(pr
71835
71981
  isOpen = props.isOpen,
71836
71982
  isNarrow = props.isNarrow,
71837
71983
  labels = props.labels,
71838
- disableAccessor = props.disableAccessor,
71984
+ _props$disableAccesso = props.disableAccessor,
71985
+ disableAccessor = _props$disableAccesso === undefined ? es_always(false) : _props$disableAccesso,
71839
71986
  expandAll = props.expandAll,
71840
71987
  collapseAll = props.collapseAll,
71841
71988
  spotlight = props.spotlight,
71842
71989
  setSpotlight = props.setSpotlight,
71843
71990
  expandedIds = props.expandedIds,
71844
- rest = AdvancedFilterDialog_objectWithoutProperties(props, ['id', 'title', 'items', 'labelRenderer', 'onClose', 'changeSelection', 'isOpen', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'spotlight', 'setSpotlight', 'expandedIds']);
71991
+ allItems = props.allItems,
71992
+ rest = AdvancedFilterDialog_objectWithoutProperties(props, ['id', 'title', 'items', 'labelRenderer', 'onClose', 'changeSelection', 'isOpen', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'spotlight', 'setSpotlight', 'expandedIds', 'allItems']);
71845
71993
 
71846
71994
  var _useState = Object(react["useState"])('single'),
71847
71995
  selectionMode = _useState[0],
@@ -71897,10 +72045,16 @@ var AdvancedFilterDialog_AdvancedFilterDialog = function AdvancedFilterDialog(pr
71897
72045
  img: all_selection_default.a
71898
72046
  }];
71899
72047
 
72048
+ var _allGroupedItems = pipe(es_map(function (item) {
72049
+ return AdvancedFilterDialog_extends({}, item, {
72050
+ isSelected: es_has(item.id, selection) ? !item.isSelected : !!item.isSelected
72051
+ });
72052
+ }), es_groupBy(es_propOr('#ROOT', 'parentId')))(allItems);
72053
+ var _disableAccessor = selectionMode === 'single' || selectionMode === 'level' ? utils_getSingleDisableAccessor(_allGroupedItems, disableAccessor) : utils_getHierDisableAccessor(_allGroupedItems, groupedFilteredItems, disableAccessor);
71900
72054
  var isDisabled = function isDisabled(item) {
71901
72055
  return es_is(Function, disableAccessor) ? disableAccessor(item) : false;
71902
72056
  };
71903
- var scopeGetters = AdvancedFilterDialog_getScopeGetters(selectionItems, groupedFilteredItems, isDisabled);
72057
+ var scopeGetter = es_prop(selectionMode, getScopeGetters);
71904
72058
 
71905
72059
  var onChangeSelection = function onChangeSelection(ids) {
71906
72060
  var nextSelection = es_reduce(function (acc, id) {
@@ -72019,14 +72173,15 @@ var AdvancedFilterDialog_AdvancedFilterDialog = function AdvancedFilterDialog(pr
72019
72173
  maxHeight: listHeight
72020
72174
  }),
72021
72175
  react_default.a.createElement(src_VirtualizedTree_VirtualizedTree, AdvancedFilterDialog_extends({}, rest, {
72022
- disableAccessor: disableAccessor,
72176
+ disableAccessor: _disableAccessor,
72177
+ isGreyed: isDisabled,
72023
72178
  labels: labels,
72024
72179
  labelRenderer: labelRenderer,
72025
72180
  items: selectionItems,
72026
72181
  changeSelection: onChangeSelection,
72027
72182
  withExpandControl: true,
72028
72183
  treeHeight: listHeight,
72029
- getItemScope: es_prop(selectionMode, scopeGetters),
72184
+ scopeGetter: scopeGetter,
72030
72185
  expandedIds: expandedIds
72031
72186
  }))
72032
72187
  )
@@ -72109,7 +72264,8 @@ AdvancedFilterDialog_AdvancedFilterDialog.propTypes = {
72109
72264
  collapseAll: prop_types_default.a.func,
72110
72265
  spotlight: prop_types_default.a.object,
72111
72266
  setSpotlight: prop_types_default.a.func,
72112
- expandedIds: prop_types_default.a.object
72267
+ expandedIds: prop_types_default.a.object,
72268
+ allItems: prop_types_default.a.array
72113
72269
  };
72114
72270
 
72115
72271
  /* harmony default export */ var src_AdvancedFilterDialog_AdvancedFilterDialog = (withSpotlight_withSpotlight(withExpansionTree_withExpansionTree(AdvancedFilterDialog_AdvancedFilterDialog)));
@@ -72159,9 +72315,12 @@ var HierarchicalFilter_extends = Object.assign || function (target) { for (var i
72159
72315
 
72160
72316
 
72161
72317
 
72162
- var HierarchicalFilter_getCounter = function getCounter(items, displayAccessor, tagAccessor) {
72163
- var count = pipe(es_filter(es_prop('isSelected')), es_map(es_prop('id')), es_uniq, es_length)(items);
72164
- var total = pipe(es_when(es_always(es_is(Function, displayAccessor)), es_filter(displayAccessor)), es_map(es_prop('id')), es_uniq, es_length)(items);
72318
+
72319
+ var HierarchicalFilter_getCounter = function getCounter(items, disableAccessor, tagAccessor) {
72320
+ var count = pipe(es_filter(function (item) {
72321
+ return es_prop('isSelected', item) && !disableAccessor(item);
72322
+ }), es_map(es_prop('id')), es_uniq, es_length)(items);
72323
+ var total = pipe(es_when(es_always(es_is(Function, disableAccessor)), es_reject(disableAccessor)), es_map(es_prop('id')), es_uniq, es_length)(items);
72165
72324
  if (es_is(Function, tagAccessor)) {
72166
72325
  return tagAccessor(count, total);
72167
72326
  }
@@ -72185,17 +72344,24 @@ var HierarchicalFilter_HierarchicalFilter = function HierarchicalFilter(props) {
72185
72344
  label = props.label,
72186
72345
  labels = props.labels,
72187
72346
  tagAccessor = props.tagAccessor,
72188
- displayAccessor = props.displayAccessor,
72189
72347
  expandedIds = props.expandedIds,
72190
72348
  spotlight = props.spotlight,
72191
72349
  setSpotlight = props.setSpotlight,
72192
- hasSpotlight = props.hasSpotlight;
72350
+ hasSpotlight = props.hasSpotlight,
72351
+ _props$disableAccesso = props.disableAccessor,
72352
+ disableAccessor = _props$disableAccesso === undefined ? es_always(false) : _props$disableAccesso,
72353
+ allItems = props.allItems;
72193
72354
 
72194
72355
  var classes = ScopeList_styles_useStyles({ accessibility: accessibility });
72195
72356
  var theme = useTheme_useTheme();
72196
72357
  var isRtl = utils_getIsRtl(theme);
72197
72358
  var Chip = es_isNil(Tag) ? src_Tag_Tag : Tag;
72198
- var tagValue = HierarchicalFilter_getCounter(items, displayAccessor, tagAccessor);
72359
+ var _allGroupedItems = es_groupBy(es_propOr('#ROOT', 'parentId'), allItems);
72360
+ var _disableAccessor = utils_getSingleDisableAccessor(_allGroupedItems, disableAccessor);
72361
+ var tagValue = HierarchicalFilter_getCounter(items, _disableAccessor, tagAccessor);
72362
+ var isDisabled = function isDisabled(item) {
72363
+ return es_is(Function, disableAccessor) ? disableAccessor(item) : false;
72364
+ };
72199
72365
 
72200
72366
  var onSelect = function onSelect(values) {
72201
72367
  changeSelection(id, values);
@@ -72255,7 +72421,13 @@ var HierarchicalFilter_HierarchicalFilter = function HierarchicalFilter(props) {
72255
72421
  tagValue
72256
72422
  )
72257
72423
  }, expansionPanelProps),
72258
- react_default.a.createElement(src_VirtualizedTree_VirtualizedTree, HierarchicalFilter_extends({}, props, { items: items, changeSelection: onSelect, isRtl: isRtl }))
72424
+ react_default.a.createElement(src_VirtualizedTree_VirtualizedTree, HierarchicalFilter_extends({}, props, {
72425
+ items: items,
72426
+ changeSelection: onSelect,
72427
+ isRtl: isRtl,
72428
+ disableAccessor: _disableAccessor,
72429
+ isGreyed: isDisabled
72430
+ }))
72259
72431
  );
72260
72432
  };
72261
72433
 
@@ -72266,7 +72438,6 @@ HierarchicalFilter_HierarchicalFilter.propTypes = {
72266
72438
  changeSelection: prop_types_default.a.func,
72267
72439
  onChangeActivePanel: prop_types_default.a.func,
72268
72440
  disableAccessor: prop_types_default.a.func,
72269
- displayAccessor: prop_types_default.a.func,
72270
72441
  HTMLRenderer: prop_types_default.a.func,
72271
72442
  isRtl: prop_types_default.a.bool,
72272
72443
  items: prop_types_default.a.array,
@@ -72284,7 +72455,8 @@ HierarchicalFilter_HierarchicalFilter.propTypes = {
72284
72455
  expandedIds: prop_types_default.a.object,
72285
72456
  spotlight: prop_types_default.a.object,
72286
72457
  setSpotlight: prop_types_default.a.func,
72287
- hasSpotlight: prop_types_default.a.bool
72458
+ hasSpotlight: prop_types_default.a.bool,
72459
+ allItems: prop_types_default.a.array
72288
72460
  };
72289
72461
 
72290
72462
  /* harmony default export */ var src_HierarchicalFilter_HierarchicalFilter = (withSpotlight_withSpotlight(withExpansionTree_withExpansionTree(HierarchicalFilter_HierarchicalFilter)));
@@ -72783,7 +72955,7 @@ function warning(condition, message) {
72783
72955
  var createClass = __webpack_require__(64);
72784
72956
 
72785
72957
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
72786
- var inheritsLoose = __webpack_require__(37);
72958
+ var inheritsLoose = __webpack_require__(38);
72787
72959
 
72788
72960
  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
72789
72961
  var assertThisInitialized = __webpack_require__(73);