@itcase/ui 1.0.20 → 1.0.21

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.
@@ -122,7 +122,6 @@ var Button = /*#__PURE__*/React__default.default.forwardRef(function Button(prop
122
122
  var _useStyles = useStyles.useStyles(props),
123
123
  buttonStyles = _useStyles.styles,
124
124
  labelStyles = _useStyles.label;
125
- console.log(isDisabled);
126
125
  return /*#__PURE__*/React__default.default.createElement(index.LinkWrapper, {
127
126
  className: clsx__default.default(className, 'button', type && "button_type_" + type, borderWidthClass, borderColorClass, borderTypeClass, fillClass, fillHoverClass, shapeClass, sizeClass, widthClass, elevationClass, Badge && 'button_type_badge', loading && 'button_state_loading', !label && (iconBefore || iconAfter || icon) && 'button_type_icon', label && (iconBefore || iconAfter || before || after) && "button_type_with-icon button_type_with-icon_" + size),
128
127
  DefaultComponent: "button",
@@ -10102,25 +10102,44 @@ var ru = locale;
10102
10102
 
10103
10103
  function DatePickerInput(props) {
10104
10104
  var className = props.className,
10105
+ value = props.value,
10105
10106
  inputProps = props.inputProps,
10106
10107
  datePickerProps = props.datePickerProps,
10107
10108
  onChange = props.onChange;
10108
- var _useState = React.useState(function () {
10109
- return datePickerProps.isStartDefaultNull ? null : new Date();
10110
- }),
10111
- startDate = _useState[0],
10112
- setStartDate = _useState[1];
10113
- var _useState2 = React.useState(null),
10114
- endDate = _useState2[0],
10115
- setEndDate = _useState2[1];
10116
- var onChangeDate = React.useCallback(function (date) {
10117
- setStartDate(date);
10118
- onChange && onChange(date);
10119
- }, []);
10109
+
10110
+ // const [startDate, setStartDate] = useState(() =>
10111
+ // datePickerProps.isStartDefaultNull ? null : new Date(),
10112
+ // )
10113
+
10114
+ var startDate = React.useMemo(function () {
10115
+ if (value) {
10116
+ if (typeof value === 'string') {
10117
+ return new Date(value);
10118
+ }
10119
+ return value;
10120
+ }
10121
+ if (datePickerProps.isStartDefaultNull) {
10122
+ return null;
10123
+ }
10124
+ return new Date();
10125
+ }, [value, datePickerProps.isStartDefaultNull]);
10126
+ var _useState = React.useState(null),
10127
+ endDate = _useState[0],
10128
+ setEndDate = _useState[1];
10129
+
10130
+ // const onChangeDate = useCallback(
10131
+ // (date) => {
10132
+ // setStartDate(date)
10133
+ // onChange && onChange(date)
10134
+ // },
10135
+ // [onChange],
10136
+ // )
10137
+
10120
10138
  var handleChange = function handleChange(_ref) {
10121
10139
  var newStartDate = _ref[0],
10122
10140
  newEndDate = _ref[1];
10123
- setStartDate(newStartDate);
10141
+ onChange && onChange(newStartDate);
10142
+ // setStartDate(newStartDate)
10124
10143
  setEndDate(newEndDate);
10125
10144
  };
10126
10145
  var renderDayContents = function renderDayContents(day, date) {
@@ -10189,7 +10208,7 @@ function DatePickerInput(props) {
10189
10208
  renderDayContents: renderDayContents,
10190
10209
  selected: startDate,
10191
10210
  startDate: startDate,
10192
- onChange: datePickerProps != null && datePickerProps.selectsRange ? handleChange : onChangeDate
10211
+ onChange: datePickerProps != null && datePickerProps.selectsRange ? handleChange : onChange
10193
10212
  }, datePickerProps)));
10194
10213
  }
10195
10214
  var DatePickerСustomInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -22,7 +22,7 @@ var inputConfig = {
22
22
  inputConfig.state = newComponent;
23
23
  }
24
24
  };
25
- function Input(props) {
25
+ var Input = /*#__PURE__*/React__default.default.forwardRef(function Input(props, ref) {
26
26
  var _inputConfig$state$st, _inputConfig$state$st2, _inputConfig$state$st3;
27
27
  var state = props.state,
28
28
  id = props.id,
@@ -32,7 +32,6 @@ function Input(props) {
32
32
  placeholder = props.placeholder,
33
33
  disabled = props.disabled,
34
34
  value = props.value,
35
- inputRef = props.inputRef,
36
35
  onBlur = props.onBlur,
37
36
  onChange = props.onChange,
38
37
  onFocus = props.onFocus,
@@ -86,7 +85,7 @@ function Input(props) {
86
85
  type: type,
87
86
  id: id,
88
87
  index: index,
89
- ref: inputRef,
88
+ ref: ref,
90
89
  disabled: disabled,
91
90
  placeholder: placeholder,
92
91
  value: value,
@@ -95,7 +94,7 @@ function Input(props) {
95
94
  onFocus: onFocus,
96
95
  onKeyDown: onKeyDown
97
96
  });
98
- }
97
+ });
99
98
  Input.propTypes = {
100
99
  id: PropTypes__default.default.string,
101
100
  className: PropTypes__default.default.string,
@@ -83,6 +83,10 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
83
83
  prefix: 'segmented_width_',
84
84
  propsKey: 'width'
85
85
  });
86
+ var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
87
+ prefix: 'fill_hover_',
88
+ propsKey: 'fillHover'
89
+ });
86
90
  return /*#__PURE__*/React__default.default.createElement("div", {
87
91
  className: clsx__default.default(className, 'segmented', shapeClass, fillClass, widthClass, size && "segmented_size_" + size, type && "segmented_type_" + type),
88
92
  ref: controlRef
@@ -92,7 +96,7 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
92
96
  className: clsx__default.default('segmented__wrapper-inner', borderColorClass, borderWidthClass, borderTypeClass)
93
97
  }, segments == null ? void 0 : segments.map(function (item, i) {
94
98
  return /*#__PURE__*/React__default.default.createElement("div", {
95
- className: clsx__default.default('segmented__item', item.value === activeSegment.value && 'segmented__item_active'),
99
+ className: clsx__default.default('segmented__item', fillHoverClass, item.value === activeSegment.value && 'segmented__item_active'),
96
100
  key: item.value,
97
101
  ref: segmentsRefs.get(item.value)
98
102
  }, /*#__PURE__*/React__default.default.createElement("input", {
@@ -7521,9 +7521,10 @@ var SelectControl = function SelectControl(props) {
7521
7521
  var _props$selectProps = props.selectProps,
7522
7522
  inputFill = _props$selectProps.inputFill,
7523
7523
  inputShape = _props$selectProps.inputShape,
7524
- inputBorderColor = _props$selectProps.inputBorderColor;
7524
+ inputBorderColor = _props$selectProps.inputBorderColor,
7525
+ inputBorderHover = _props$selectProps.inputBorderHover;
7525
7526
  return /*#__PURE__*/React__namespace.default.createElement(Select$1.components.Control, Object.assign({}, props, {
7526
- className: clsx__default.default(inputFill, inputShape, inputBorderColor && "border-color_" + inputBorderColor)
7527
+ className: clsx__default.default(inputFill, inputShape, inputBorderColor && "border-color_" + inputBorderColor, inputBorderHover && "border-color_hover_" + inputBorderHover)
7527
7528
  }));
7528
7529
  };
7529
7530
  SelectControl.propTypes = {
@@ -7850,6 +7851,9 @@ var SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(function
7850
7851
  var inputBorderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
7851
7852
  propsKey: 'inputBorderColor'
7852
7853
  });
7854
+ var inputBorderHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
7855
+ propsKey: 'inputBorderHover'
7856
+ });
7853
7857
  var placeholderTextSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
7854
7858
  propsKey: 'placeholderTextSize'
7855
7859
  });
@@ -7917,6 +7921,7 @@ var SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(function
7917
7921
  inputCaretColor: inputCaretColorClass,
7918
7922
  inputShape: inputShapeClass,
7919
7923
  inputBorderColor: inputBorderColorClass,
7924
+ inputBorderHover: inputBorderHoverClass,
7920
7925
  placeholder: placeholder,
7921
7926
  placeholderTextSize: placeholderTextSizeClass,
7922
7927
  placeholderTextColor: placeholderTextColorClass,
@@ -40,6 +40,10 @@ function Textarea(props) {
40
40
  prefix: 'border-color_',
41
41
  propsKey: 'borderColor'
42
42
  });
43
+ var borderColorHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
44
+ prefix: 'border-color_hover_',
45
+ propsKey: 'borderHover'
46
+ });
43
47
  var sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
44
48
  prefix: 'textarea_size_',
45
49
  propsKey: 'size'
@@ -73,7 +77,7 @@ function Textarea(props) {
73
77
  propsKey: 'width'
74
78
  });
75
79
  return /*#__PURE__*/React__default.default.createElement("textarea", {
76
- className: clsx__default.default(className, 'textarea', (textSizeClass || textColorClass || weightClass) && 'text', caretClass, fillClass, borderColorClass, placeholderClass, shapeClass, textSizeClass, textColorClass, weightClass, widthClass, sizeClass),
80
+ className: clsx__default.default(className, 'textarea', (textSizeClass || textColorClass || weightClass) && 'text', caretClass, fillClass, borderColorClass, borderColorHoverClass, placeholderClass, shapeClass, textSizeClass, textColorClass, weightClass, widthClass, sizeClass),
77
81
  id: id,
78
82
  disabled: disabled,
79
83
  placeholder: placeholder,
@@ -723,9 +723,12 @@
723
723
  .react-datepicker {
724
724
  background: var(--date-picker-background);
725
725
  border-radius: var(--date-picker-border-radius);
726
- border: var(--date-picker-border);
726
+ border: none;
727
727
  box-shadow: var(--date-picker-box-shadow);
728
728
  font-size: inherit;
729
+ &-popper {
730
+ z-index: 10;
731
+ }
729
732
  &__triangle {
730
733
  display: none;
731
734
  }
@@ -735,6 +738,14 @@
735
738
  z-index: 1000 !important;
736
739
  }
737
740
  }
741
+ &__header {
742
+ background: var(--date-picker-background);
743
+ border: none;
744
+ padding: 0;
745
+ &--time {
746
+ padding: 0;
747
+ }
748
+ }
738
749
  &__month {
739
750
  margin: 0;
740
751
  &-container {
@@ -796,7 +807,11 @@
796
807
  background: var(--date-picker-day-hover-background);
797
808
  color: var(--date-picker-day-hover-text-color);
798
809
  }
799
- &--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range) {
810
+ &--in-selecting-range:not(.react-datepicker__day--in-range):not(
811
+ .react-datepicker__month-text--in-range
812
+ ):not(.react-datepicker__quarter-text--in-range):not(
813
+ .react-datepicker__year-text--in-range
814
+ ) {
800
815
  background: var(--date-picker-day-selected-background);
801
816
  & .button__label {
802
817
  color: var(--date-picker-day-selected-text-color);
@@ -841,6 +856,41 @@
841
856
  & .button__label {
842
857
  color: var(--date-picker-day-today-text-color);
843
858
  }
859
+ &:hover {
860
+ background: var(--date-picker-day-hover-background);
861
+ }
862
+ &.react-datepicker__day--in-range {
863
+ border-radius: 0;
864
+ background: var(--date-picker-day-selected-background);
865
+ & .button__label {
866
+ color: var(--date-picker-day-selected-text-color);
867
+ }
868
+ &:hover {
869
+ background: var(--date-picker-day-selected-background) !important;
870
+ & .button__label {
871
+ color: var(--date-picker-day-selected-text-color) !important;
872
+ }
873
+ }
874
+ }
875
+ &.react-datepicker__day--range {
876
+ background-color: var(--date-picker-day-range-background) !important;
877
+ border-radius: var(--date-picker-day-range-border-radius) !important;
878
+ & .button__label {
879
+ color: var(--date-picker-day-range-text-color) !important;
880
+ }
881
+ &-start {
882
+ border-radius: var(--date-picker-day-range-start-border-radius) !important;
883
+ &:hover {
884
+ border-radius: var(--date-picker-day-range-start-border-radius) !important;
885
+ }
886
+ }
887
+ &-end {
888
+ border-radius: var(--date-picker-day-range-end-border-radius) !important;
889
+ &:hover {
890
+ border-radius: var(--date-picker-day-range-end-border-radius) !important;
891
+ }
892
+ }
893
+ }
844
894
  }
845
895
  &--today.react-datepicker__day--selecting-range-start.react-datepicker__day--selecting-range-end {
846
896
  border-radius: var(--date-picker-day-border-radius) !important;
@@ -857,6 +907,64 @@
857
907
  & .button__label {
858
908
  color: var(--date-picker-day-selected-text-color);
859
909
  }
910
+ &:hover {
911
+ background: var(--date-picker-day-selected-background) !important;
912
+ }
913
+ }
914
+ &--weekend {
915
+ background: var(--date-picker-day-weekend-background);
916
+ & .button__label {
917
+ color: var(--date-picker-day-weekend-text-color);
918
+ }
919
+ &:hover {
920
+ background: var(--date-picker-day-hover-background);
921
+ }
922
+ &.react-datepicker__day--selected {
923
+ background: var(--date-picker-day-selected-background);
924
+ & .button__label {
925
+ color: var(--date-picker-day-selected-text-color);
926
+ }
927
+ &:hover {
928
+ background: var(--date-picker-day-selected-background) !important;
929
+ }
930
+ }
931
+ &.react-datepicker__day--outside-month {
932
+ & .button__label {
933
+ color: var(--date-picker-day-weekend-outside-text-color) !important;
934
+ }
935
+ }
936
+ &.react-datepicker__day--in-range {
937
+ border-radius: 0;
938
+ background: var(--date-picker-day-selected-background);
939
+ & .button__label {
940
+ color: var(--date-picker-day-selected-text-color);
941
+ }
942
+ &:hover {
943
+ background: var(--date-picker-day-selected-background) !important;
944
+ & .button__label {
945
+ color: var(--date-picker-day-selected-text-color) !important;
946
+ }
947
+ }
948
+ }
949
+ &.react-datepicker__day--range {
950
+ background-color: var(--date-picker-day-range-background) !important;
951
+ border-radius: var(--date-picker-day-range-border-radius) !important;
952
+ & .button__label {
953
+ color: var(--date-picker-day-range-text-color) !important;
954
+ }
955
+ &-start {
956
+ border-radius: var(--date-picker-day-range-start-border-radius) !important;
957
+ &:hover {
958
+ border-radius: var(--date-picker-day-range-start-border-radius) !important;
959
+ }
960
+ }
961
+ &-end {
962
+ border-radius: var(--date-picker-day-range-end-border-radius) !important;
963
+ &:hover {
964
+ border-radius: var(--date-picker-day-range-end-border-radius) !important;
965
+ }
966
+ }
967
+ }
860
968
  }
861
969
  &--outside-month {
862
970
  background: var(--date-picker-day-outside-background) !important;
@@ -874,15 +982,15 @@
874
982
  }
875
983
  }
876
984
  &__time {
877
- background: var(--date-picker-container-background) !important;
985
+ background: var(--date-picker-background) !important;
878
986
  width: 95px;
879
987
  &-container {
880
988
  width: auto;
881
- padding: var(--date-picker-container-padding);
989
+ padding: var(--date-picker-padding);
882
990
  display: flex;
883
991
  flex-direction: column;
884
992
  gap: 24px;
885
- border-left: 1px solid var(--date-picker-container-border-color);
993
+ border-left: var(--date-picker-border);
886
994
  }
887
995
  &-list {
888
996
  height: 300px !important;
@@ -890,17 +998,17 @@
890
998
  border-radius: var(--date-picker-day-border-radius);
891
999
  font-size: var(--date-picker-name-size);
892
1000
  line-height: 30px;
893
- max-height: var(--date-picker-height);
1001
+ max-height: var(--date-picker-day-height);
894
1002
  &:hover {
895
- background: var(--date-picker-day-background-hover) !important;
1003
+ background: var(--date-picker-day-hover-background) !important;
896
1004
  }
897
1005
  &--selected {
898
- background: var(--date-picker-selected-background) !important;
899
- color: var(--date-picker-selected-color) !important;
1006
+ background: var(--date-picker-day-selected-background) !important;
1007
+ color: var(--date-picker-day-selected-text-color) !important;
900
1008
  font-weight: var(--date-picker-selected-weight) !important;
901
- }
902
- &--selected:hover {
903
- background: var(--date-picker-selected-background-hover) !important;
1009
+ &:hover {
1010
+ background: var(--date-picker-day-selected-background) !important;
1011
+ }
904
1012
  }
905
1013
  }
906
1014
  }
@@ -916,7 +1024,7 @@
916
1024
  margin: 0;
917
1025
  padding: 4px;
918
1026
  float: none;
919
- border-top: 1px solid var(--date-picker-container-border-color);
1027
+ border-top: var(--date-picker-border);
920
1028
  text-align: center;
921
1029
  ^^&-time {
922
1030
  &__caption {
@@ -965,26 +1073,41 @@
965
1073
  }
966
1074
  }
967
1075
  :root {
1076
+ --date-picker-name-size: 18px;
1077
+ --date-picker-name-weight: 400;
1078
+ --date-picker-selected-weight: 400;
1079
+ --date-picker-input-border-radius: 6px;
1080
+
1081
+ --date-picker-background: var(--color-surface-primary);
1082
+ --date-picker-padding: 24px 12px;
1083
+ --date-picker-box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.2);
1084
+ --date-picker-border-radius: 12px;
1085
+ --date-picker-border: 1px solid var(--color-surface-tertiary);
1086
+
968
1087
  --date-picker-day-width: 40px;
969
1088
  --date-picker-day-height: 40px;
970
1089
  --date-picker-day-padding: 8px 0;
971
1090
  --date-picker-day-border-radius: 6px;
972
- --date-picker-input-border-radius: 6px;
973
- --date-picker-day-color-hover: var(--color-surface-text-secondary);
974
- --date-picker-day-background-hover: var(--color-accent-tertiary);
975
- --date-picker-month-border-radius: 12px;
976
- --date-picker-container-border-color: var(--color-surface-tertiary);
977
- --date-picker-container-background: var(--color-surface-primary);
978
- --date-picker-container-padding: 24px 12px;
979
- --date-picker-container-box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.2);
980
- --date-picker-name-color: var(--color-surface-text);
981
- --date-picker-name-size: 18px;
982
- --date-picker-name-weight: 400;
983
- --date-picker-selected-color: var(--color-accent-text-primary);
984
- --date-picker-selected-weight: 400;
985
- --date-picker-selected-background: var(--color-accent-primary);
986
- --date-picker-selected-background-hover: var(--color-accent-primary-hover);
987
- --date-picker-outside-color: var(--color-surface-text-quaternary);
988
- --date-picker-weekend-color: var(--color-secondary-primary);
989
- --date-picker-outside-weekend-color: var(--color-secondary-text-disabled);
1091
+
1092
+ --date-picker-day-hover-background: var(--color-accent-tertiary);
1093
+ --date-picker-day-hover-text-color: var(--color-surface-text-secondary);
1094
+
1095
+ --date-picker-day-range-background: var(--color-accent-tertiary);
1096
+ --date-picker-day-range-text-color: var(--color-accent-text-secondary);
1097
+ --date-picker-day-range-border-radius: 0;
1098
+ --date-picker-day-range-start-border-radius: 12px 0 0 12px;
1099
+ --date-picker-day-range-end-border-radius: 0 12px 12px 0;
1100
+
1101
+ --date-picker-day-today-background: var(--color-surface-secondary);
1102
+ --date-picker-day-today-text-color: var(--color-surface-text-primary);
1103
+
1104
+ --date-picker-day-weekend-background: var(--color-surface-primary);
1105
+ --date-picker-day-weekend-text-color: var(--color-secondary-text-secondary);
1106
+ --date-picker-day-weekend-outside-text-color: var(--color-secondary-text-disabled);
1107
+
1108
+ --date-picker-day-selected-background: var(--color-accent-primary);
1109
+ --date-picker-day-selected-text-color: var(--color-accent-text-primary);
1110
+
1111
+ --date-picker-day-outside-background: var(--color-surface-primary);
1112
+ --date-picker-day-outside-text-color: var(--color-surface-text-quaternary);
990
1113
  }
@@ -57,5 +57,5 @@
57
57
  }
58
58
  }
59
59
  }
60
- }
60
+ }
61
61
  }
@@ -20,7 +20,29 @@
20
20
  &_set {
21
21
  &_float {
22
22
  width: 320px;
23
- margin: 16px 24px;
23
+ ^^&-wrapper {
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: 4px;
27
+ border-radius: 8px;
28
+ @mixin elevation-8;
29
+ padding: 12px 16px;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ .notification__item {
35
+ &_set {
36
+ &_top {
37
+ width: 320px;
38
+ ^^&-wrapper {
39
+ padding: 12px 0;
40
+ display: flex;
41
+ flex-direction: column;
42
+ justify-content: center;
43
+ align-items: center;
44
+ gap: 4px;
45
+ }
24
46
  }
25
47
  }
26
48
  }
@@ -28,9 +50,6 @@
28
50
  &_status {
29
51
  &_success {
30
52
  ^^&-wrapper {
31
- border-radius: 8px;
32
- @mixin elevation-8;
33
- padding: 12px 16px;
34
53
  background: var(--color-success-primary);
35
54
  ^^^&-title {
36
55
  color: var(--color-success-text-secondary);
@@ -44,9 +63,6 @@
44
63
  }
45
64
  &_error {
46
65
  ^^&-wrapper {
47
- border-radius: 8px;
48
- @mixin elevation-8;
49
- padding: 12px 16px;
50
66
  background: var(--color-error-primary);
51
67
  ^^^&-title {
52
68
  color: var(--color-error-text-secondary);
@@ -58,5 +74,18 @@
58
74
  }
59
75
  }
60
76
  }
77
+ &_warning {
78
+ ^^&-wrapper {
79
+ background: var(--color-primary-primary);
80
+ ^^^&-title {
81
+ color: var(--color-primary-text-primary);
82
+ @mixin h5;
83
+ }
84
+ ^^^&-text {
85
+ color: var(--color-primary-text-primary);
86
+ @mixin text-s;
87
+ }
88
+ }
89
+ }
61
90
  }
62
91
  }
@@ -3,6 +3,11 @@
3
3
  grid-template-columns: auto 1fr;
4
4
  grid-template-rows: auto auto;
5
5
  column-gap: 4px;
6
+ &:hover {
7
+ .radio-button__state {
8
+ border-color: var(--radio-button-state-hover-border);
9
+ }
10
+ }
6
11
  &__item {
7
12
  position: relative;
8
13
  cursor: pointer;
@@ -97,3 +102,6 @@
97
102
  }
98
103
  }
99
104
  }
105
+ :root {
106
+ --radio-button-state-hover-border: var(--color-surface-border-tertiary);
107
+ }
@@ -21,6 +21,7 @@
21
21
  transition: left 0.3s ease, width 0.3s ease;
22
22
  }
23
23
  ^^&__item {
24
+ border-radius: 6px;
24
25
  min-width: 120px;
25
26
  position: relative;
26
27
  display: flex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",