@majoo-ui/react 1.53.0 → 1.53.2

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/index.esm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
- import React__default, { useState, createContext, useContext, useEffect, useRef, createElement as createElement$2, forwardRef, cloneElement, useCallback, useReducer } from 'react';
2
+ import React__default, { useState, createContext, useContext, useEffect, useRef, createElement as createElement$2, forwardRef, cloneElement, useLayoutEffect, useCallback, useReducer } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { createStitches, styled as styled$1 } from '@stitches/react';
5
5
  import { foundations } from '@majoo-ui/core';
6
- import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CloseFilled, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, MinusOutline, PlusOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, EyeOutline, UploadOutline, ImageOutline, ChevronLgLeftOutline, ChevronUpDownOutline, CheckFilled, RemoveOutline, LocationOutline } from '@majoo-ui/icons';
6
+ import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CloseFilled, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, MinusOutline, PlusOutline, ChevronLgLeftOutline, ChevronLgRightOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, EyeOutline, UploadOutline, ImageOutline, ChevronUpDownOutline, CheckFilled, RemoveOutline, LocationOutline } from '@majoo-ui/icons';
7
7
  import { Transition } from 'react-transition-group';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { Portal } from '@majoo-ui/helpers';
@@ -3922,7 +3922,10 @@ const ButtonTableMenu = {
3922
3922
  }
3923
3923
  };
3924
3924
  const StyledIcon$2 = styled('div', {
3925
- verticalAlign: 'middle'
3925
+ verticalAlign: 'middle',
3926
+ '& svg': {
3927
+ verticalAlign: 'middle'
3928
+ }
3926
3929
  });
3927
3930
  const StyledIconLeft$4 = styled('div', {
3928
3931
  marginRight: '$spacing-03',
@@ -6303,18 +6306,39 @@ const InputTextArea = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
6303
6306
  } = _ref,
6304
6307
  props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
6305
6308
 
6309
+ const textareaRef = useRef(null);
6310
+ useEffect(() => {
6311
+ if (textareaRef.current) {
6312
+ textareaRef.current.style.height = '60px';
6313
+ const scrollHeight = textareaRef === null || textareaRef === void 0 ? void 0 : textareaRef.current.scrollHeight;
6314
+ textareaRef.current.style.height = scrollHeight + 20 + 'px';
6315
+ }
6316
+ }, []);
6317
+
6318
+ function handleKeyDown(e) {
6319
+ e.target.style.height = '60px';
6320
+ e.target.style.height = `${e.target.scrollHeight + 20}px`;
6321
+ }
6322
+
6306
6323
  return /*#__PURE__*/React__default.createElement(StyledTextArea, _extends({
6307
- ref: ref,
6324
+ ref: node => {
6325
+ textareaRef.current = node;
6326
+
6327
+ if (ref && ref.current) {
6328
+ ref.current = node;
6329
+ }
6330
+ },
6308
6331
  disabled: disabled,
6309
6332
  isDisabled: disabled,
6310
6333
  readOnly: readOnly,
6311
- isReadOnly: readOnly
6334
+ isReadOnly: readOnly,
6335
+ onKeyDown: handleKeyDown
6312
6336
  }, props, {
6313
6337
  __self: undefined,
6314
6338
  __source: {
6315
6339
  fileName: _jsxFileName$G,
6316
- lineNumber: 22,
6317
- columnNumber: 3
6340
+ lineNumber: 38,
6341
+ columnNumber: 5
6318
6342
  }
6319
6343
  }));
6320
6344
  });
@@ -6533,7 +6557,7 @@ const InputRadio = _ref => {
6533
6557
  letterSpacing: '$long-content-regular',
6534
6558
  fontWeight: '400',
6535
6559
  cursor: 'pointer',
6536
- color: disabled || readOnly ? '$textDisable' : '$textPrimary'
6560
+ color: disabled || readOnly && checked !== props.value ? '$textDisable' : '$textPrimary'
6537
6561
  },
6538
6562
  __self: this,
6539
6563
  __source: {
@@ -6755,6 +6779,9 @@ const StyledInput = styled(NumberFormat, {
6755
6779
  sm: {
6756
6780
  height: 32
6757
6781
  },
6782
+ md: {
6783
+ height: 36
6784
+ },
6758
6785
  lg: {
6759
6786
  height: 40
6760
6787
  }
@@ -6810,7 +6837,7 @@ const InputNumber = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
6810
6837
  __self: undefined,
6811
6838
  __source: {
6812
6839
  fileName: _jsxFileName$D,
6813
- lineNumber: 147,
6840
+ lineNumber: 150,
6814
6841
  columnNumber: 3
6815
6842
  }
6816
6843
  }));
@@ -9157,7 +9184,7 @@ const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
9157
9184
  }
9158
9185
  }));
9159
9186
 
9160
- const _excluded$d = ["placeholder", "option", "value", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css"];
9187
+ const _excluded$d = ["placeholder", "option", "value", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css", "showCounter", "labelCounter"];
9161
9188
  var _jsxFileName$v = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectCheck\\InputSelectCheck.js";
9162
9189
  const Wrapper$1 = styled('div', {
9163
9190
  margin: 0,
@@ -9411,7 +9438,9 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9411
9438
  showSelectedTag,
9412
9439
  unremovableTags,
9413
9440
  helperText,
9414
- css
9441
+ css,
9442
+ showCounter,
9443
+ labelCounter
9415
9444
  } = _ref,
9416
9445
  props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
9417
9446
 
@@ -9534,12 +9563,21 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9534
9563
  if (disabled || readOnly) {
9535
9564
  return selectedValue;
9536
9565
  } else {
9537
- const filterItems = selectedValue.filter(val => val !== selected.id && val !== '!all');
9538
- removeSelectedItem(selected);
9539
- setSelectedValue(filterItems);
9566
+ if ((selected === null || selected === void 0 ? void 0 : selected.id) === 'counter') {
9567
+ setSelectedValue([]);
9568
+ onChange === null || onChange === void 0 ? void 0 : onChange([]);
9540
9569
 
9541
- if (selected.id !== '!all') {
9542
- onChange === null || onChange === void 0 ? void 0 : onChange(filterItems);
9570
+ for (let i = 0; i < selectedValue.length; i++) {
9571
+ removeSelectedItem(selectedValue[i]);
9572
+ }
9573
+ } else {
9574
+ const filterItems = selectedValue.filter(val => val !== selected.id && val !== '!all');
9575
+ removeSelectedItem(selected);
9576
+ setSelectedValue(filterItems);
9577
+
9578
+ if (selected.id !== '!all') {
9579
+ onChange === null || onChange === void 0 ? void 0 : onChange(filterItems);
9580
+ }
9543
9581
  }
9544
9582
  }
9545
9583
  };
@@ -9658,7 +9696,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9658
9696
  __self: undefined,
9659
9697
  __source: {
9660
9698
  fileName: _jsxFileName$v,
9661
- lineNumber: 507,
9699
+ lineNumber: 517,
9662
9700
  columnNumber: 7
9663
9701
  }
9664
9702
  }), /*#__PURE__*/React__default.createElement(Select, {
@@ -9668,7 +9706,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9668
9706
  __self: undefined,
9669
9707
  __source: {
9670
9708
  fileName: _jsxFileName$v,
9671
- lineNumber: 508,
9709
+ lineNumber: 518,
9672
9710
  columnNumber: 9
9673
9711
  }
9674
9712
  }, /*#__PURE__*/React__default.createElement(InputWrapper$1, _extends({}, getComboboxProps(getDropdownProps({
@@ -9683,7 +9721,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9683
9721
  __self: undefined,
9684
9722
  __source: {
9685
9723
  fileName: _jsxFileName$v,
9686
- lineNumber: 509,
9724
+ lineNumber: 519,
9687
9725
  columnNumber: 11
9688
9726
  }
9689
9727
  }), /*#__PURE__*/React__default.createElement(Input$6, _extends({}, getInputProps({
@@ -9699,7 +9737,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9699
9737
  __self: undefined,
9700
9738
  __source: {
9701
9739
  fileName: _jsxFileName$v,
9702
- lineNumber: 519,
9740
+ lineNumber: 529,
9703
9741
  columnNumber: 13
9704
9742
  }
9705
9743
  })), /*#__PURE__*/React__default.createElement(Button$1, _extends({}, getToggleButtonProps({
@@ -9712,7 +9750,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9712
9750
  __self: undefined,
9713
9751
  __source: {
9714
9752
  fileName: _jsxFileName$v,
9715
- lineNumber: 525,
9753
+ lineNumber: 535,
9716
9754
  columnNumber: 13
9717
9755
  }
9718
9756
  }), placeholder)), /*#__PURE__*/React__default.createElement(IconWrapper, _extends({}, getToggleButtonProps({
@@ -9723,7 +9761,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9723
9761
  __self: undefined,
9724
9762
  __source: {
9725
9763
  fileName: _jsxFileName$v,
9726
- lineNumber: 535,
9764
+ lineNumber: 545,
9727
9765
  columnNumber: 11
9728
9766
  }
9729
9767
  }), /*#__PURE__*/React__default.createElement(IconCaretDown, {
@@ -9731,7 +9769,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9731
9769
  __self: undefined,
9732
9770
  __source: {
9733
9771
  fileName: _jsxFileName$v,
9734
- lineNumber: 540,
9772
+ lineNumber: 550,
9735
9773
  columnNumber: 13
9736
9774
  }
9737
9775
  }))), helperText && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -9744,15 +9782,15 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9744
9782
  __self: undefined,
9745
9783
  __source: {
9746
9784
  fileName: _jsxFileName$v,
9747
- lineNumber: 544,
9785
+ lineNumber: 554,
9748
9786
  columnNumber: 11
9749
9787
  }
9750
- }, helperText), showSelectedTag && selectedItems.length !== 0 && /*#__PURE__*/React__default.createElement(TagWrapper$1, {
9788
+ }, helperText), showSelectedTag && !showCounter && selectedItems.length !== 0 && /*#__PURE__*/React__default.createElement(TagWrapper$1, {
9751
9789
  disabled: disabled,
9752
9790
  __self: undefined,
9753
9791
  __source: {
9754
9792
  fileName: _jsxFileName$v,
9755
- lineNumber: 549,
9793
+ lineNumber: 559,
9756
9794
  columnNumber: 11
9757
9795
  }
9758
9796
  }, selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$filter = selectedItems.filter(item => (item === null || item === void 0 ? void 0 : item.id) !== '!all')) === null || _selectedItems$filter === void 0 ? void 0 : _selectedItems$filter.map((selectedItem, index) => /*#__PURE__*/React__default.createElement(Tag, _extends({
@@ -9776,10 +9814,45 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9776
9814
  __self: undefined,
9777
9815
  __source: {
9778
9816
  fileName: _jsxFileName$v,
9779
- lineNumber: 553,
9817
+ lineNumber: 563,
9780
9818
  columnNumber: 17
9781
9819
  }
9782
- }), selectedItem.name))), /*#__PURE__*/React__default.createElement(OptionWrapper$1, {
9820
+ }), selectedItem.name))), showSelectedTag && showCounter && Boolean(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) && /*#__PURE__*/React__default.createElement(TagWrapper$1, {
9821
+ disabled: disabled,
9822
+ __self: undefined,
9823
+ __source: {
9824
+ fileName: _jsxFileName$v,
9825
+ lineNumber: 585,
9826
+ columnNumber: 11
9827
+ }
9828
+ }, /*#__PURE__*/React__default.createElement(Tag, {
9829
+ css: {
9830
+ maxWidth: '150px !important'
9831
+ },
9832
+ disabled: disabled,
9833
+ isRemovable: readOnly || disabled || Boolean(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length),
9834
+ size: size,
9835
+ readOnly: readOnly // {...getSelectedItemProps({ selectedItem, index })}
9836
+ ,
9837
+ onRemove: event => {
9838
+ if (onRemoveItem) {
9839
+ return onRemoveItem({
9840
+ id: 'counter'
9841
+ });
9842
+ } else {
9843
+ event.stopPropagation();
9844
+ removeItem({
9845
+ id: 'counter'
9846
+ });
9847
+ }
9848
+ },
9849
+ __self: undefined,
9850
+ __source: {
9851
+ fileName: _jsxFileName$v,
9852
+ lineNumber: 586,
9853
+ columnNumber: 13
9854
+ }
9855
+ }, `${selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length} ${labelCounter}`)), /*#__PURE__*/React__default.createElement(OptionWrapper$1, {
9783
9856
  placement: placement,
9784
9857
  css: {
9785
9858
  display: isOpen && disabled === false ? 'block' : 'none',
@@ -9788,7 +9861,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9788
9861
  __self: undefined,
9789
9862
  __source: {
9790
9863
  fileName: _jsxFileName$v,
9791
- lineNumber: 574,
9864
+ lineNumber: 606,
9792
9865
  columnNumber: 9
9793
9866
  }
9794
9867
  }, items.length !== 0 ? /*#__PURE__*/React__default.createElement(Option, _extends({}, getMenuProps({}, {
@@ -9797,7 +9870,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9797
9870
  __self: undefined,
9798
9871
  __source: {
9799
9872
  fileName: _jsxFileName$v,
9800
- lineNumber: 579,
9873
+ lineNumber: 611,
9801
9874
  columnNumber: 13
9802
9875
  }
9803
9876
  }), isOpen && items.map((item, index) => /*#__PURE__*/React__default.createElement(ItemWrapper$1, _extends({
@@ -9815,7 +9888,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9815
9888
  __self: undefined,
9816
9889
  __source: {
9817
9890
  fileName: _jsxFileName$v,
9818
- lineNumber: 582,
9891
+ lineNumber: 614,
9819
9892
  columnNumber: 19
9820
9893
  }
9821
9894
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
@@ -9828,7 +9901,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9828
9901
  __self: undefined,
9829
9902
  __source: {
9830
9903
  fileName: _jsxFileName$v,
9831
- lineNumber: 595,
9904
+ lineNumber: 627,
9832
9905
  columnNumber: 21
9833
9906
  }
9834
9907
  }, item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -9836,7 +9909,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9836
9909
  __self: undefined,
9837
9910
  __source: {
9838
9911
  fileName: _jsxFileName$v,
9839
- lineNumber: 604,
9912
+ lineNumber: 636,
9840
9913
  columnNumber: 25
9841
9914
  }
9842
9915
  }) : selectedValue.includes(item.id) && (item.isDisabled === false || item.isDisabled === undefined) && /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -9844,21 +9917,21 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9844
9917
  __self: undefined,
9845
9918
  __source: {
9846
9919
  fileName: _jsxFileName$v,
9847
- lineNumber: 608,
9920
+ lineNumber: 640,
9848
9921
  columnNumber: 27
9849
9922
  }
9850
9923
  }), showSelectAll && (item === null || item === void 0 ? void 0 : item.id) === '!all' && selectedValue !== null && selectedValue !== void 0 && selectedValue.length && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) < (items === null || items === void 0 ? void 0 : items.length) ? /*#__PURE__*/React__default.createElement(IndeterminateFilled, {
9851
9924
  __self: undefined,
9852
9925
  __source: {
9853
9926
  fileName: _jsxFileName$v,
9854
- lineNumber: 615,
9927
+ lineNumber: 647,
9855
9928
  columnNumber: 25
9856
9929
  }
9857
9930
  }, "-") : /*#__PURE__*/React__default.createElement("div", {
9858
9931
  __self: undefined,
9859
9932
  __source: {
9860
9933
  fileName: _jsxFileName$v,
9861
- lineNumber: 617,
9934
+ lineNumber: 649,
9862
9935
  columnNumber: 25
9863
9936
  }
9864
9937
  })), /*#__PURE__*/React__default.createElement(Item$3, {
@@ -9868,7 +9941,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9868
9941
  __self: undefined,
9869
9942
  __source: {
9870
9943
  fileName: _jsxFileName$v,
9871
- lineNumber: 620,
9944
+ lineNumber: 652,
9872
9945
  columnNumber: 21
9873
9946
  }
9874
9947
  }, item.name)))) : /*#__PURE__*/React__default.createElement(Option, _extends({
@@ -9881,14 +9954,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9881
9954
  __self: undefined,
9882
9955
  __source: {
9883
9956
  fileName: _jsxFileName$v,
9884
- lineNumber: 625,
9957
+ lineNumber: 657,
9885
9958
  columnNumber: 13
9886
9959
  }
9887
9960
  }), /*#__PURE__*/React__default.createElement(StyledDiv$1, {
9888
9961
  __self: undefined,
9889
9962
  __source: {
9890
9963
  fileName: _jsxFileName$v,
9891
- lineNumber: 626,
9964
+ lineNumber: 658,
9892
9965
  columnNumber: 15
9893
9966
  }
9894
9967
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -9898,7 +9971,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9898
9971
  __self: undefined,
9899
9972
  __source: {
9900
9973
  fileName: _jsxFileName$v,
9901
- lineNumber: 627,
9974
+ lineNumber: 659,
9902
9975
  columnNumber: 17
9903
9976
  }
9904
9977
  }, /*#__PURE__*/React__default.createElement(CircleInfoOutline, {
@@ -9910,7 +9983,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9910
9983
  __self: undefined,
9911
9984
  __source: {
9912
9985
  fileName: _jsxFileName$v,
9913
- lineNumber: 628,
9986
+ lineNumber: 660,
9914
9987
  columnNumber: 19
9915
9988
  }
9916
9989
  })), textEmptyItem))));
@@ -9935,7 +10008,9 @@ InputSelectCheck.propTypes = {
9935
10008
  selectAllLabel: PropTypes.string,
9936
10009
  showSelectedTag: PropTypes.bool,
9937
10010
  css: PropTypes.object,
9938
- helperText: PropTypes.string
10011
+ helperText: PropTypes.string,
10012
+ showCounter: PropTypes.bool,
10013
+ labelCounter: PropTypes.string
9939
10014
  };
9940
10015
  InputSelectCheck.defaultProps = {
9941
10016
  placeholder: 'Select Item',
@@ -9951,7 +10026,9 @@ InputSelectCheck.defaultProps = {
9951
10026
  textEmptyItem: 'Item tidak ditemukan',
9952
10027
  sortBy: 'name',
9953
10028
  showSelectAll: false,
9954
- selectAllLabel: 'Pilih Semua'
10029
+ selectAllLabel: 'Pilih Semua',
10030
+ showCounter: false,
10031
+ labelCounter: 'Item terpilih'
9955
10032
  };
9956
10033
 
9957
10034
  var _jsxFileName$u = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectTag\\InputSelectTag.js";
@@ -9984,7 +10061,9 @@ InputSelectTag.propTypes = {
9984
10061
  unremovableTags: PropTypes.arrayOf(PropTypes.string),
9985
10062
  disabledOptions: PropTypes.arrayOf(PropTypes.string),
9986
10063
  textEmptyItem: PropTypes.string,
9987
- helperText: PropTypes.string
10064
+ helperText: PropTypes.string,
10065
+ showCounter: PropTypes.bool,
10066
+ labelCounter: PropTypes.string
9988
10067
  };
9989
10068
  InputSelectTag.defaultProps = {
9990
10069
  placeholder: 'Select Item',
@@ -9998,7 +10077,9 @@ InputSelectTag.defaultProps = {
9998
10077
  disabledOptions: [],
9999
10078
  unremovableTags: [],
10000
10079
  textEmptyItem: 'Item tidak ditemukan',
10001
- sortBy: 'name'
10080
+ sortBy: 'name',
10081
+ showCounter: false,
10082
+ labelCounter: 'Item terpilih'
10002
10083
  };
10003
10084
 
10004
10085
  var _jsxFileName$t = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputCreatable\\InputCreatable.js";
@@ -10869,6 +10950,20 @@ const Button = styled(Button$3, {
10869
10950
  border: `1px solid $gray150 !important`
10870
10951
  }
10871
10952
  }
10953
+ },
10954
+ buttonSize: {
10955
+ sm: {
10956
+ height: '32px !important',
10957
+ padding: '4px 16px !important'
10958
+ },
10959
+ md: {
10960
+ height: '36px !important',
10961
+ padding: '4px 16px !important'
10962
+ },
10963
+ lg: {
10964
+ height: '40px !important',
10965
+ padding: '7px 16px !important'
10966
+ }
10872
10967
  }
10873
10968
  }
10874
10969
  });
@@ -10886,7 +10981,8 @@ const InputCounter = /*#__PURE__*/forwardRef((props, ref) => {
10886
10981
  disabledIncrement,
10887
10982
  disabledDecrement,
10888
10983
  prefix,
10889
- suffix
10984
+ suffix,
10985
+ size
10890
10986
  } = props;
10891
10987
  const [inputValue, setInputValue] = useState((_a = value !== null && value !== void 0 ? value : min) !== null && _a !== void 0 ? _a : 0);
10892
10988
  useEffect(() => {
@@ -10936,6 +11032,7 @@ const InputCounter = /*#__PURE__*/forwardRef((props, ref) => {
10936
11032
  type: "button",
10937
11033
  disabled: disabled || disabledDecrement,
10938
11034
  buttonType: "secondary",
11035
+ buttonSize: size,
10939
11036
  counterType: "minus",
10940
11037
  icon: true,
10941
11038
  onClick: handleDown
@@ -10952,11 +11049,13 @@ const InputCounter = /*#__PURE__*/forwardRef((props, ref) => {
10952
11049
  allowNegative: allowNegative,
10953
11050
  onChange: handleChange,
10954
11051
  prefix: prefix,
10955
- suffix: suffix
11052
+ suffix: suffix,
11053
+ size: size
10956
11054
  }, void 0), jsx(Button, Object.assign({
10957
11055
  type: "button",
10958
11056
  disabled: disabled || disabledIncrement,
10959
11057
  buttonType: "secondary",
11058
+ buttonSize: size,
10960
11059
  counterType: "plus",
10961
11060
  icon: true,
10962
11061
  onClick: handleUp
@@ -10970,7 +11069,8 @@ const InputCounter = /*#__PURE__*/forwardRef((props, ref) => {
10970
11069
  });
10971
11070
  InputCounter.defaultProps = {
10972
11071
  allowNegative: false,
10973
- disabled: false
11072
+ disabled: false,
11073
+ size: 'lg'
10974
11074
  };
10975
11075
 
10976
11076
  const _excluded$c = ["children"];
@@ -11643,7 +11743,15 @@ const StyledList = styled(TabsPrimitive.List, {
11643
11743
  flexShrink: 0,
11644
11744
  display: 'flex',
11645
11745
  borderBottom: '$medium',
11646
- boxShadow: '$medium'
11746
+ boxShadow: '$medium',
11747
+ overflowX: 'auto',
11748
+ overflowY: 'hidden',
11749
+ scrollBehavior: 'smooth',
11750
+ '-ms-overflow-style': 'none',
11751
+ scrollbarWidth: 'none',
11752
+ '&::-webkit-scrollbar': {
11753
+ display: 'none'
11754
+ }
11647
11755
  });
11648
11756
  const StyledTrigger$1 = styled(TabsPrimitive.Trigger, {
11649
11757
  all: 'unset',
@@ -11710,6 +11818,47 @@ const StyledContent$5 = styled(TabsPrimitive.Content, {
11710
11818
  outline: 'none',
11711
11819
  boxShadow: '$medium'
11712
11820
  });
11821
+ const ScrollButton = styled(Button$3, {
11822
+ width: '28px',
11823
+ '&:hover': {
11824
+ boxShadow: '0px 1px 1px rgba(0, 0, 0, 0.07), 0px 2px 4px rgba(0, 0, 0, 0.05), 0px 4px 10px rgba(0, 0, 0, 0.05)'
11825
+ },
11826
+ variants: {
11827
+ position: {
11828
+ left: {
11829
+ '& svg': {
11830
+ marginTop: '-1px',
11831
+ marginLeft: '-2px'
11832
+ }
11833
+ },
11834
+ right: {
11835
+ '& svg': {
11836
+ marginTop: 0,
11837
+ marginLeft: 0
11838
+ }
11839
+ }
11840
+ }
11841
+ }
11842
+ });
11843
+ const ScrollButtonContainer = styled(Box, {
11844
+ size: '28px',
11845
+ position: 'absolute',
11846
+ zIndex: '$sticky',
11847
+ borderRadius: '$md',
11848
+ top: '8px',
11849
+ variants: {
11850
+ position: {
11851
+ left: {
11852
+ left: '8px',
11853
+ boxShadow: '10px 0 8px 2px rgba(255,255,255,1), -6px 0 8px 2px rgba(255,255,255,1)'
11854
+ },
11855
+ right: {
11856
+ right: '8px',
11857
+ boxShadow: '6px 0 8px 2px rgba(255,255,255,1), -10px 0 8px 2px rgba(255,255,255,1)'
11858
+ }
11859
+ }
11860
+ }
11861
+ });
11713
11862
  const Tabs$1 = _ref => {
11714
11863
  let {
11715
11864
  children
@@ -11725,7 +11874,7 @@ const Tabs$1 = _ref => {
11725
11874
  __self: undefined,
11726
11875
  __source: {
11727
11876
  fileName: _jsxFileName$p,
11728
- lineNumber: 108,
11877
+ lineNumber: 162,
11729
11878
  columnNumber: 5
11730
11879
  }
11731
11880
  }), addPropsToChildren(children, {
@@ -11739,16 +11888,94 @@ const TabsList$1 = _ref2 => {
11739
11888
  } = _ref2,
11740
11889
  props = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
11741
11890
 
11742
- return /*#__PURE__*/React__default.createElement(StyledList, _extends({}, props, {
11891
+ const [listContainerScrollPosition, setlistContainerScrollPosition] = useState(0);
11892
+ const [scrollAreaWidth, setScrollAreaWidth] = useState(0);
11893
+ const listContainerRef = useRef();
11894
+ useLayoutEffect(() => {
11895
+ if (listContainerRef && listContainerRef.current) {
11896
+ setScrollAreaWidth(listContainerRef.current.scrollWidth - listContainerRef.current.clientWidth);
11897
+ }
11898
+ }, [listContainerRef, activeTabs]);
11899
+ return /*#__PURE__*/React__default.createElement(Box, {
11900
+ css: {
11901
+ position: 'relative'
11902
+ },
11743
11903
  __self: undefined,
11744
11904
  __source: {
11745
11905
  fileName: _jsxFileName$p,
11746
- lineNumber: 121,
11747
- columnNumber: 10
11906
+ lineNumber: 184,
11907
+ columnNumber: 5
11908
+ }
11909
+ }, /*#__PURE__*/React__default.createElement(StyledList, _extends({}, props, {
11910
+ ref: listContainerRef,
11911
+ onScroll: e => setlistContainerScrollPosition(e.target.scrollLeft),
11912
+ __self: undefined,
11913
+ __source: {
11914
+ fileName: _jsxFileName$p,
11915
+ lineNumber: 185,
11916
+ columnNumber: 7
11748
11917
  }
11749
11918
  }), addPropsToChildren(children, {
11750
11919
  activeTabs
11751
- }));
11920
+ })), listContainerScrollPosition > 10 && /*#__PURE__*/React__default.createElement(ScrollButtonContainer, {
11921
+ position: "left",
11922
+ __self: undefined,
11923
+ __source: {
11924
+ fileName: _jsxFileName$p,
11925
+ lineNumber: 189,
11926
+ columnNumber: 9
11927
+ }
11928
+ }, /*#__PURE__*/React__default.createElement(ScrollButton, {
11929
+ position: "left",
11930
+ type: "button",
11931
+ buttonType: "ghost",
11932
+ size: "xs",
11933
+ icon: true,
11934
+ onClick: () => listContainerRef.current.scrollLeft -= scrollAreaWidth / 2,
11935
+ __self: undefined,
11936
+ __source: {
11937
+ fileName: _jsxFileName$p,
11938
+ lineNumber: 190,
11939
+ columnNumber: 11
11940
+ }
11941
+ }, /*#__PURE__*/React__default.createElement(ChevronLgLeftOutline, {
11942
+ color: colors$4.iconGreen,
11943
+ __self: undefined,
11944
+ __source: {
11945
+ fileName: _jsxFileName$p,
11946
+ lineNumber: 198,
11947
+ columnNumber: 13
11948
+ }
11949
+ }))), listContainerScrollPosition < scrollAreaWidth - 10 && /*#__PURE__*/React__default.createElement(ScrollButtonContainer, {
11950
+ position: "right",
11951
+ __self: undefined,
11952
+ __source: {
11953
+ fileName: _jsxFileName$p,
11954
+ lineNumber: 203,
11955
+ columnNumber: 9
11956
+ }
11957
+ }, /*#__PURE__*/React__default.createElement(ScrollButton, {
11958
+ position: "right",
11959
+ type: "button",
11960
+ buttonType: "ghost",
11961
+ size: "xs",
11962
+ icon: true,
11963
+ onClick: () => listContainerRef.current.scrollLeft += scrollAreaWidth / 2,
11964
+ __self: undefined,
11965
+ __source: {
11966
+ fileName: _jsxFileName$p,
11967
+ lineNumber: 204,
11968
+ columnNumber: 11
11969
+ }
11970
+ }, /*#__PURE__*/React__default.createElement(ChevronLgRightOutline, {
11971
+ color: colors$4.iconGreen,
11972
+ __self: undefined,
11973
+ __source: {
11974
+ fileName: _jsxFileName$p,
11975
+ lineNumber: 212,
11976
+ columnNumber: 13
11977
+ }
11978
+ }))));
11752
11979
  };
11753
11980
  const TabsTrigger$1 = _ref3 => {
11754
11981
  let {
@@ -11766,7 +11993,7 @@ const TabsTrigger$1 = _ref3 => {
11766
11993
  __self: undefined,
11767
11994
  __source: {
11768
11995
  fileName: _jsxFileName$p,
11769
- lineNumber: 127,
11996
+ lineNumber: 223,
11770
11997
  columnNumber: 5
11771
11998
  }
11772
11999
  }), /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
@@ -11779,14 +12006,14 @@ const TabsTrigger$1 = _ref3 => {
11779
12006
  __self: undefined,
11780
12007
  __source: {
11781
12008
  fileName: _jsxFileName$p,
11782
- lineNumber: 131,
12009
+ lineNumber: 227,
11783
12010
  columnNumber: 11
11784
12011
  }
11785
12012
  }, wrappedChildren),
11786
12013
  __self: undefined,
11787
12014
  __source: {
11788
12015
  fileName: _jsxFileName$p,
11789
- lineNumber: 128,
12016
+ lineNumber: 224,
11790
12017
  columnNumber: 7
11791
12018
  }
11792
12019
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -11798,7 +12025,7 @@ const TabsTrigger$1 = _ref3 => {
11798
12025
  __self: undefined,
11799
12026
  __source: {
11800
12027
  fileName: _jsxFileName$p,
11801
- lineNumber: 136,
12028
+ lineNumber: 232,
11802
12029
  columnNumber: 9
11803
12030
  }
11804
12031
  }, icon && /*#__PURE__*/React__default.cloneElement(icon, {
@@ -11812,7 +12039,7 @@ const TabsContent$1 = _ref4 => {
11812
12039
  __self: undefined,
11813
12040
  __source: {
11814
12041
  fileName: _jsxFileName$p,
11815
- lineNumber: 154,
12042
+ lineNumber: 250,
11816
12043
  columnNumber: 58
11817
12044
  }
11818
12045
  }));
@@ -23571,12 +23798,12 @@ const Device = props => {
23571
23798
  };
23572
23799
 
23573
23800
  React.useEffect(() => {
23574
- if (props.withComponent) {
23801
+ if (props.withComponent || (props === null || props === void 0 ? void 0 : props.variant)) {
23575
23802
  setTimeout(() => {
23576
23803
  setRender(prev => prev + 1);
23577
23804
  }, 100);
23578
23805
  }
23579
- }, [props.withComponent]);
23806
+ }, [props.withComponent, props === null || props === void 0 ? void 0 : props.variant]);
23580
23807
 
23581
23808
  const renderVariant = variant => {
23582
23809
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;