@itcase/ui 1.8.171 → 1.8.173

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.
@@ -26,7 +26,6 @@ function useDeviceTargetClass(componentProps, hookProps) {
26
26
  * "componentProps" - "props" from component
27
27
  * "hookProps" - special props for generating class
28
28
  **/
29
-
30
29
  const {
31
30
  prefix = '',
32
31
  propsKey,
@@ -15,13 +15,11 @@ var mediaQueries = {
15
15
  const isSSR = typeof window === 'undefined';
16
16
  function useMediaQueries(userDevice = {}) {
17
17
  // const isWarning = useMediaQuery({ maxWidth: mediaQueries['mobile-tiny'] })
18
-
19
18
  // prettier-ignore
20
19
  const isMobile = reactResponsive.useMediaQuery({
21
20
  minWidth: mediaQueries['mobile-tiny'],
22
21
  maxWidth: mediaQueries['tablet']
23
22
  }) || isSSR && Boolean(userDevice.isMobile);
24
-
25
23
  // const isMobileTiny = useMediaQuery({
26
24
  // minWidth: mediaQueries['mobile-tiny'],
27
25
  // maxWidth: mediaQueries['mobile-small'],
@@ -46,18 +44,15 @@ function useMediaQueries(userDevice = {}) {
46
44
  // minWidth: mediaQueries['mobile-extra-large'],
47
45
  // maxWidth: mediaQueries['mobile-super-extra-large'],
48
46
  // })
49
-
50
47
  reactResponsive.useMediaQuery({
51
48
  minWidth: mediaQueries['mobile-super-extra-large'],
52
49
  maxWidth: mediaQueries['tablet']
53
50
  });
54
-
55
51
  // prettier-ignore
56
52
  const isTablet = reactResponsive.useMediaQuery({
57
53
  minWidth: mediaQueries['tablet'],
58
54
  maxWidth: mediaQueries['desktop-small']
59
55
  }) || isSSR && Boolean(userDevice.isTablet);
60
-
61
56
  // const isTabletSmall = useMediaQuery({
62
57
  // minWidth: mediaQueries['tablet-small'],
63
58
  // maxWidth: mediaQueries['tablet'],
@@ -66,13 +61,11 @@ function useMediaQueries(userDevice = {}) {
66
61
  // minWidth: mediaQueries['tablet'],
67
62
  // maxWidth: mediaQueries['tablet-large'],
68
63
  // })
69
-
70
64
  // prettier-ignore
71
65
  const isDesktop = reactResponsive.useMediaQuery({
72
66
  minWidth: mediaQueries['desktop-small'],
73
67
  maxWidth: mediaQueries['desktop-super-huge']
74
68
  }) || isSSR && Boolean(userDevice.isDesktop);
75
-
76
69
  // const isDesktopSmall = useMediaQuery({
77
70
  // minWidth: mediaQueries['desktop-small'],
78
71
  // maxWidth: mediaQueries['desktop-medium'],
@@ -97,7 +90,6 @@ function useMediaQueries(userDevice = {}) {
97
90
  // minWidth: mediaQueries['desktop-super-extra-large'],
98
91
  // maxWidth: mediaQueries['desktop-huge'],
99
92
  // })
100
-
101
93
  const isDesktopMega = reactResponsive.useMediaQuery({
102
94
  minWidth: mediaQueries['desktop-huge']
103
95
  });
@@ -46,7 +46,6 @@ function useStyles(props) {
46
46
  let value = null;
47
47
  const styleAttributeKey = getTargetStyleAttributeKey(propKey, propValue);
48
48
  const isStyleForCurrentDevice = propKey.toLowerCase().endsWith(deviceCurrentType.toLowerCase());
49
-
50
49
  // e.g. "GridWrapperInner"
51
50
  const targetElementKey = removeDeviceType(propKey.replace(styleAttributeKey, ''), deviceTypesList);
52
51
  const targetElementGroupKey = camelCase(targetElementKey) || 'styles';
@@ -99,7 +98,6 @@ function useStyles(props) {
99
98
  * top and bottom
100
99
  * right and left
101
100
  */
102
-
103
101
  const valuePxPartsList = value.split(' ').map(valuePart => {
104
102
  const valueModule = valuePart.replace(/[a-z]/gi, '');
105
103
  const valuePx = parseFloat(valueModule) * 8;
@@ -180,7 +178,6 @@ const getTargetStyleAttributeKey = (styleKey, styleValue = '') => {
180
178
  return styleKey.startsWith(styleAttribute);
181
179
  }
182
180
  });
183
-
184
181
  // Get longest style key (e.g. "borderLeftWidth")
185
182
  const targetStyleAttribute = maxBy(possibleStyleAttributesList, styleAttribute => {
186
183
  const key = index_helpers.getStyleAttributeKey(styleAttribute);
@@ -20,7 +20,7 @@
20
20
  padding: 0;
21
21
  margin: -1px;
22
22
  overflow: hidden;
23
- clip: rect(0, 0, 0, 0);
23
+ clip-path: inset(50%);
24
24
  white-space: nowrap;
25
25
  border: 0;
26
26
  }
@@ -312,6 +312,7 @@ h2.react-datepicker__current-month {
312
312
  background-color: rgb(28.75, 93.2196969697, 143.75);
313
313
  }
314
314
  .react-datepicker__day-names {
315
+ text-align: center;
315
316
  white-space: nowrap;
316
317
  margin-bottom: -8px;
317
318
  }
@@ -328,6 +329,12 @@ h2.react-datepicker__current-month {
328
329
  text-align: center;
329
330
  margin: 0.166rem;
330
331
  }
332
+ .react-datepicker__day-name--disabled,
333
+ .react-datepicker__day--disabled,
334
+ .react-datepicker__time-name--disabled {
335
+ cursor: default;
336
+ color: #ccc;
337
+ }
331
338
  .react-datepicker__day,
332
339
  .react-datepicker__month-text,
333
340
  .react-datepicker__quarter-text,
@@ -5,8 +5,6 @@
5
5
  background: none;
6
6
  padding: 0;
7
7
  position: fixed;
8
- top: 0;
9
- right: 0;
10
8
  z-index: 1000;
11
9
  pointer-events: none;
12
10
  @media (--mobile) {
@@ -15,15 +13,29 @@
15
13
  right: 0;
16
14
  bottom: 0;
17
15
  }
16
+ &_left_bottom {
17
+ left: 0;
18
+ bottom: 0;
19
+ ^^&__wrapper {
20
+ left: 24px;
21
+ bottom: 56px;
22
+ }
23
+ }
24
+ &_right_top {
25
+ top: 0;
26
+ right: 0;
27
+ ^^&__wrapper {
28
+ top: 56px;
29
+ right: 48px;
30
+ }
31
+ }
18
32
  ^&__wrapper {
19
33
  width: 100%;
20
34
  position: relative;
21
35
  display: flex;
36
+ gap: 24px;
22
37
  flex-flow: column nowrap;
23
38
  align-items: flex-end;
24
- top: 56px;
25
- right: 48px;
26
- gap: 24px;
27
39
  @media (--mobile) {
28
40
  align-items: center;
29
41
  left: 0;
@@ -37,14 +49,19 @@
37
49
  .notification__item {
38
50
  width: 340px;
39
51
  pointer-events: auto;
52
+ @media print {
53
+ display: none;
54
+ }
40
55
  &-wrapper {
41
56
  position: relative;
42
57
  display: flex;
43
58
  flex-direction: column;
44
59
  gap: 8px;
45
60
  ^&-title {
61
+ padding: 0 24px 0 0;
46
62
  }
47
63
  ^&-text {
64
+ padding: 0 24px 0 0;
48
65
  }
49
66
  ^&-button {
50
67
  }
@@ -1,14 +1,19 @@
1
1
  .notification__item {
2
2
  width: 340px;
3
3
  pointer-events: auto;
4
+ @media print {
5
+ display: none;
6
+ }
4
7
  &-wrapper {
5
8
  position: relative;
6
9
  display: flex;
7
10
  flex-direction: column;
8
11
  gap: 8px;
9
12
  ^&-title {
13
+ padding: 0 24px 0 0;
10
14
  }
11
15
  ^&-text {
16
+ padding: 0 24px 0 0;
12
17
  }
13
18
  ^&-button {
14
19
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Swiper 12.0.2
2
+ * Swiper 12.0.3
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: September 18, 2025
10
+ * Released on: October 21, 2025
11
11
  */
12
12
 
13
13
  :root {
@@ -60040,7 +60040,7 @@ div.avatar-stack {
60040
60040
  padding: 0;
60041
60041
  margin: -1px;
60042
60042
  overflow: hidden;
60043
- clip: rect(0, 0, 0, 0);
60043
+ clip-path: inset(50%);
60044
60044
  white-space: nowrap;
60045
60045
  border: 0;
60046
60046
  }
@@ -60332,6 +60332,7 @@ h2.react-datepicker__current-month {
60332
60332
  background-color: rgb(28.75, 93.2196969697, 143.75);
60333
60333
  }
60334
60334
  .react-datepicker__day-names {
60335
+ text-align: center;
60335
60336
  white-space: nowrap;
60336
60337
  margin-bottom: -8px;
60337
60338
  }
@@ -60348,6 +60349,12 @@ h2.react-datepicker__current-month {
60348
60349
  text-align: center;
60349
60350
  margin: 0.166rem;
60350
60351
  }
60352
+ .react-datepicker__day-name--disabled,
60353
+ .react-datepicker__day--disabled,
60354
+ .react-datepicker__time-name--disabled {
60355
+ cursor: default;
60356
+ color: #ccc;
60357
+ }
60351
60358
  .react-datepicker__day,
60352
60359
  .react-datepicker__month-text,
60353
60360
  .react-datepicker__quarter-text,
@@ -79837,8 +79844,6 @@ div.label {
79837
79844
  background: none;
79838
79845
  padding: 0;
79839
79846
  position: fixed;
79840
- top: 0;
79841
- right: 0;
79842
79847
  z-index: 1000;
79843
79848
  pointer-events: none;
79844
79849
  @media (--mobile) {
@@ -79847,15 +79852,29 @@ div.label {
79847
79852
  right: 0;
79848
79853
  bottom: 0;
79849
79854
  }
79855
+ &_left_bottom {
79856
+ left: 0;
79857
+ bottom: 0;
79858
+ ^^&__wrapper {
79859
+ left: 24px;
79860
+ bottom: 56px;
79861
+ }
79862
+ }
79863
+ &_right_top {
79864
+ top: 0;
79865
+ right: 0;
79866
+ ^^&__wrapper {
79867
+ top: 56px;
79868
+ right: 48px;
79869
+ }
79870
+ }
79850
79871
  ^&__wrapper {
79851
79872
  width: 100%;
79852
79873
  position: relative;
79853
79874
  display: flex;
79875
+ gap: 24px;
79854
79876
  flex-flow: column nowrap;
79855
79877
  align-items: flex-end;
79856
- top: 56px;
79857
- right: 48px;
79858
- gap: 24px;
79859
79878
  @media (--mobile) {
79860
79879
  align-items: center;
79861
79880
  left: 0;
@@ -79869,14 +79888,19 @@ div.label {
79869
79888
  .notification__item {
79870
79889
  width: 340px;
79871
79890
  pointer-events: auto;
79891
+ @media print {
79892
+ display: none;
79893
+ }
79872
79894
  &-wrapper {
79873
79895
  position: relative;
79874
79896
  display: flex;
79875
79897
  flex-direction: column;
79876
79898
  gap: 8px;
79877
79899
  ^&-title {
79900
+ padding: 0 24px 0 0;
79878
79901
  }
79879
79902
  ^&-text {
79903
+ padding: 0 24px 0 0;
79880
79904
  }
79881
79905
  ^&-button {
79882
79906
  }
@@ -98010,7 +98034,7 @@ div.label {
98010
98034
  }
98011
98035
  }
98012
98036
  /**
98013
- * Swiper 12.0.2
98037
+ * Swiper 12.0.3
98014
98038
  * Most modern mobile touch slider and framework with hardware accelerated transitions
98015
98039
  * https://swiperjs.com
98016
98040
  *
@@ -98018,7 +98042,7 @@ div.label {
98018
98042
  *
98019
98043
  * Released under the MIT License
98020
98044
  *
98021
- * Released on: September 18, 2025
98045
+ * Released on: October 21, 2025
98022
98046
  */
98023
98047
  :root {
98024
98048
  --swiper-theme-color: #007aff;
@@ -24,7 +24,6 @@ function useDeviceTargetClass(componentProps, hookProps) {
24
24
  * "componentProps" - "props" from component
25
25
  * "hookProps" - special props for generating class
26
26
  **/
27
-
28
27
  const {
29
28
  prefix = '',
30
29
  propsKey,
@@ -13,13 +13,11 @@ var mediaQueries = {
13
13
  const isSSR = typeof window === 'undefined';
14
14
  function useMediaQueries(userDevice = {}) {
15
15
  // const isWarning = useMediaQuery({ maxWidth: mediaQueries['mobile-tiny'] })
16
-
17
16
  // prettier-ignore
18
17
  const isMobile = useMediaQuery({
19
18
  minWidth: mediaQueries['mobile-tiny'],
20
19
  maxWidth: mediaQueries['tablet']
21
20
  }) || isSSR && Boolean(userDevice.isMobile);
22
-
23
21
  // const isMobileTiny = useMediaQuery({
24
22
  // minWidth: mediaQueries['mobile-tiny'],
25
23
  // maxWidth: mediaQueries['mobile-small'],
@@ -44,18 +42,15 @@ function useMediaQueries(userDevice = {}) {
44
42
  // minWidth: mediaQueries['mobile-extra-large'],
45
43
  // maxWidth: mediaQueries['mobile-super-extra-large'],
46
44
  // })
47
-
48
45
  useMediaQuery({
49
46
  minWidth: mediaQueries['mobile-super-extra-large'],
50
47
  maxWidth: mediaQueries['tablet']
51
48
  });
52
-
53
49
  // prettier-ignore
54
50
  const isTablet = useMediaQuery({
55
51
  minWidth: mediaQueries['tablet'],
56
52
  maxWidth: mediaQueries['desktop-small']
57
53
  }) || isSSR && Boolean(userDevice.isTablet);
58
-
59
54
  // const isTabletSmall = useMediaQuery({
60
55
  // minWidth: mediaQueries['tablet-small'],
61
56
  // maxWidth: mediaQueries['tablet'],
@@ -64,13 +59,11 @@ function useMediaQueries(userDevice = {}) {
64
59
  // minWidth: mediaQueries['tablet'],
65
60
  // maxWidth: mediaQueries['tablet-large'],
66
61
  // })
67
-
68
62
  // prettier-ignore
69
63
  const isDesktop = useMediaQuery({
70
64
  minWidth: mediaQueries['desktop-small'],
71
65
  maxWidth: mediaQueries['desktop-super-huge']
72
66
  }) || isSSR && Boolean(userDevice.isDesktop);
73
-
74
67
  // const isDesktopSmall = useMediaQuery({
75
68
  // minWidth: mediaQueries['desktop-small'],
76
69
  // maxWidth: mediaQueries['desktop-medium'],
@@ -95,7 +88,6 @@ function useMediaQueries(userDevice = {}) {
95
88
  // minWidth: mediaQueries['desktop-super-extra-large'],
96
89
  // maxWidth: mediaQueries['desktop-huge'],
97
90
  // })
98
-
99
91
  const isDesktopMega = useMediaQuery({
100
92
  minWidth: mediaQueries['desktop-huge']
101
93
  });
@@ -44,7 +44,6 @@ function useStyles(props) {
44
44
  let value = null;
45
45
  const styleAttributeKey = getTargetStyleAttributeKey(propKey, propValue);
46
46
  const isStyleForCurrentDevice = propKey.toLowerCase().endsWith(deviceCurrentType.toLowerCase());
47
-
48
47
  // e.g. "GridWrapperInner"
49
48
  const targetElementKey = removeDeviceType(propKey.replace(styleAttributeKey, ''), deviceTypesList);
50
49
  const targetElementGroupKey = camelCase(targetElementKey) || 'styles';
@@ -97,7 +96,6 @@ function useStyles(props) {
97
96
  * top and bottom
98
97
  * right and left
99
98
  */
100
-
101
99
  const valuePxPartsList = value.split(' ').map(valuePart => {
102
100
  const valueModule = valuePart.replace(/[a-z]/gi, '');
103
101
  const valuePx = parseFloat(valueModule) * 8;
@@ -178,7 +176,6 @@ const getTargetStyleAttributeKey = (styleKey, styleValue = '') => {
178
176
  return styleKey.startsWith(styleAttribute);
179
177
  }
180
178
  });
181
-
182
179
  // Get longest style key (e.g. "borderLeftWidth")
183
180
  const targetStyleAttribute = maxBy(possibleStyleAttributesList, styleAttribute => {
184
181
  const key = getStyleAttributeKey(styleAttribute);
@@ -0,0 +1,6 @@
1
+ export namespace DrawerMock {
2
+ let appearance: string;
3
+ let title: string;
4
+ let desc: string;
5
+ let isOpen: boolean;
6
+ }
@@ -0,0 +1,46 @@
1
+ export namespace SelectDefaultMock {
2
+ let elevation: number;
3
+ let hideSelectedOptions: boolean;
4
+ let loadingMessageText: string;
5
+ let noOptionsSearchText: string;
6
+ let noOptionsText: string;
7
+ let options: ({
8
+ label: string;
9
+ options: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ isDisabled?: undefined;
14
+ value?: undefined;
15
+ isFixed?: undefined;
16
+ isSelected?: undefined;
17
+ } | {
18
+ label: string;
19
+ isDisabled: boolean;
20
+ value: string;
21
+ options?: undefined;
22
+ isFixed?: undefined;
23
+ isSelected?: undefined;
24
+ } | {
25
+ label: string;
26
+ value: string;
27
+ isFixed: boolean;
28
+ isSelected: boolean;
29
+ options?: undefined;
30
+ isDisabled?: undefined;
31
+ } | {
32
+ label: string;
33
+ value: string;
34
+ isFixed: boolean;
35
+ options?: undefined;
36
+ isDisabled?: undefined;
37
+ isSelected?: undefined;
38
+ })[];
39
+ let placeholder: string;
40
+ let showBadge: boolean;
41
+ let showDivider: boolean;
42
+ let closeMenuOnSelect: boolean;
43
+ let isClearable: boolean;
44
+ let isMulti: boolean;
45
+ let isSearchable: boolean;
46
+ }
@@ -0,0 +1,5 @@
1
+ /** TODO:
2
+ * Hook is still used in "itcase-forms".
3
+ * Need replace with "useDevicePropsGenerator" and delete this.
4
+ */
5
+ export function useDeviceTargetClass(componentProps: any, hookProps: any): string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.8.171",
3
+ "version": "1.8.173",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",
@@ -104,8 +104,8 @@
104
104
  "@itcase/common": "^1.2.32",
105
105
  "@itcase/icons": "^1.2.23",
106
106
  "@itcase/storybook-config": "^1.2.14",
107
- "@itcase/tokens-am": "^1.1.23",
108
- "@itcase/tokens-baikal": "^1.1.23",
107
+ "@itcase/tokens-am": "^1.1.24",
108
+ "@itcase/tokens-baikal": "^1.1.24",
109
109
  "@itcase/tokens-palette": "^1.1.20",
110
110
  "clsx": "^2.1.1",
111
111
  "date-fns": "^4.1.0",
@@ -117,7 +117,7 @@
117
117
  "rc-slider": "^11.1.9",
118
118
  "react": "^18.3.1",
119
119
  "react-dadata": "^2.27.4",
120
- "react-datepicker": "^8.7.0",
120
+ "react-datepicker": "^8.8.0",
121
121
  "react-dom": "^18.3.1",
122
122
  "react-indiana-drag-scroll": "^3.0.3-alpha",
123
123
  "react-inlinesvg": "^4.2.0",
@@ -130,26 +130,26 @@
130
130
  "react-scrollbars-custom": "^4.1.1",
131
131
  "react-select": "^5.10.2",
132
132
  "simplebar-react": "^3.3.2",
133
- "swiper": "^12.0.2",
133
+ "swiper": "^12.0.3",
134
134
  "uuid": "^13.0.0"
135
135
  },
136
136
  "devDependencies": {
137
- "@babel/core": "^7.28.4",
138
- "@babel/preset-env": "^7.28.3",
139
- "@babel/preset-react": "^7.27.1",
137
+ "@babel/core": "^7.28.5",
138
+ "@babel/preset-env": "^7.28.5",
139
+ "@babel/preset-react": "^7.28.5",
140
140
  "@commitlint/cli": "^20.1.0",
141
141
  "@commitlint/config-conventional": "^20.0.0",
142
- "@itcase/config": "^1.0.60",
142
+ "@itcase/config": "^1.0.61",
143
143
  "@itcase/lint": "^1.1.68",
144
144
  "@itcase/types": "^1.0.45",
145
145
  "@rollup/plugin-alias": "^5.1.1",
146
146
  "@rollup/plugin-babel": "^6.1.0",
147
- "@rollup/plugin-commonjs": "^28.0.8",
147
+ "@rollup/plugin-commonjs": "^28.0.9",
148
148
  "@rollup/plugin-image": "^3.0.3",
149
149
  "@rollup/plugin-json": "^6.1.0",
150
150
  "@rollup/plugin-node-resolve": "^16.0.3",
151
151
  "@rollup/plugin-terser": "^0.4.4",
152
- "@rollup/plugin-typescript": "^12.1.4",
152
+ "@rollup/plugin-typescript": "^12.3.0",
153
153
  "@semantic-release/changelog": "^6.0.3",
154
154
  "@semantic-release/git": "^10.0.1",
155
155
  "@semantic-release/release-notes-generator": "14.1.0",
@@ -166,18 +166,18 @@
166
166
  "babel-plugin-react-docgen": "^4.2.1",
167
167
  "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
168
168
  "conventional-changelog-conventionalcommits": "^9.1.0",
169
- "eslint": "9.37.0",
169
+ "eslint": "9.38.0",
170
170
  "husky": "^9.1.7",
171
- "lint-staged": "^16.2.4",
171
+ "lint-staged": "^16.2.6",
172
172
  "prettier": "^3.6.2",
173
173
  "react-docgen-typescript": "^2.4.0",
174
- "rollup": "^4.52.4",
174
+ "rollup": "^4.52.5",
175
175
  "rollup-plugin-copy": "^3.5.0",
176
176
  "rollup-plugin-dts": "^6.2.3",
177
177
  "rollup-plugin-peer-deps-external": "^2.2.4",
178
178
  "rollup-preserve-directives": "^1.1.3",
179
179
  "semantic-release": "^24.2.9",
180
- "storybook": "^9.1.10",
180
+ "storybook": "^9.1.15",
181
181
  "stylelint": "^16.25.0",
182
182
  "typescript": "^5.9.3"
183
183
  }