@itcase/ui 1.0.82 → 1.0.84

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.
Files changed (33) hide show
  1. package/dist/SelectContainer-6GiJFRo0.js +8677 -0
  2. package/dist/components/Accordion.js +22 -6
  3. package/dist/components/Badge.js +3 -3
  4. package/dist/components/Button.js +10 -10
  5. package/dist/components/Card.js +2 -2
  6. package/dist/components/Cell.js +7 -2
  7. package/dist/components/Choice.js +113 -17
  8. package/dist/components/Code.js +13 -3
  9. package/dist/components/DatePicker.js +3 -2
  10. package/dist/components/Dropdown.js +1 -1
  11. package/dist/components/FormField.js +2 -2
  12. package/dist/components/Icon.js +72 -72
  13. package/dist/components/Label.js +26 -3
  14. package/dist/components/Search.js +39 -26
  15. package/dist/components/Select.js +34 -8665
  16. package/dist/components/Swiper.js +6 -4
  17. package/dist/components/Tab.js +14 -8
  18. package/dist/constants/componentProps/textColor.js +1 -1
  19. package/dist/constants/componentProps/textColorActive.js +1 -1
  20. package/dist/constants/componentProps/textColorHover.js +1 -1
  21. package/dist/context/Notifications.js +28 -30
  22. package/dist/css/components/Accordion/Accordion.css +3 -1
  23. package/dist/css/components/DatePicker/DatePicker.css +34 -8
  24. package/dist/css/components/Grid/Grid.css +3 -1
  25. package/dist/css/components/Label/Label.css +37 -1
  26. package/dist/css/components/Select/Select.css +27 -4
  27. package/dist/css/components/Select/css/__menu/select__menu-list-item_size.css +15 -0
  28. package/dist/css/components/Select/css/__menu/select__menu.css +10 -4
  29. package/dist/css/components/Select/css/__placeholder/select__placeholder.css +1 -0
  30. package/dist/css/components/Swiper/Swiper.css +2 -2
  31. package/dist/css/components/Tab/Tab.css +30 -23
  32. package/dist/css/components/Textarea/Textarea.css +2 -2
  33. package/package.json +27 -27
@@ -1070,6 +1070,7 @@ function updateSlides() {
1070
1070
  if (params.watchSlidesProgress) {
1071
1071
  swiper.updateSlidesOffset();
1072
1072
  }
1073
+ swiper.emit('slidesUpdated');
1073
1074
  if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {
1074
1075
  const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
1075
1076
  const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);
@@ -3030,16 +3031,17 @@ function onTouchEnd(event) {
3030
3031
  }
3031
3032
 
3032
3033
  // Find current slide
3034
+ const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;
3033
3035
  let stopIndex = 0;
3034
3036
  let groupSize = swiper.slidesSizesGrid[0];
3035
3037
  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
3036
3038
  const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
3037
3039
  if (typeof slidesGrid[i + increment] !== 'undefined') {
3038
- if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
3040
+ if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
3039
3041
  stopIndex = i;
3040
3042
  groupSize = slidesGrid[i + increment] - slidesGrid[i];
3041
3043
  }
3042
- } else if (currentPos >= slidesGrid[i]) {
3044
+ } else if (swipeToLast || currentPos >= slidesGrid[i]) {
3043
3045
  stopIndex = i;
3044
3046
  groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
3045
3047
  }
@@ -4664,7 +4666,7 @@ const updateOnVirtualData = swiper => {
4664
4666
  };
4665
4667
 
4666
4668
  /**
4667
- * Swiper React 11.0.4
4669
+ * Swiper React 11.0.5
4668
4670
  * Most modern mobile touch slider and framework with hardware accelerated transitions
4669
4671
  * https://swiperjs.com
4670
4672
  *
@@ -4672,7 +4674,7 @@ const updateOnVirtualData = swiper => {
4672
4674
  *
4673
4675
  * Released under the MIT License
4674
4676
  *
4675
- * Released on: November 9, 2023
4677
+ * Released on: November 22, 2023
4676
4678
  */
4677
4679
 
4678
4680
 
@@ -67,6 +67,7 @@ function Tab(props) {
67
67
  labelTextSize,
68
68
  labelTextWrap,
69
69
  labelTextStyle,
70
+ reset,
70
71
  labelTextWeight,
71
72
  dataTour,
72
73
  dividerFill,
@@ -138,7 +139,7 @@ function Tab(props) {
138
139
  styles: tab
139
140
  } = useStyles.useStyles(props);
140
141
  return /*#__PURE__*/React__default.default.createElement("div", {
141
- className: clsx__default.default('tab', isActive && 'tab_state_active', isHover && 'tab_state_hover', fillClass || tabConfig.appearance[appearance] && `fill_${tabConfig.appearance[appearance].fillClass}`.replace(/([A-Z])/g, '-$1').toLowerCase(), fillHoverClass || tabConfig.appearance[appearance] && `fill_hover_${tabConfig.appearance[appearance].fillHoverClass}`.replace(/([A-Z])/g, '-$1').toLowerCase(), className, sizeClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass, shapeClass, typeClass, widthClass, set && `tab_set_${set}`, justifyContentClass, onClick && 'cursor_type_pointer'),
142
+ className: clsx__default.default('tab', isActive && 'tab_state_active', isHover && 'tab_state_hover', fillClass || tabConfig.appearance[appearance] && `fill_${tabConfig.appearance[appearance].fillClass}`.replace(/([A-Z])/g, '-$1').toLowerCase(), fillHoverClass || tabConfig.appearance[appearance] && `fill_hover_${tabConfig.appearance[appearance].fillHoverClass}`.replace(/([A-Z])/g, '-$1').toLowerCase(), className, sizeClass, fillActiveClass, fillActiveHoverClass, fillDisabledClass, shapeClass, typeClass, widthClass, reset && 'tab-reset', set && `tab_set_${set}`, justifyContentClass, onClick && 'cursor_type_pointer'),
142
143
  "data-tour": dataTour,
143
144
  style: tab,
144
145
  onClick: onClick,
@@ -154,8 +155,8 @@ function Tab(props) {
154
155
  }, label && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
155
156
  className: "tab__label",
156
157
  size: labelTextSize,
157
- textColor: labelColor || tabConfig.appearance[appearance] && tabConfig.appearance[appearance].labelColor.replace(/([A-Z])/g, '-$1').toLowerCase(),
158
- textColorActive: isActive && (labelColorActive || tabConfig.appearance[appearance] && tabConfig.appearance[appearance].labelColorActive.replace(/([A-Z])/g, '-$1').toLowerCase()),
158
+ textColor: labelColor || tabConfig.appearance[appearance].labelColor,
159
+ textColorActive: isActive && (labelColorActive || tabConfig.appearance[appearance].labelColorActive),
159
160
  textColorGradient: labelTextGradient,
160
161
  textColorHover: labelTextColorHover,
161
162
  textStyle: labelTextStyle,
@@ -168,11 +169,11 @@ function Tab(props) {
168
169
  value: badgeValue
169
170
  })), /*#__PURE__*/React__default.default.createElement(index$3.Divider, {
170
171
  direction: dividerDirection,
171
- fill: dividerFill || tabConfig.appearance[appearance] && tabConfig.appearance[appearance].dividerFill.replace(/([A-Z])/g, '-$1').toLowerCase(),
172
- fillActive: isActive && (dividerFillActive || tabConfig.appearance[appearance] && tabConfig.appearance[appearance].dividerFillActive.replace(/([A-Z])/g, '-$1').toLowerCase()),
172
+ fill: dividerFill || tabConfig.appearance[appearance].dividerFill,
173
+ fillActive: isActive && (dividerFillActive || tabConfig.appearance[appearance].dividerFillActive),
173
174
  fillActiveHover: dividerFillActiveHover,
174
175
  fillDisabled: dividerFillDisabled,
175
- fillHover: isHover && (dividerFillHover || tabConfig.appearance[appearance] && tabConfig.appearance[appearance].dividerFillHover.replace(/([A-Z])/g, '-$1').toLowerCase()),
176
+ fillHover: isHover && (dividerFillHover || tabConfig.appearance[appearance].dividerFillHover),
176
177
  size: dividerSize,
177
178
  width: "fill"
178
179
  })), after)));
@@ -188,7 +189,7 @@ Tab.propTypes = {
188
189
  fillTablet: PropTypes__default.default.oneOf(fill.default),
189
190
  href: PropTypes__default.default.string,
190
191
  isActive: PropTypes__default.default.bool,
191
- label: PropTypes__default.default.string,
192
+ label: PropTypes__default.default.oneOfType([PropTypes__default.default.element, PropTypes__default.default.string]),
192
193
  labelColor: PropTypes__default.default.oneOf(textColor.default),
193
194
  labelColorActive: PropTypes__default.default.oneOf(textColorActive.default),
194
195
  labelTextColorHover: PropTypes__default.default.oneOf(textColorHover.default),
@@ -343,7 +344,12 @@ Tab.__docgenInfo = {
343
344
  "label": {
344
345
  "description": "",
345
346
  "type": {
346
- "name": "string"
347
+ "name": "union",
348
+ "value": [{
349
+ "name": "element"
350
+ }, {
351
+ "name": "string"
352
+ }]
347
353
  },
348
354
  "required": false
349
355
  },
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const textColorProps = [null, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextAccent', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextAccent', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary', 'surfaceTextInvert'];
3
+ const textColorProps = [null, false, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextAccent', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextAccent', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary', 'surfaceTextInvert'];
4
4
 
5
5
  exports.default = textColorProps;
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const textColorActiveProps = [null, false, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary'];
3
+ const textColorActiveProps = [null, false, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextAccent', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextAccent', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary', 'surfaceTextInvert'];
4
4
 
5
5
  exports.default = textColorActiveProps;
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const textColorHoverProps = [null, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary', 'surfaceTextInvert'];
3
+ const textColorHoverProps = [null, false, 'accentTextPrimary', 'accentTextSecondary', 'accentTextTertiary', 'primaryTextPrimary', 'primaryTextSecondary', 'primaryTextTertiary', 'secondaryTextPrimary', 'secondaryTextSecondary', 'secondaryTextTertiary', 'tertiaryTextPrimary', 'tertiaryTextSecondary', 'surfaceTextPrimary', 'surfaceTextAccent', 'surfaceTextSecondary', 'surfaceTextTertiary', 'surfaceTextQuaternary', 'surfaceTextAccent', 'surfaceTextHover', 'surfaceTextFocus', 'surfaceTextActive', 'surfaceTextDisabled', 'errorTextPrimary', 'errorTextSecondary', 'successTextPrimary', 'successTextSecondary', 'surfaceTextInvert'];
4
4
 
5
5
  exports.default = textColorHoverProps;
@@ -23,6 +23,18 @@ const NotificationsAPIContext = /*#__PURE__*/React.createContext({
23
23
  });
24
24
  function NotificationsProvider(props) {
25
25
  const [notifications, setNotifications] = React.useState([]);
26
+ const hideNotifications = React.useCallback(id => {
27
+ setNotifications(prevState => {
28
+ const currentNotification = prevState.find(notification => notification.id === id);
29
+ if (currentNotification) {
30
+ if (typeof currentNotification.onClose === 'function') {
31
+ currentNotification.onClose();
32
+ }
33
+ return prevState.filter(notification => notification.id !== id);
34
+ }
35
+ return prevState;
36
+ });
37
+ }, []);
26
38
  const showNotification = React.useCallback((notification, onClose) => {
27
39
  let id = uuid.v4().split('-')[0];
28
40
  let title = '';
@@ -37,48 +49,34 @@ function NotificationsProvider(props) {
37
49
  title = notification.title ?? title;
38
50
  text = notification.text ?? text;
39
51
  status = notification.status ?? status;
40
- switch (status) {
41
- case 'success':
42
- textColor = 'successTextPrimary';
43
- break;
44
- case 'info':
45
- textColor = 'infoTextPrimary';
46
- break;
47
- case 'error':
48
- textColor = 'errorTextPrimary';
49
- break;
50
- case 'warning':
51
- textColor = 'warningTextPrimary';
52
- break;
53
- }
54
52
  closeByTime = notification.closeByTime ?? closeByTime;
55
53
  }
54
+ switch (status) {
55
+ case 'success':
56
+ textColor = 'successTextPrimary';
57
+ break;
58
+ case 'info':
59
+ textColor = 'infoTextPrimary';
60
+ break;
61
+ case 'error':
62
+ textColor = 'errorTextPrimary';
63
+ break;
64
+ case 'warning':
65
+ textColor = 'warningTextPrimary';
66
+ break;
67
+ }
56
68
  setNotifications(prevState => [...prevState, {
57
69
  id: id,
58
70
  title: title,
59
71
  text: text,
60
72
  status: status,
61
73
  textColor: textColor,
62
- // closeByTime: closeByTime,
63
74
  onClose: onClose
64
75
  }]);
65
76
  if (closeByTime) {
66
- setTimeout(() => {
67
- setNotifications(prevState => {
68
- const currentNotification = prevState.find(notification => notification.id === id);
69
- if (currentNotification) {
70
- if (typeof currentNotification.onClose === 'function') {
71
- currentNotification.onClose();
72
- }
73
- return prevState.filter(notification => notification.id !== id);
74
- }
75
- return prevState;
76
- });
77
- }, closeByTime);
77
+ setTimeout(() => hideNotifications(id), closeByTime);
78
78
  }
79
- }, []);
80
- const hideNotifications = React.useCallback(id => {
81
- setNotifications(prevState => prevState.filter(notification => notification.id !== id));
79
+ return id;
82
80
  }, []);
83
81
  const notificationsAPI = React.useMemo(() => ({
84
82
  showNotification: showNotification,
@@ -30,13 +30,15 @@
30
30
  }
31
31
  }
32
32
  .accordion-item {
33
+ min-width: 170px;
34
+ padding: 10px 12px;
33
35
  display: flex;
34
36
  flex-flow: row wrap;
37
+ gap: 8px;
35
38
  &__title {
36
39
  flex: 1;
37
40
  }
38
41
  &__icon {
39
- margin: 0 0 0 40px;
40
42
  align-self: center;
41
43
  transform-origin: 50% 50%;
42
44
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
@@ -350,17 +350,34 @@
350
350
  .react-datepicker__week-number.react-datepicker__week-number--clickable {
351
351
  cursor: pointer;
352
352
  }
353
- .react-datepicker__week-number.react-datepicker__week-number--clickable:hover {
353
+ .react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,
354
+ .react-datepicker__week-number--keyboard-selected):hover {
354
355
  border-radius: 0.3rem;
355
356
  background-color: #f0f0f0;
356
357
  }
357
- .react-datepicker__day-names,
358
- .react-datepicker__week {
359
- white-space: nowrap;
358
+ .react-datepicker__week-number--selected {
359
+ border-radius: 0.3rem;
360
+ background-color: #216ba5;
361
+ color: #fff;
362
+ }
363
+ .react-datepicker__week-number--selected:hover {
364
+ background-color: #1d5d90;
365
+ }
366
+ .react-datepicker__week-number--keyboard-selected {
367
+ border-radius: 0.3rem;
368
+ background-color: #2a87d0;
369
+ color: #fff;
370
+ }
371
+ .react-datepicker__week-number--keyboard-selected:hover {
372
+ background-color: #1d5d90;
360
373
  }
361
374
  .react-datepicker__day-names {
375
+ white-space: nowrap;
362
376
  margin-bottom: -8px;
363
377
  }
378
+ .react-datepicker__week {
379
+ white-space: nowrap;
380
+ }
364
381
  .react-datepicker__day-name,
365
382
  .react-datepicker__day,
366
383
  .react-datepicker__time-name {
@@ -698,6 +715,13 @@
698
715
  vertical-align: middle;
699
716
  content: "×";
700
717
  }
718
+ .react-datepicker__close-icon--disabled {
719
+ cursor: default;
720
+ }
721
+ .react-datepicker__close-icon--disabled::after {
722
+ cursor: default;
723
+ background-color: #ccc;
724
+ }
701
725
  .react-datepicker__today-button {
702
726
  background: #f0f0f0;
703
727
  border-top: 1px solid #aeaeae;
@@ -870,7 +894,7 @@
870
894
  background: var(--date-picker-day-selected-background);
871
895
  border-radius: 0;
872
896
  &:hover {
873
- background: var(--date-picker-day-selected-background) !important;
897
+ background: var(--date-picker-day-selected-background-hover);
874
898
  & .button__label {
875
899
  color: var(--date-picker-day-selected-text-color) !important;
876
900
  }
@@ -890,6 +914,7 @@
890
914
  &-start {
891
915
  border-radius: var(--date-picker-day-range-start-border-radius) !important;
892
916
  &:hover {
917
+ background: var(--date-picker-day-selected-background-hover);
893
918
  border-radius: var(--date-picker-day-range-start-border-radius) !important;
894
919
  }
895
920
  }
@@ -924,7 +949,7 @@
924
949
  background: var(--date-picker-day-selected-background);
925
950
  border-radius: 0;
926
951
  &:hover {
927
- background: var(--date-picker-day-selected-background) !important;
952
+ background: var(--date-picker-day-selected-background-hover);
928
953
  & .button__label {
929
954
  color: var(--date-picker-day-selected-text-color) !important;
930
955
  }
@@ -967,7 +992,7 @@
967
992
  &--selected {
968
993
  background: var(--date-picker-day-selected-background);
969
994
  &:hover {
970
- background: var(--date-picker-day-selected-background) !important;
995
+ background: var(--date-picker-day-selected-background-hover);
971
996
  }
972
997
  & .button__label {
973
998
  color: var(--date-picker-day-selected-text-color);
@@ -999,7 +1024,7 @@
999
1024
  background: var(--date-picker-day-selected-background);
1000
1025
  border-radius: 0;
1001
1026
  &:hover {
1002
- background: var(--date-picker-day-selected-background) !important;
1027
+ background: var(--date-picker-day-selected-background-hover);
1003
1028
  & .button__label {
1004
1029
  color: var(--date-picker-day-selected-text-color) !important;
1005
1030
  }
@@ -1196,6 +1221,7 @@
1196
1221
  --date-picker-day-weekend-text-color: var(--color-secondary-text-secondary);
1197
1222
  --date-picker-day-weekend-outside-text-color: var(--color-secondary-text-disabled);
1198
1223
  --date-picker-day-selected-background: var(--color-accent-primary);
1224
+ --date-picker-day-selected-background-hover: var(--color-accent-primary-hover);
1199
1225
  --date-picker-day-selected-text-color: var(--color-accent-text-primary);
1200
1226
  --date-picker-day-outside-background: var(--color-surface-primary);
1201
1227
  --date-picker-day-outside-text-color: var(--color-surface-text-quaternary);
@@ -58,6 +58,7 @@
58
58
  .grid {
59
59
  @each $val in 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 {
60
60
  &_columns_$(val) {
61
+ grid-template-columns: repeat($(val), 1fr);
61
62
  & > ^&__wrapper {
62
63
  & > div {
63
64
  grid-template-columns: repeat($(val), 1fr);
@@ -101,10 +102,11 @@
101
102
  .grid {
102
103
  @each $val in 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 {
103
104
  &_rows_$(val) {
105
+ grid-template-columns: repeat($(val), 1fr);
104
106
  & > ^&__wrapper {
105
107
  & > div {
106
108
  grid-template-columns: repeat($(val), 1fr);
107
- }
109
+ }
108
110
  }
109
111
  }
110
112
  }
@@ -1,8 +1,9 @@
1
1
  .label {
2
- display: inline-flex;
3
2
  position: relative;
4
3
  overflow: hidden;
4
+ display: inline-flex;
5
5
  &__inner {
6
+ width: 100%;
6
7
  font-size: 0;
7
8
  line-height: 0;
8
9
  }
@@ -35,3 +36,38 @@
35
36
  }
36
37
  }
37
38
  }
39
+
40
+ .label {
41
+ &&_text-align {
42
+ &_left {
43
+ ^^&__inner {
44
+ text-align: left;
45
+ }
46
+ }
47
+ &_center {
48
+ ^^&__inner {
49
+ text-align: center;
50
+ }
51
+ }
52
+ &_right {
53
+ ^^&__inner {
54
+ text-align: right;
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ .label {
61
+ &&_width {
62
+ &_fixed {
63
+ width: 240px;
64
+ }
65
+ &_hug {
66
+ display: inline-flex;
67
+ }
68
+ &_fill {
69
+ width: 100%;
70
+ max-width: none !important;
71
+ }
72
+ }
73
+ }
@@ -132,6 +132,7 @@
132
132
  .select {
133
133
  &__placeholder {
134
134
  position: absolute;
135
+ display: flex;
135
136
  }
136
137
  }
137
138
 
@@ -188,23 +189,40 @@
188
189
  }
189
190
  }
190
191
 
192
+ .select {
193
+ &__menu {
194
+ &-list {
195
+ &-item {
196
+ &_size {
197
+ @each $size in xs, s, m, l, xl, xxl {
198
+ &_$(size) {
199
+ padding: var(--select-menu-list-item-size-$(size)-padding, 5px 10px);
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ }
207
+
191
208
  .select {
192
209
  &__menu {
193
210
  width: 100%;
211
+ background: var(--color-surface-primary);
212
+ padding: 12px 0;
194
213
  margin: var(--select-menu-margin, 0);
214
+ border-radius: var(--select-menu-border-radius, 0);
195
215
  border-top: none;
196
216
  position: absolute;
197
217
  left: 0;
198
218
  top: 100%;
199
219
  z-index: 100000;
200
- border-radius: var(--select-menu-border-radius, 0);
201
220
  &-group-heading {
202
221
  z-index: 100000;
203
222
  }
204
223
  &-list {
205
224
  overflow-y: auto;
206
225
  max-height: 240px;
207
- border-radius: var(--select-menu-border-radius, 0);
208
226
  &-item {
209
227
  width: 100%;
210
228
  position: relative;
@@ -216,11 +234,16 @@
216
234
  }
217
235
  &_selected {
218
236
  height: 100%;
237
+ position: absolute;
219
238
  display: flex;
220
239
  align-items: center;
221
- position: absolute;
222
- right: 8px;
223
240
  top: 0;
241
+ right: 8px;
242
+ }
243
+ & .divider {
244
+ position: absolute;
245
+ left: 0;
246
+ bottom: 0;
224
247
  }
225
248
  }
226
249
 
@@ -0,0 +1,15 @@
1
+ .select {
2
+ &__menu {
3
+ &-list {
4
+ &-item {
5
+ &_size {
6
+ @each $size in xs, s, m, l, xl, xxl {
7
+ &_$(size) {
8
+ padding: var(--select-menu-list-item-size-$(size)-padding, 5px 10px);
9
+ }
10
+ }
11
+ }
12
+ }
13
+ }
14
+ }
15
+ }
@@ -1,20 +1,21 @@
1
1
  .select {
2
2
  &__menu {
3
3
  width: 100%;
4
+ background: var(--color-surface-primary);
5
+ padding: 12px 0;
4
6
  margin: var(--select-menu-margin, 0);
7
+ border-radius: var(--select-menu-border-radius, 0);
5
8
  border-top: none;
6
9
  position: absolute;
7
10
  left: 0;
8
11
  top: 100%;
9
12
  z-index: 100000;
10
- border-radius: var(--select-menu-border-radius, 0);
11
13
  &-group-heading {
12
14
  z-index: 100000;
13
15
  }
14
16
  &-list {
15
17
  overflow-y: auto;
16
18
  max-height: 240px;
17
- border-radius: var(--select-menu-border-radius, 0);
18
19
  &-item {
19
20
  width: 100%;
20
21
  position: relative;
@@ -26,11 +27,16 @@
26
27
  }
27
28
  &_selected {
28
29
  height: 100%;
30
+ position: absolute;
29
31
  display: flex;
30
32
  align-items: center;
31
- position: absolute;
32
- right: 8px;
33
33
  top: 0;
34
+ right: 8px;
35
+ }
36
+ & .divider {
37
+ position: absolute;
38
+ left: 0;
39
+ bottom: 0;
34
40
  }
35
41
  }
36
42
 
@@ -1,5 +1,6 @@
1
1
  .select {
2
2
  &__placeholder {
3
3
  position: absolute;
4
+ display: flex;
4
5
  }
5
6
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Swiper 11.0.4
2
+ * Swiper 11.0.5
3
3
  * Most modern mobile touch slider and framework with hardware accelerated transitions
4
4
  * https://swiperjs.com
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: November 9, 2023
10
+ * Released on: November 22, 2023
11
11
  */
12
12
 
13
13
  /* FONT_START */
@@ -5,6 +5,35 @@
5
5
  align-content: center;
6
6
  }
7
7
  }
8
+ .tab-group {
9
+ position: relative;
10
+ display: flex;
11
+ flex-flow: row wrap;
12
+ align-items: stretch;
13
+ & .tab {
14
+ display: flex;
15
+ flex-flow: column nowrap;
16
+ justify-content: flex-end;
17
+ &__wrapper {
18
+ display: flex;
19
+ flex: 1;
20
+ justify-content: center;
21
+ align-items: center;
22
+ gap: 4px;
23
+ }
24
+ &__label {
25
+ display: flex;
26
+ flex: 1;
27
+ }
28
+ }
29
+ }
30
+ div.tab-reset {
31
+ & .tab__wrapper {
32
+ padding: 0;
33
+ gap: 0;
34
+ margin: 0;
35
+ }
36
+ }
8
37
  .tab {
9
38
  @each $val in flex-start, flex-end, center, space-between, space-around, space-evenly {
10
39
  &_justify-content_$(val) {
@@ -26,7 +55,7 @@
26
55
  }
27
56
  .tab {
28
57
  &_size {
29
- @each $size in normal, compact {
58
+ @each $size in normal, compact, xxs, xs, s, m, l, xl, xxl, {
30
59
  &_$(size) {
31
60
  ^^&__wrapper {
32
61
  padding: var(--tab-size-$(size)-padding);
@@ -36,28 +65,6 @@
36
65
  }
37
66
  }
38
67
  }
39
- .tab-group {
40
- position: relative;
41
- display: flex;
42
- flex-flow: row wrap;
43
- align-items: stretch;
44
- & .tab {
45
- display: flex;
46
- flex-flow: column nowrap;
47
- justify-content: flex-end;
48
- &__wrapper {
49
- display: flex;
50
- flex: 1;
51
- justify-content: center;
52
- align-items: center;
53
- gap: 4px;
54
- }
55
- &__label {
56
- display: flex;
57
- flex: 1;
58
- }
59
- }
60
- }
61
68
  :root {
62
69
  --tab-size-normal-padding: 10px;
63
70
  --tab-size-normal-gap: 10px;
@@ -1,8 +1,8 @@
1
1
  .textarea {
2
2
  width: 100%;
3
3
  min-width: 100%;
4
- min-height: 160px;
5
- max-height: 160px;
4
+ min-height: var(--textarea-min-height, 160px);
5
+ max-height: var(--textarea-max-height, 160px);
6
6
  padding: var(--textarea-padding, 16px 16px);
7
7
  padding: 0;
8
8
  margin: 0;