@banyan_cloud/roots 1.0.49 → 1.0.50

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.
package/dist/cjs/index.js CHANGED
@@ -42531,7 +42531,7 @@ var Dropdown = /*#__PURE__*/React.forwardRef(function Dropdown(props, inputRef)
42531
42531
  var _inputRef$current$val, _inputRef$current$val2, _inputRef$current$val3, _inputValue$;
42532
42532
  var inputValue = (_inputRef$current$val = (_inputRef$current$val2 = inputRef.current.value) === null || _inputRef$current$val2 === void 0 ? void 0 : (_inputRef$current$val3 = _inputRef$current$val2.split) === null || _inputRef$current$val3 === void 0 ? void 0 : _inputRef$current$val3.call(_inputRef$current$val2, ', ')) !== null && _inputRef$current$val !== void 0 ? _inputRef$current$val : [];
42533
42533
  if (multi) {
42534
- return inputRef;
42534
+ return inputValue;
42535
42535
  }
42536
42536
  return (_inputValue$ = inputValue === null || inputValue === void 0 ? void 0 : inputValue[0]) !== null && _inputValue$ !== void 0 ? _inputValue$ : null;
42537
42537
  }
@@ -44582,8 +44582,8 @@ TableCell.defaultProps = _objectSpread2(_objectSpread2({}, BaseCell.defaultProps
44582
44582
  onSort: function onSort() {}
44583
44583
  });
44584
44584
 
44585
- var css$m = ".TableRow_module_root__a0ba90a7 {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n}\n.TableRow_module_root__a0ba90a7.TableRow_module_headerRow__a0ba90a7 {\n background: var(--grey6);\n}\n.TableRow_module_root__a0ba90a7.TableRow_module_headerRow__a0ba90a7.TableRow_module_expandable__a0ba90a7 > [data-elem=base-cell]:first-child {\n padding-left: 4.5rem;\n}\n.TableRow_module_root__a0ba90a7.TableRow_module_bodyRow__a0ba90a7 {\n background: var(--white);\n}\n.TableRow_module_root__a0ba90a7.TableRow_module_bodyRow__a0ba90a7:hover > [data-elem=base-cell] {\n background: var(--info-bg);\n}\n.TableRow_module_root__a0ba90a7.TableRow_module_bodyRow__a0ba90a7[data-active=true] > [data-elem=base-cell] {\n background: var(--background);\n}\n.TableRow_module_root__a0ba90a7 > [data-elem=base-cell]:first-child {\n padding-left: 1rem;\n}\n.TableRow_module_root__a0ba90a7 > [data-elem=base-cell]:last-child {\n padding-right: 1rem;\n}\n.TableRow_module_root__a0ba90a7 > [data-elem=base-cell].TableRow_module_expandableCell__a0ba90a7 {\n padding-left: 0.9rem;\n padding-right: 0.1rem;\n overflow: visible;\n}\n.TableRow_module_root__a0ba90a7 > [data-elem=base-cell].TableRow_module_expandableCell__a0ba90a7 > [data-elem=component2] {\n overflow: visible;\n}\n.TableRow_module_root__a0ba90a7 > [data-elem=base-cell].TableRow_module_expandableCell__a0ba90a7 > [data-elem=component2] > [data-elem=text] {\n overflow: visible;\n}\n.TableRow_module_root__a0ba90a7 .TableRow_module_button__a0ba90a7 .TableRow_module_icon__a0ba90a7 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.TableRow_module_root__a0ba90a7 .TableRow_module_expanded__a0ba90a7 .TableRow_module_button__a0ba90a7 .TableRow_module_icon__a0ba90a7 {\n transform: rotate(180deg);\n}";
44586
- var modules_f6618a87 = {"root":"TableRow_module_root__a0ba90a7","header-row":"TableRow_module_headerRow__a0ba90a7","expandable":"TableRow_module_expandable__a0ba90a7","body-row":"TableRow_module_bodyRow__a0ba90a7","expandable-cell":"TableRow_module_expandableCell__a0ba90a7","button":"TableRow_module_button__a0ba90a7","icon":"TableRow_module_icon__a0ba90a7","expanded":"TableRow_module_expanded__a0ba90a7"};
44585
+ var css$m = ".TableRow_module_root__b606b560 {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n}\n.TableRow_module_root__b606b560.TableRow_module_headerRow__b606b560 {\n background: var(--grey6);\n}\n.TableRow_module_root__b606b560.TableRow_module_headerRow__b606b560 > [data-elem=base-cell].TableRow_module_expandableCell__b606b560 {\n background: transparent;\n}\n.TableRow_module_root__b606b560.TableRow_module_headerRow__b606b560 > [data-elem=base-cell].TableRow_module_expandableCell__b606b560 > [data-elem=component2] {\n width: 3rem;\n visibility: hidden;\n}\n.TableRow_module_root__b606b560.TableRow_module_bodyRow__b606b560 {\n background: var(--white);\n}\n.TableRow_module_root__b606b560.TableRow_module_bodyRow__b606b560:hover > [data-elem=base-cell] {\n background: var(--info-bg);\n}\n.TableRow_module_root__b606b560.TableRow_module_bodyRow__b606b560[data-active=true] > [data-elem=base-cell] {\n background: var(--background);\n}\n.TableRow_module_root__b606b560 > [data-elem=base-cell]:first-child {\n padding-left: 1rem;\n}\n.TableRow_module_root__b606b560 > [data-elem=base-cell]:last-child {\n padding-right: 1rem;\n}\n.TableRow_module_root__b606b560 > [data-elem=base-cell].TableRow_module_expandableCell__b606b560 {\n padding-left: 0.9rem;\n padding-right: 0.1rem;\n overflow: visible;\n}\n.TableRow_module_root__b606b560 > [data-elem=base-cell].TableRow_module_expandableCell__b606b560 > [data-elem=component2] {\n overflow: visible;\n}\n.TableRow_module_root__b606b560 > [data-elem=base-cell].TableRow_module_expandableCell__b606b560 > [data-elem=component2] > [data-elem=text] {\n overflow: visible;\n}\n.TableRow_module_root__b606b560 button.TableRow_module_button__b606b560[data-elem=base-cell] .TableRow_module_icon__b606b560 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.TableRow_module_root__b606b560 button.TableRow_module_button__b606b560[data-elem=base-cell]:disabled {\n cursor: default;\n}\n.TableRow_module_root__b606b560 button.TableRow_module_button__b606b560[data-elem=base-cell]:disabled .TableRow_module_icon__b606b560 {\n visibility: hidden;\n}\n.TableRow_module_root__b606b560 .TableRow_module_expanded__b606b560 .TableRow_module_button__b606b560 .TableRow_module_icon__b606b560 {\n transform: rotate(180deg);\n}";
44586
+ var modules_f6618a87 = {"root":"TableRow_module_root__b606b560","header-row":"TableRow_module_headerRow__b606b560","expandable-cell":"TableRow_module_expandableCell__b606b560","body-row":"TableRow_module_bodyRow__b606b560","button":"TableRow_module_button__b606b560","icon":"TableRow_module_icon__b606b560","expanded":"TableRow_module_expanded__b606b560"};
44587
44587
  n(css$m,{});
44588
44588
 
44589
44589
  var TableRow = /*#__PURE__*/React.forwardRef(function BaseTable(props, ref) {
@@ -44637,13 +44637,21 @@ var TableRow = /*#__PURE__*/React.forwardRef(function BaseTable(props, ref) {
44637
44637
  tabIndex: -1,
44638
44638
  "data-elem": "table-row",
44639
44639
  className: classes(className, modules_f6618a87.root, modules_f6618a87["".concat(type, "-row")], Expandable ? modules_f6618a87.expandable : ''),
44640
- children: [Expandable && type === 'body' && /*#__PURE__*/jsxRuntime.jsx(TableCell, {
44640
+ children: [Expandable && type === 'header' && /*#__PURE__*/jsxRuntime.jsx(TableCell, {
44641
+ className: classes(modules_f6618a87['expandable-cell'], expanded ? modules_f6618a87.expanded : ''),
44642
+ size: "auto",
44643
+ cellContent: null
44644
+ }), Expandable && type === 'body' && /*#__PURE__*/jsxRuntime.jsx(TableCell, {
44641
44645
  className: classes(modules_f6618a87['expandable-cell'], expanded ? modules_f6618a87.expanded : ''),
44642
44646
  size: "auto",
44643
44647
  cellContent: /*#__PURE__*/jsxRuntime.jsx(Button, {
44644
44648
  className: modules_f6618a87.button,
44645
44649
  size: "auto",
44646
44650
  variant: "text",
44651
+ disabled: !Expandable({
44652
+ datum: datum,
44653
+ index: _index
44654
+ }),
44647
44655
  onClick: function onClick() {
44648
44656
  setExpanded(function (prev) {
44649
44657
  return !prev;
@@ -103437,80 +103445,139 @@ var css$2 = ".BaseWidget_module_root__2fcc4af8 {\n display: flex;\n flex-direc
103437
103445
  var modules_6a0e74b6 = {"root":"BaseWidget_module_root__2fcc4af8","header":"BaseWidget_module_header__2fcc4af8","header-title":"BaseWidget_module_headerTitle__2fcc4af8","no-options":"BaseWidget_module_noOptions__2fcc4af8","title":"BaseWidget_module_title__2fcc4af8","value":"BaseWidget_module_value__2fcc4af8","header-options":"BaseWidget_module_headerOptions__2fcc4af8","toggle-body":"BaseWidget_module_toggleBody__2fcc4af8","dropdown-header":"BaseWidget_module_dropdownHeader__2fcc4af8","expand-button":"BaseWidget_module_expandButton__2fcc4af8","expand-icon":"BaseWidget_module_expandIcon__2fcc4af8","children":"BaseWidget_module_children__2fcc4af8","dropdown-popper":"BaseWidget_module_dropdownPopper__2fcc4af8","dropdown-item":"BaseWidget_module_dropdownItem__2fcc4af8"};
103438
103446
  n(css$2,{});
103439
103447
 
103440
- var css$1 = "div.Toggle_module_root__71d12fea {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n overflow: auto;\n padding: 0.25rem;\n background: var(--grey8);\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n border-radius: 0.4rem 0.4rem;\n box-shadow: inset 0px 1px 2px rgba(97, 97, 97, 0.2), inset 0px 2px 4px rgba(97, 97, 97, 0.2);\n}\ndiv.Toggle_module_root__71d12fea.Toggle_module_themeDark__71d12fea {\n background: var(--grey);\n}\ndiv.Toggle_module_root__71d12fea.Toggle_module_themeDark__71d12fea [data-elem=base-cell].Toggle_module_toggleButton__71d12fea {\n color: var(--grey4);\n}\ndiv.Toggle_module_root__71d12fea.Toggle_module_themeDark__71d12fea [data-elem=base-cell].Toggle_module_toggleButton__71d12fea.Toggle_module_active__71d12fea {\n background: var(--dark-grey);\n color: var(--white);\n}\ndiv.Toggle_module_root__71d12fea.Toggle_module_themeLight__71d12fea {\n color: var(--dark-grey);\n}\ndiv.Toggle_module_root__71d12fea [data-elem=base-cell].Toggle_module_toggleButton__71d12fea {\n color: var(--grey);\n padding: 0.2rem;\n height: 2rem;\n background: transparent;\n}\ndiv.Toggle_module_root__71d12fea [data-elem=base-cell].Toggle_module_toggleButton__71d12fea.Toggle_module_active__71d12fea {\n box-shadow: -2px -2px 4px rgba(166, 166, 166, 0.25), 2px 2px 4px rgba(166, 166, 166, 0.24);\n background: var(--white);\n border-radius: 0.25rem;\n color: var(--dark-grey);\n}";
103441
- var modules_a2cdc77c = {"root":"Toggle_module_root__71d12fea","theme-dark":"Toggle_module_themeDark__71d12fea","toggle-button":"Toggle_module_toggleButton__71d12fea","active":"Toggle_module_active__71d12fea","theme-light":"Toggle_module_themeLight__71d12fea"};
103448
+ var css$1 = "div.Toggle_module_root__c5dad2bc {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n overflow: auto;\n gap: 0.25rem;\n padding: 0.25rem;\n background: var(--grey8);\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n border-radius: 0.4rem 0.4rem;\n box-shadow: inset 0px 1px 2px rgba(97, 97, 97, 0.2), inset 0px 2px 4px rgba(97, 97, 97, 0.2);\n}\ndiv.Toggle_module_root__c5dad2bc.Toggle_module_themeDark__c5dad2bc {\n background: var(--grey);\n}\ndiv.Toggle_module_root__c5dad2bc.Toggle_module_themeDark__c5dad2bc [data-elem=base-cell].Toggle_module_toggleButton__c5dad2bc {\n color: var(--grey4);\n}\ndiv.Toggle_module_root__c5dad2bc.Toggle_module_themeDark__c5dad2bc [data-elem=base-cell].Toggle_module_toggleButton__c5dad2bc.Toggle_module_active__c5dad2bc {\n background: var(--dark-grey);\n color: var(--white);\n}\ndiv.Toggle_module_root__c5dad2bc.Toggle_module_themeLight__c5dad2bc {\n color: var(--dark-grey);\n}\ndiv.Toggle_module_root__c5dad2bc [data-elem=base-cell].Toggle_module_toggleButton__c5dad2bc {\n color: var(--grey);\n padding: 0.344rem 0.75rem;\n height: 2rem;\n background: transparent;\n}\ndiv.Toggle_module_root__c5dad2bc [data-elem=base-cell].Toggle_module_toggleButton__c5dad2bc.Toggle_module_active__c5dad2bc {\n box-shadow: -2px -2px 4px rgba(166, 166, 166, 0.25), 2px 2px 4px rgba(166, 166, 166, 0.24);\n background: var(--white);\n border-radius: 0.25rem;\n color: var(--dark-grey);\n}\ndiv.Toggle_module_root__c5dad2bc .Toggle_module_input__c5dad2bc {\n display: none;\n}";
103449
+ var modules_a2cdc77c = {"root":"Toggle_module_root__c5dad2bc","theme-dark":"Toggle_module_themeDark__c5dad2bc","toggle-button":"Toggle_module_toggleButton__c5dad2bc","active":"Toggle_module_active__c5dad2bc","theme-light":"Toggle_module_themeLight__c5dad2bc","input":"Toggle_module_input__c5dad2bc"};
103442
103450
  n(css$1,{});
103443
103451
 
103444
- /* eslint-disable no-unused-vars */
103445
- var Toggle = function Toggle(props) {
103452
+ var Toggle = /*#__PURE__*/React.forwardRef(function Toggle(props, ref) {
103453
+ // eslint-disable-next-line object-curly-newline
103446
103454
  var className = props.className,
103447
103455
  theme = props.theme,
103448
103456
  options = props.options,
103449
- selectedToggle = props.selectedToggle,
103450
- setSelectedToggle = props.setSelectedToggle,
103451
- onChange = props.onChange;
103452
- var onButtonClick = function onButtonClick(value) {
103453
- setSelectedToggle(value);
103454
- onChange(value);
103457
+ defaultValue = props.defaultValue,
103458
+ value = props.value,
103459
+ onChange = props.onChange,
103460
+ multi = props.multi,
103461
+ color = props.color;
103462
+
103463
+ // for uncontrolled input
103464
+ var _useState = React.useState(defaultValue),
103465
+ _useState2 = _slicedToArray(_useState, 2),
103466
+ uncontrolledValue = _useState2[0],
103467
+ setUncontrolledValue = _useState2[1];
103468
+ var _useRef = React.useRef(value !== undefined),
103469
+ isControlled = _useRef.current;
103470
+
103471
+ // eslint-disable-next-line no-nested-ternary
103472
+ var inputValue = isControlled ? value !== null && value !== void 0 ? value : '' : uncontrolledValue;
103473
+ var allSelected = multi ? options.length === inputValue.length : false;
103474
+ var onSelectAll = function onSelectAll() {
103475
+ var allValues = options.map(function (option) {
103476
+ return option.value;
103477
+ });
103478
+ if (isControlled) {
103479
+ onChange(allValues);
103480
+ } else {
103481
+ setUncontrolledValue(allValues);
103482
+ }
103455
103483
  };
103456
- return /*#__PURE__*/jsxRuntime.jsx("div", {
103484
+ var onButtonClick = function onButtonClick(newValue, selected) {
103485
+ // if multi select
103486
+ if (multi) {
103487
+ // if it was already selected, remove it
103488
+ if (selected) {
103489
+ var newInputValue = inputValue.filter(function (val) {
103490
+ return val !== newValue;
103491
+ });
103492
+
103493
+ // if total selected after removal is greater than 0, set that
103494
+ // else select all
103495
+ if (newInputValue.length > 0) {
103496
+ if (isControlled) {
103497
+ onChange(newInputValue);
103498
+ } else {
103499
+ setUncontrolledValue(newInputValue);
103500
+ }
103501
+ } else {
103502
+ onSelectAll();
103503
+ }
103504
+ } else {
103505
+ // if all are selected, select only the one being clicked
103506
+ if (allSelected) {
103507
+ if (isControlled) {
103508
+ onChange([newValue]);
103509
+ } else {
103510
+ setUncontrolledValue([newValue]);
103511
+ }
103512
+ } else {
103513
+ if (isControlled) {
103514
+ onChange([].concat(_toConsumableArray$1(inputValue), [newValue]));
103515
+ } else {
103516
+ setUncontrolledValue([].concat(_toConsumableArray$1(inputValue), [newValue]));
103517
+ }
103518
+ }
103519
+ }
103520
+ } else {
103521
+ // if single select, just select that item
103522
+ if (isControlled) {
103523
+ onChange(newValue);
103524
+ } else {
103525
+ setUncontrolledValue(newValue);
103526
+ }
103527
+ }
103528
+ };
103529
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
103457
103530
  className: classes(className, modules_a2cdc77c.root, modules_a2cdc77c["theme-".concat(theme)]),
103458
- children: options.map(function (item) {
103531
+ children: [multi && /*#__PURE__*/jsxRuntime.jsx(Button, {
103532
+ size: "auto",
103533
+ "data-elem": "toggle",
103534
+ className: classes(modules_a2cdc77c['toggle-button'], allSelected ? modules_a2cdc77c.active : ''),
103535
+ onClick: onSelectAll,
103536
+ title: "All",
103537
+ color: allSelected ? color : 'default',
103538
+ children: value
103539
+ }), options.map(function (item) {
103459
103540
  var title = item.title,
103460
- value = item.value,
103541
+ itemValue = item.value,
103461
103542
  leftComponent = item.leftComponent,
103462
- rightComponent = item.rightComponent,
103463
- color = item.color;
103464
- var isActive = selectedToggle === value;
103543
+ rightComponent = item.rightComponent;
103544
+ var isActive = inputValue.indexOf(itemValue) !== -1 && !allSelected;
103465
103545
  return /*#__PURE__*/jsxRuntime.jsx(Button, {
103546
+ size: "auto",
103466
103547
  "data-elem": "toggle",
103467
- className: classes(modules_a2cdc77c['toggle-button'], selectedToggle === value ? modules_a2cdc77c.active : ''),
103548
+ className: classes(modules_a2cdc77c['toggle-button'], isActive ? modules_a2cdc77c.active : ''),
103468
103549
  onClick: function onClick() {
103469
- return onButtonClick(value);
103550
+ onButtonClick(itemValue, isActive);
103470
103551
  },
103471
- title: value,
103472
- value: value,
103552
+ title: title,
103473
103553
  color: isActive ? color : 'default',
103474
103554
  leftComponent: leftComponent,
103475
103555
  rightComponent: rightComponent,
103476
103556
  children: value
103477
- }, title);
103478
- })
103557
+ }, itemValue);
103558
+ }), /*#__PURE__*/jsxRuntime.jsx("input", {
103559
+ type: "text",
103560
+ ref: ref,
103561
+ className: modules_a2cdc77c.input,
103562
+ value: inputValue
103563
+ })]
103479
103564
  });
103480
- };
103565
+ });
103481
103566
  Toggle.propTypes = {
103482
103567
  className: propTypes$1.exports.string,
103483
103568
  theme: propTypes$1.exports.oneOf(['dark', 'light']),
103484
103569
  options: propTypes$1.exports.arrayOf(propTypes$1.exports.string),
103485
- selectedToggle: propTypes$1.exports.string,
103486
- setSelectedToggle: propTypes$1.exports.string
103570
+ defaultValue: propTypes$1.exports.string,
103571
+ value: propTypes$1.exports.string,
103572
+ multi: propTypes$1.exports.bool
103487
103573
  };
103488
103574
  Toggle.defaultProps = {
103489
103575
  className: '',
103490
103576
  theme: 'light',
103491
- options: [{
103492
- title: 'First',
103493
- value: 'First',
103494
- rightCompoenent: '',
103495
- leftCompoenent: ''
103496
- }, {
103497
- title: 'Second',
103498
- value: 'Second',
103499
- rightCompoenent: '',
103500
- leftCompoenent: ''
103501
- }, {
103502
- title: 'Third',
103503
- value: 'Third',
103504
- rightCompoenent: '',
103505
- leftCompoenent: ''
103506
- }, {
103507
- title: 'Fourth',
103508
- value: 'Fourth',
103509
- rightCompoenent: '',
103510
- leftCompoenent: ''
103511
- }],
103512
- selectedToggle: 'First',
103513
- setSelectedToggle: 'None'
103577
+ options: [],
103578
+ defaultValue: null,
103579
+ value: undefined,
103580
+ multi: false
103514
103581
  };
103515
103582
 
103516
103583
  var generateOptions = function generateOptions(optionData) {