@oliasoft-open-source/react-ui-library 3.3.5 → 3.3.7

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/global.css CHANGED
@@ -3918,7 +3918,7 @@ html[data-theme='dark'] {
3918
3918
  --color-border-button-hover: var(--color-border);
3919
3919
  --color-text-button-muted: rgba(255, 255, 255, 0.4);
3920
3920
  }
3921
- ._button_msniv_375 {
3921
+ ._button_q96hr_375 {
3922
3922
  cursor: pointer;
3923
3923
  display: inline-flex;
3924
3924
  align-items: center;
@@ -3944,79 +3944,82 @@ html[data-theme='dark'] {
3944
3944
  min-height: 38px;
3945
3945
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
3946
3946
  }
3947
- ._button_msniv_375:hover {
3947
+ ._button_q96hr_375:hover {
3948
3948
  background: var(--color-background-button-default-hover);
3949
3949
  border-color: var(--color-border-button-hover);
3950
3950
  }
3951
- ._button_msniv_375:active {
3951
+ ._button_q96hr_375:focus {
3952
+ box-shadow: var(--shadow-focus);
3953
+ }
3954
+ ._button_q96hr_375:active {
3952
3955
  background: var(--color-background-button-default-active);
3953
3956
  box-shadow: none;
3954
3957
  }
3955
- ._button_msniv_375._active_msniv_409 {
3958
+ ._button_q96hr_375._active_q96hr_412:not(._green_q96hr_412):not(._red_q96hr_412):not(._orange_q96hr_412) {
3956
3959
  border-color: var(--color-background-button-primary);
3957
3960
  color: var(--color-text-primary);
3958
3961
  position: relative;
3959
3962
  z-index: 2;
3960
3963
  }
3961
- ._button_msniv_375:hover,
3962
- ._button_msniv_375:focus,
3963
- ._button_msniv_375:active {
3964
+ ._button_q96hr_375:hover,
3965
+ ._button_q96hr_375:focus,
3966
+ ._button_q96hr_375:active {
3964
3967
  position: relative;
3965
3968
  z-index: 1;
3966
3969
  }
3967
- ._button_msniv_375 ._icon_msniv_421 {
3970
+ ._button_q96hr_375 ._icon_q96hr_424 {
3968
3971
  margin: 0 8px 0 -4px;
3969
3972
  }
3970
- ._button_msniv_375 ._icon_msniv_421 svg {
3973
+ ._button_q96hr_375 ._icon_q96hr_424 svg {
3971
3974
  height: 14px;
3972
3975
  width: 14px;
3973
3976
  }
3974
- ._iconOnly_msniv_428 {
3977
+ ._iconOnly_q96hr_431 {
3975
3978
  padding: 0.78571429em 0.78571429em 0.78571429em;
3976
3979
  display: inline-flex;
3977
3980
  align-items: center;
3978
3981
  justify-content: center;
3979
3982
  }
3980
- ._iconOnly_msniv_428 ._icon_msniv_421 {
3983
+ ._iconOnly_q96hr_431 ._icon_q96hr_424 {
3981
3984
  margin: 0;
3982
3985
  line-height: 0;
3983
3986
  }
3984
- ._basic_msniv_438 {
3987
+ ._basic_q96hr_441 {
3985
3988
  color: var(--color-text-primary);
3986
3989
  background: transparent;
3987
3990
  box-shadow: none !important;
3988
3991
  border: none !important;
3989
3992
  }
3990
- ._basic_msniv_438._muted_msniv_444 {
3993
+ ._basic_q96hr_441._muted_q96hr_447 {
3991
3994
  color: var(--color-text-button-muted);
3992
3995
  }
3993
- ._basic_msniv_438:hover,
3994
- ._basic_msniv_438:focus {
3996
+ ._basic_q96hr_441:hover,
3997
+ ._basic_q96hr_441:focus {
3995
3998
  color: var(--color-text-primary-hover);
3996
3999
  background: rgba(0, 0, 0, 0.05);
3997
4000
  }
3998
- ._basic_msniv_438:active,
3999
- ._basic_msniv_438._active_msniv_409 {
4001
+ ._basic_q96hr_441:active,
4002
+ ._basic_q96hr_441._active_q96hr_412 {
4000
4003
  color: var(--color-text-primary-active);
4001
4004
  background: rgba(0, 0, 0, 0.1);
4002
4005
  }
4003
- ._disabled_msniv_457 {
4006
+ ._disabled_q96hr_460 {
4004
4007
  cursor: default;
4005
4008
  pointer-events: none !important;
4006
4009
  color: var(--color-text-faint) !important;
4007
4010
  box-shadow: none !important;
4008
4011
  }
4009
- ._disabled_msniv_457:not(._active_msniv_409):not(._basic_msniv_438) {
4012
+ ._disabled_q96hr_460:not(._active_q96hr_412):not(._basic_q96hr_441) {
4010
4013
  background: var(--color-background-disabled) !important;
4011
4014
  border: 1px solid var(--color-border) !important;
4012
4015
  }
4013
- ._small_msniv_467 {
4016
+ ._small_q96hr_470 {
4014
4017
  font-size: 12px;
4015
4018
  min-height: 24px;
4016
4019
  padding: 0 0.75rem;
4017
4020
  }
4018
- ._pill_msniv_472,
4019
- ._round_msniv_473 {
4021
+ ._pill_q96hr_475,
4022
+ ._round_q96hr_476 {
4020
4023
  text-transform: uppercase;
4021
4024
  letter-spacing: 0.1em;
4022
4025
  font-size: 13px;
@@ -4025,108 +4028,114 @@ html[data-theme='dark'] {
4025
4028
  display: inline-flex;
4026
4029
  align-items: center;
4027
4030
  }
4028
- ._round_msniv_473 {
4031
+ ._round_q96hr_476 {
4029
4032
  padding: 0;
4030
4033
  width: 38px;
4031
4034
  line-height: 1;
4032
4035
  }
4033
- ._round_msniv_473._small_msniv_467 {
4036
+ ._round_q96hr_476._small_q96hr_470 {
4034
4037
  width: 24px;
4035
4038
  }
4036
- ._orange_msniv_490 {
4039
+ ._orange_q96hr_412 {
4037
4040
  background-color: var(--color-background-button-primary);
4038
4041
  }
4039
- ._orange_msniv_490:hover,
4040
- ._orange_msniv_490:focus {
4042
+ ._orange_q96hr_412:hover,
4043
+ ._orange_q96hr_412:focus {
4041
4044
  background-color: var(--color-background-button-primary-hover);
4042
4045
  }
4043
- ._orange_msniv_490:active {
4046
+ ._orange_q96hr_412:active,
4047
+ ._orange_q96hr_412._active_q96hr_412 {
4044
4048
  background-color: var(--color-background-button-primary-active);
4045
4049
  }
4046
- ._red_msniv_500 {
4050
+ ._red_q96hr_412 {
4047
4051
  background-color: var(--color-background-button-error);
4048
4052
  }
4049
- ._red_msniv_500:hover,
4050
- ._red_msniv_500:focus {
4053
+ ._red_q96hr_412:hover,
4054
+ ._red_q96hr_412:focus {
4051
4055
  background-color: var(--color-background-button-error-hover);
4052
4056
  }
4053
- ._red_msniv_500:active {
4057
+ ._red_q96hr_412:active,
4058
+ ._red_q96hr_412._active_q96hr_412 {
4054
4059
  background-color: var(--color-background-button-error-active);
4055
4060
  }
4056
- ._green_msniv_510 {
4061
+ ._green_q96hr_412 {
4057
4062
  background-color: var(--color-background-button-success);
4058
4063
  }
4059
- ._green_msniv_510:hover,
4060
- ._green_msniv_510:focus {
4064
+ ._green_q96hr_412:hover,
4065
+ ._green_q96hr_412:focus {
4061
4066
  background-color: var(--color-background-button-success-hover);
4062
4067
  }
4063
- ._green_msniv_510:active {
4068
+ ._green_q96hr_412:active,
4069
+ ._green_q96hr_412._active_q96hr_412 {
4064
4070
  background-color: var(--color-background-button-success-active);
4065
4071
  }
4066
- ._orange_msniv_490,
4067
- ._red_msniv_500,
4068
- ._green_msniv_510 {
4072
+ ._orange_q96hr_412,
4073
+ ._red_q96hr_412,
4074
+ ._green_q96hr_412 {
4069
4075
  color: #fff;
4070
4076
  }
4071
- ._orange_msniv_490:hover,
4072
- ._red_msniv_500:hover,
4073
- ._green_msniv_510:hover,
4074
- ._orange_msniv_490:focus,
4075
- ._red_msniv_500:focus,
4076
- ._green_msniv_510:focus {
4077
+ ._orange_q96hr_412:hover,
4078
+ ._red_q96hr_412:hover,
4079
+ ._green_q96hr_412:hover,
4080
+ ._orange_q96hr_412:focus,
4081
+ ._red_q96hr_412:focus,
4082
+ ._green_q96hr_412:focus {
4077
4083
  color: #fff;
4078
4084
  }
4079
- ._orange_msniv_490:active,
4080
- ._red_msniv_500:active,
4081
- ._green_msniv_510:active {
4085
+ ._orange_q96hr_412:active,
4086
+ ._red_q96hr_412:active,
4087
+ ._green_q96hr_412:active,
4088
+ ._orange_q96hr_412._active_q96hr_412,
4089
+ ._red_q96hr_412._active_q96hr_412,
4090
+ ._green_q96hr_412._active_q96hr_412 {
4082
4091
  color: #fff;
4083
4092
  }
4084
- ._inverted_msniv_538 {
4093
+ ._inverted_q96hr_547 {
4085
4094
  background-color: transparent;
4086
4095
  border-color: var(--color-text);
4087
4096
  box-shadow: none;
4088
4097
  }
4089
- ._inverted_msniv_538:hover,
4090
- ._inverted_msniv_538:focus,
4091
- ._inverted_msniv_538:active {
4098
+ ._inverted_q96hr_547:hover,
4099
+ ._inverted_q96hr_547:focus,
4100
+ ._inverted_q96hr_547:active {
4092
4101
  box-shadow: none;
4093
4102
  }
4094
- ._inverted_msniv_538._orange_msniv_490 {
4103
+ ._inverted_q96hr_547._orange_q96hr_412 {
4095
4104
  color: var(--color-background-button-primary);
4096
4105
  border-color: var(--color-background-button-primary);
4097
4106
  }
4098
- ._inverted_msniv_538._red_msniv_500 {
4107
+ ._inverted_q96hr_547._red_q96hr_412 {
4099
4108
  color: var(--color-background-button-error);
4100
4109
  border-color: var(--color-background-button-error);
4101
4110
  }
4102
- ._inverted_msniv_538._green_msniv_510 {
4111
+ ._inverted_q96hr_547._green_q96hr_412 {
4103
4112
  color: var(--color-background-button-success);
4104
4113
  border-color: var(--color-background-button-success);
4105
4114
  }
4106
- ._inverted_msniv_538._orange_msniv_490:hover,
4107
- ._inverted_msniv_538._red_msniv_500:hover,
4108
- ._inverted_msniv_538._green_msniv_510:hover,
4109
- ._inverted_msniv_538._orange_msniv_490:focus,
4110
- ._inverted_msniv_538._red_msniv_500:focus,
4111
- ._inverted_msniv_538._green_msniv_510:focus,
4112
- ._inverted_msniv_538._orange_msniv_490:active,
4113
- ._inverted_msniv_538._red_msniv_500:active,
4114
- ._inverted_msniv_538._green_msniv_510:active {
4115
+ ._inverted_q96hr_547._orange_q96hr_412:hover,
4116
+ ._inverted_q96hr_547._red_q96hr_412:hover,
4117
+ ._inverted_q96hr_547._green_q96hr_412:hover,
4118
+ ._inverted_q96hr_547._orange_q96hr_412:focus,
4119
+ ._inverted_q96hr_547._red_q96hr_412:focus,
4120
+ ._inverted_q96hr_547._green_q96hr_412:focus,
4121
+ ._inverted_q96hr_547._orange_q96hr_412:active,
4122
+ ._inverted_q96hr_547._red_q96hr_412:active,
4123
+ ._inverted_q96hr_547._green_q96hr_412:active {
4115
4124
  color: white;
4116
4125
  box-shadow: none;
4117
4126
  }
4118
- ._groupOrderFirst_msniv_572,
4119
- ._groupOrderMiddle_msniv_573,
4120
- ._groupOrderLast_msniv_574 {
4127
+ ._groupOrderFirst_q96hr_581,
4128
+ ._groupOrderMiddle_q96hr_582,
4129
+ ._groupOrderLast_q96hr_583 {
4121
4130
  margin-right: 0;
4122
4131
  }
4123
- ._groupOrderFirst_msniv_572,
4124
- ._groupOrderMiddle_msniv_573 {
4132
+ ._groupOrderFirst_q96hr_581,
4133
+ ._groupOrderMiddle_q96hr_582 {
4125
4134
  border-top-right-radius: 0 !important;
4126
4135
  border-bottom-right-radius: 0 !important;
4127
4136
  }
4128
- ._groupOrderLast_msniv_574,
4129
- ._groupOrderMiddle_msniv_573 {
4137
+ ._groupOrderLast_q96hr_583,
4138
+ ._groupOrderMiddle_q96hr_582 {
4130
4139
  border-top-left-radius: 0 !important;
4131
4140
  border-bottom-left-radius: 0 !important;
4132
4141
  }
package/dist/index.js CHANGED
@@ -10018,26 +10018,29 @@ Badge.propTypes = {
10018
10018
  margin: propTypes$1.exports.string,
10019
10019
  small: propTypes$1.exports.bool
10020
10020
  };
10021
- const button$3 = "_button_msniv_375";
10022
- const active$8 = "_active_msniv_409";
10023
- const icon$6 = "_icon_msniv_421";
10024
- const iconOnly = "_iconOnly_msniv_428";
10025
- const basic = "_basic_msniv_438";
10026
- const muted$1 = "_muted_msniv_444";
10027
- const disabled$8 = "_disabled_msniv_457";
10028
- const small$c = "_small_msniv_467";
10029
- const pill = "_pill_msniv_472";
10030
- const round = "_round_msniv_473";
10031
- const orange$1 = "_orange_msniv_490";
10032
- const red$1 = "_red_msniv_500";
10033
- const green$1 = "_green_msniv_510";
10034
- const inverted$1 = "_inverted_msniv_538";
10035
- const groupOrderFirst$4 = "_groupOrderFirst_msniv_572";
10036
- const groupOrderMiddle$4 = "_groupOrderMiddle_msniv_573";
10037
- const groupOrderLast$4 = "_groupOrderLast_msniv_574";
10021
+ const button$3 = "_button_q96hr_375";
10022
+ const active$8 = "_active_q96hr_412";
10023
+ const green$1 = "_green_q96hr_412";
10024
+ const red$1 = "_red_q96hr_412";
10025
+ const orange$1 = "_orange_q96hr_412";
10026
+ const icon$6 = "_icon_q96hr_424";
10027
+ const iconOnly = "_iconOnly_q96hr_431";
10028
+ const basic = "_basic_q96hr_441";
10029
+ const muted$1 = "_muted_q96hr_447";
10030
+ const disabled$8 = "_disabled_q96hr_460";
10031
+ const small$c = "_small_q96hr_470";
10032
+ const pill = "_pill_q96hr_475";
10033
+ const round = "_round_q96hr_476";
10034
+ const inverted$1 = "_inverted_q96hr_547";
10035
+ const groupOrderFirst$4 = "_groupOrderFirst_q96hr_581";
10036
+ const groupOrderMiddle$4 = "_groupOrderMiddle_q96hr_582";
10037
+ const groupOrderLast$4 = "_groupOrderLast_q96hr_583";
10038
10038
  const buttonStyles = {
10039
10039
  button: button$3,
10040
10040
  active: active$8,
10041
+ green: green$1,
10042
+ red: red$1,
10043
+ orange: orange$1,
10041
10044
  icon: icon$6,
10042
10045
  iconOnly,
10043
10046
  basic,
@@ -10046,9 +10049,6 @@ const buttonStyles = {
10046
10049
  small: small$c,
10047
10050
  pill,
10048
10051
  round,
10049
- orange: orange$1,
10050
- red: red$1,
10051
- green: green$1,
10052
10052
  inverted: inverted$1,
10053
10053
  groupOrderFirst: groupOrderFirst$4,
10054
10054
  groupOrderMiddle: groupOrderMiddle$4,
@@ -12798,6 +12798,7 @@ const styles$z = {
12798
12798
  const DrawerTabs = ({
12799
12799
  tabs: tabs2,
12800
12800
  activeTab,
12801
+ open,
12801
12802
  background,
12802
12803
  handleTabClick,
12803
12804
  width,
@@ -12807,7 +12808,7 @@ const DrawerTabs = ({
12807
12808
  children: [/* @__PURE__ */ jsx("div", {
12808
12809
  className: styles$z.tabs,
12809
12810
  children: tabs2.map((tab2, index2) => /* @__PURE__ */ jsx("div", {
12810
- className: cx(styles$z.tab, activeTab === index2 && styles$z.active),
12811
+ className: cx(styles$z.tab, activeTab === index2 && open ? styles$z.active : ""),
12811
12812
  style: {
12812
12813
  background
12813
12814
  },
@@ -12823,7 +12824,7 @@ const DrawerTabs = ({
12823
12824
  },
12824
12825
  className: styles$z.tabsContent,
12825
12826
  "data-testid": testId && `${testId}-content-${index2}`,
12826
- children: active2 && tab2.content
12827
+ children: active2 && open && tab2.content
12827
12828
  }, index2);
12828
12829
  })]
12829
12830
  });
@@ -14871,6 +14872,8 @@ reactResizable.exports = function() {
14871
14872
  };
14872
14873
  var Resizable = reactResizable.exports.Resizable = Resizable$2.default;
14873
14874
  reactResizable.exports.ResizableBox = ResizableBox$1.default;
14875
+ const TABS_WIDTH = 37;
14876
+ const MIN_OPEN_WIDTH = 240;
14874
14877
  const ResizeHandle = React__default.forwardRef((props, ref2) => {
14875
14878
  const {
14876
14879
  handleAxis,
@@ -14888,32 +14891,38 @@ const DrawerResizeWrapper = ({
14888
14891
  width,
14889
14892
  right: right2,
14890
14893
  onResize,
14891
- open
14894
+ setOpen
14892
14895
  }) => {
14893
14896
  const [isResizing2, setIsResizing] = useState(false);
14894
- const MINIMUM_OPEN_WIDTH = 100;
14895
14897
  const MAXIMUM_OPEN_WIDTH = window.innerWidth / 2;
14896
14898
  const handleResize = (event, {
14897
14899
  node,
14898
14900
  size: size2,
14899
14901
  handle
14900
14902
  }) => {
14901
- if (open) {
14902
- onResize(size2.width);
14903
- }
14903
+ onResize(size2.width);
14904
14904
  };
14905
14905
  return onResize ? /* @__PURE__ */ jsx(Resizable, {
14906
14906
  width,
14907
14907
  height: 100,
14908
- minConstraints: [MINIMUM_OPEN_WIDTH, null],
14908
+ minConstraints: [TABS_WIDTH, null],
14909
14909
  maxConstraints: [MAXIMUM_OPEN_WIDTH, null],
14910
14910
  onResize: handleResize,
14911
- handle: open ? /* @__PURE__ */ jsx(ResizeHandle, {}) : null,
14911
+ handle: /* @__PURE__ */ jsx(ResizeHandle, {}),
14912
14912
  resizeHandles: right2 ? ["w"] : ["e"],
14913
14913
  axis: "x",
14914
14914
  className: isResizing2 ? styles$z.isResizing : "",
14915
- onResizeStart: () => setIsResizing(true),
14916
- onResizeStop: () => setIsResizing(false),
14915
+ onResizeStart: () => {
14916
+ setOpen(true);
14917
+ onResize(width);
14918
+ setIsResizing(true);
14919
+ },
14920
+ onResizeStop: () => {
14921
+ setIsResizing(false);
14922
+ if (width < TABS_WIDTH + 50) {
14923
+ setOpen(false);
14924
+ }
14925
+ },
14917
14926
  children
14918
14927
  }) : /* @__PURE__ */ jsx(Fragment, {
14919
14928
  children
@@ -14957,18 +14966,19 @@ const Drawer = ({
14957
14966
  const isStandardButton = button2 === true;
14958
14967
  const isCustomButton = !isStandardButton && isValidElement(button2);
14959
14968
  const [open, setOpen] = setOpenProp ? [openProp, setOpenProp] : isStandardButton || tabs2 ? useState(openProp) : [openProp, null];
14960
- const [activeTab, setActiveTab] = setActiveTabProp ? [activeTabProp, setActiveTabProp] : useState(open ? defaultTabIndex : null);
14969
+ const [activeTab, setActiveTab] = setActiveTabProp ? [activeTabProp, setActiveTabProp] : useState(defaultTabIndex);
14961
14970
  const openWidth = Array.isArray(width) ? width[activeTab] : width;
14962
- const TABS_WIDTH = 37;
14963
14971
  const currentWidth = open ? openWidth : tabs2 ? TABS_WIDTH : closedWidth;
14964
14972
  const handleTabClick = (index2) => {
14965
- if (activeTab === index2) {
14966
- setActiveTab(null);
14973
+ if (activeTab === index2 && open) {
14967
14974
  setOpen(false);
14968
- } else {
14969
- setActiveTab(index2);
14975
+ } else if (!open) {
14970
14976
  setOpen(true);
14977
+ if (onResize && width < MIN_OPEN_WIDTH) {
14978
+ onResize(MIN_OPEN_WIDTH);
14979
+ }
14971
14980
  }
14981
+ setActiveTab(index2);
14972
14982
  if (getActiveTab) {
14973
14983
  getActiveTab(tabs2[index2]);
14974
14984
  }
@@ -14976,7 +14986,7 @@ const Drawer = ({
14976
14986
  return /* @__PURE__ */ jsx(DrawerResizeWrapper, {
14977
14987
  width: currentWidth,
14978
14988
  onResize,
14979
- open,
14989
+ setOpen,
14980
14990
  right: right2,
14981
14991
  children: /* @__PURE__ */ jsxs("div", {
14982
14992
  className: cx(styles$z.drawer, shadow2 ? styles$z.shadow : "", fixed2 ? styles$z.fixed : styles$z.inline, right2 ? styles$z.right : styles$z.left),
@@ -14994,6 +15004,7 @@ const Drawer = ({
14994
15004
  width: openWidth,
14995
15005
  testId,
14996
15006
  tabs: tabs2,
15007
+ open,
14997
15008
  activeTab,
14998
15009
  background,
14999
15010
  handleTabClick
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oliasoft-open-source/react-ui-library",
3
- "version": "3.3.5",
3
+ "version": "3.3.7",
4
4
  "description": "Reusable UI components for React projects",
5
5
  "module": "./dist/index.js",
6
6
  "main": "./dist/index.js",