@semcore/carousel 3.49.2-prerelease.0 → 3.50.0-prerelease.0

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 (67) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Carousel.js +165 -178
  3. package/lib/cjs/Carousel.js.map +1 -1
  4. package/lib/cjs/Carousel.types.js.map +1 -1
  5. package/lib/cjs/index.js +1 -1
  6. package/lib/cjs/index.js.map +1 -1
  7. package/lib/cjs/style/carousel.shadow.css +52 -54
  8. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
  9. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  10. package/lib/cjs/translations/de.json +3 -1
  11. package/lib/cjs/translations/en.json +3 -1
  12. package/lib/cjs/translations/es.json +3 -1
  13. package/lib/cjs/translations/fr.json +3 -1
  14. package/lib/cjs/translations/it.json +3 -1
  15. package/lib/cjs/translations/ja.json +3 -1
  16. package/lib/cjs/translations/ko.json +3 -1
  17. package/lib/cjs/translations/nl.json +3 -1
  18. package/lib/cjs/translations/pl.json +3 -1
  19. package/lib/cjs/translations/pt.json +3 -1
  20. package/lib/cjs/translations/sv.json +3 -1
  21. package/lib/cjs/translations/tr.json +3 -1
  22. package/lib/cjs/translations/vi.json +3 -1
  23. package/lib/cjs/translations/zh.json +3 -1
  24. package/lib/es6/Carousel.js +152 -162
  25. package/lib/es6/Carousel.js.map +1 -1
  26. package/lib/es6/Carousel.types.js.map +1 -1
  27. package/lib/es6/index.js.map +1 -1
  28. package/lib/es6/style/carousel.shadow.css +52 -54
  29. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  30. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  31. package/lib/es6/translations/de.json +3 -1
  32. package/lib/es6/translations/en.json +3 -1
  33. package/lib/es6/translations/es.json +3 -1
  34. package/lib/es6/translations/fr.json +3 -1
  35. package/lib/es6/translations/it.json +3 -1
  36. package/lib/es6/translations/ja.json +3 -1
  37. package/lib/es6/translations/ko.json +3 -1
  38. package/lib/es6/translations/nl.json +3 -1
  39. package/lib/es6/translations/pl.json +3 -1
  40. package/lib/es6/translations/pt.json +3 -1
  41. package/lib/es6/translations/sv.json +3 -1
  42. package/lib/es6/translations/tr.json +3 -1
  43. package/lib/es6/translations/vi.json +3 -1
  44. package/lib/es6/translations/zh.json +3 -1
  45. package/lib/esm/Carousel.mjs +148 -160
  46. package/lib/esm/Carousel.types.mjs +1 -0
  47. package/lib/esm/index.mjs +1 -0
  48. package/lib/esm/style/carousel.shadow.css +52 -54
  49. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  50. package/lib/esm/translations/de.json.mjs +3 -1
  51. package/lib/esm/translations/en.json.mjs +3 -1
  52. package/lib/esm/translations/es.json.mjs +3 -1
  53. package/lib/esm/translations/fr.json.mjs +3 -1
  54. package/lib/esm/translations/it.json.mjs +3 -1
  55. package/lib/esm/translations/ja.json.mjs +3 -1
  56. package/lib/esm/translations/ko.json.mjs +3 -1
  57. package/lib/esm/translations/nl.json.mjs +3 -1
  58. package/lib/esm/translations/pl.json.mjs +3 -1
  59. package/lib/esm/translations/pt.json.mjs +3 -1
  60. package/lib/esm/translations/sv.json.mjs +3 -1
  61. package/lib/esm/translations/tr.json.mjs +3 -1
  62. package/lib/esm/translations/vi.json.mjs +3 -1
  63. package/lib/esm/translations/zh.json.mjs +3 -1
  64. package/lib/types/Carousel.d.ts +1 -1
  65. package/lib/types/Carousel.types.d.ts +4 -12
  66. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +28 -0
  67. package/package.json +8 -8
package/lib/esm/index.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { default as default2 } from "./Carousel.mjs";
2
+ import "./Carousel.types.mjs";
2
3
  export {
3
4
  default2 as default
4
5
  };
@@ -10,22 +10,39 @@ SContainer {
10
10
  transition: transform var(--duration) ease-in-out;
11
11
  }
12
12
 
13
- SContentBox, SModalBox {
13
+ SContentBox,
14
+ SModalBox,
15
+ SIndicator {
14
16
  position: relative;
15
17
  overflow: hidden;
16
- border-radius: var(--intergalactic-surface-rounded, 6px);
17
- &:has(SItem[keyboardFocused]) {
18
- &:after {
19
- content: '';
20
- display: block;
21
- position: absolute;
22
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
23
- z-index: 1;
24
- width: calc(100% - 3px * 2);
25
- height: calc(100% - 3px * 2);
26
- top: 3px;
27
- left: 3px;
28
- }
18
+ border-radius: var(--intergalactic-surface-rounded, calc(6px + 2px));
19
+ }
20
+
21
+ SContentBox:has(SItem:focus-visible)::after {
22
+ border-radius: inherit;
23
+ z-index: 2;
24
+ position: absolute;
25
+ inset: 0;
26
+ content: '';
27
+ @mixin focus-outline-mixin -2px;
28
+ }
29
+
30
+ SImageBoxContainer {
31
+ position: relative;
32
+ border-radius: var(--intergalactic-surface-rounded, calc(6px + 2px));
33
+
34
+ &:has(SItem:focus-visible)::after {
35
+ border-radius: inherit;
36
+ z-index: 2;
37
+ position: absolute;
38
+ inset: 0;
39
+ content: '';
40
+ @mixin focus-outline-mixin;
41
+ outline-color: var(--intergalactic-keyboard-focus-invert-outline, oklch(1 0 0 / 0.7));
42
+ }
43
+
44
+ SItem:focus-visible {
45
+ outline: none;
29
46
  }
30
47
  }
31
48
 
@@ -39,14 +56,19 @@ SItem {
39
56
  max-width: 100%;
40
57
  box-sizing: border-box;
41
58
  transform: var(--transform);
42
- border-radius: var(--intergalactic-surface-rounded, 6px);
59
+ border-radius: var(--intergalactic-surface-rounded, calc(6px + 2px));
43
60
  overflow: hidden;
44
61
  outline: none;
62
+
63
+ > img {
64
+ display: block;
65
+ }
45
66
  }
46
67
 
47
68
  SItem[zoomIn] {
48
69
  cursor: zoom-in;
49
70
  }
71
+
50
72
  SItem[zoomOut] {
51
73
  cursor: zoom-out;
52
74
  }
@@ -54,38 +76,30 @@ SItem[zoomOut] {
54
76
  SIndicators {
55
77
  display: flex;
56
78
  justify-content: center;
57
- margin-top: var(--intergalactic-spacing-4x, 16px);
79
+ margin: var(--intergalactic-spacing-4x, 16px) 4px 4px 4px;
58
80
  outline: none;
59
81
  position: relative;
60
82
  }
61
83
 
62
- SIndicators[keyboardFocused]:after {
63
- content: '';
64
- display: block;
65
- position: absolute;
66
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
67
- z-index: 1;
68
- width: calc(100% - 3px * 2);
69
- height: calc(100% - 3px);
70
- top: 0;
71
- left: 3px;
72
- }
73
-
74
84
  SIndicator {
75
85
  margin: 0 calc(0.5 * var(--intergalactic-spacing-3x, 12px));
76
86
  cursor: pointer;
77
87
  display: block;
78
88
  width: 12px;
79
89
  height: 12px;
80
- border-radius: var(--intergalactic-control-rounded, 6px);
81
- background-color: var(--intergalactic-icon-secondary-neutral, #a9abb6);
82
- opacity: var(--intergalactic-disabled-opacity, 0.3);
90
+ background-color: var(--intergalactic-icon-secondary-neutral, oklch(0.104 0.023 162.3 / 0.385));
91
+ opacity: var(--intergalactic-disabled-opacity, 0.4);
83
92
  object-fit: cover;
84
93
  transition: ease-in-out opacity 0.1s;
85
94
  }
86
95
 
96
+ SIndicator[aria-roledescription="slide"] {
97
+ width: 100px;
98
+ height: 100px;
99
+ }
100
+
87
101
  SIndicator:hover {
88
- opacity: calc(2 * var(--intergalactic-disabled-opacity, 0.3));
102
+ opacity: calc(2 * var(--intergalactic-disabled-opacity, 0.4));
89
103
  }
90
104
 
91
105
  SIndicator[active] {
@@ -93,7 +107,7 @@ SIndicator[active] {
93
107
  }
94
108
 
95
109
  SIndicator[inverted] {
96
- background-color: var(--intergalactic-icon-primary-invert, #ffffff);
110
+ background-color: var(--intergalactic-icon-primary-invert, oklch(0.998 0.003 173.3 / 0.808));
97
111
  }
98
112
 
99
113
  SPrev,
@@ -102,42 +116,26 @@ SNext {
102
116
  align-items: center;
103
117
  justify-content: center;
104
118
  cursor: pointer;
105
- color: var(--intergalactic-icon-primary-neutral, #6c6e79);
119
+ color: var(--intergalactic-icon-primary-neutral, oklch(0.092 0.024 152.2 / 0.526));
106
120
 
107
- SPrevButton span:has(> svg:only-child), SNextButton span:has(> svg:only-child) {
121
+ SPrevButton span:has(> svg:only-child),
122
+ SNextButton span:has(> svg:only-child) {
108
123
  margin-left: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
109
124
  margin-right: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
110
125
  }
111
126
  }
112
127
 
113
- SPrevButton, SNextButton {
114
- &:focus-visible {
115
- box-shadow: none;
116
- &:after {
117
- content: '';
118
- display: block;
119
- position: absolute;
120
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
121
- z-index: 1;
122
- width: calc(100% - 3px * 2);
123
- height: calc(100% - 3px * 2);
124
- top: 3px;
125
- left: 3px;
126
- border-radius: var(--intergalactic-control-rounded, 6px);
127
- }
128
- }
129
- }
130
-
131
128
  SPrev {
132
129
  margin-right: var(--intergalactic-spacing-2x, 8px);
133
130
  }
131
+
134
132
  SNext {
135
133
  margin-left: var(--intergalactic-spacing-2x, 8px);
136
134
  }
137
135
 
138
136
  SPrev[disabled],
139
137
  SNext[disabled] {
140
- opacity: var(--intergalactic-disabled-opacity, 0.3);
138
+ opacity: var(--intergalactic-disabled-opacity, 0.4);
141
139
  cursor: default;
142
140
  pointer-events: none;
143
141
  }
@@ -6,12 +6,12 @@ import it from "./it.json.mjs";
6
6
  import ja from "./ja.json.mjs";
7
7
  import ko from "./ko.json.mjs";
8
8
  import nl from "./nl.json.mjs";
9
+ import pl from "./pl.json.mjs";
9
10
  import pt from "./pt.json.mjs";
11
+ import sv from "./sv.json.mjs";
10
12
  import tr from "./tr.json.mjs";
11
13
  import vi from "./vi.json.mjs";
12
14
  import zh from "./zh.json.mjs";
13
- import pl from "./pl.json.mjs";
14
- import sv from "./sv.json.mjs";
15
15
  var localizedMessages = {
16
16
  de,
17
17
  en,
@@ -6,7 +6,9 @@ const de = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "Karussell",
11
+ "Carousel.Indicator:aria-roledescription": "Folie"
10
12
  };
11
13
  export {
12
14
  de as default,
@@ -6,7 +6,9 @@ const en = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carousel",
11
+ "Carousel.Indicator:aria-roledescription": "slide"
10
12
  };
11
13
  export {
12
14
  en as default,
@@ -6,7 +6,9 @@ const es = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carrusel",
11
+ "Carousel.Indicator:aria-roledescription": "diapositiva"
10
12
  };
11
13
  export {
12
14
  es as default,
@@ -6,7 +6,9 @@ const fr = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carrousel",
11
+ "Carousel.Indicator:aria-roledescription": "diapositive"
10
12
  };
11
13
  export {
12
14
  fr as default,
@@ -6,7 +6,9 @@ const it = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carosello",
11
+ "Carousel.Indicator:aria-roledescription": "slide"
10
12
  };
11
13
  export {
12
14
  it as default,
@@ -6,7 +6,9 @@ const ja = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "カルーセル",
11
+ "Carousel.Indicator:aria-roledescription": "スライド"
10
12
  };
11
13
  export {
12
14
  ja as default,
@@ -6,7 +6,9 @@ const ko = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "캐러셀",
11
+ "Carousel.Indicator:aria-roledescription": "슬라이드"
10
12
  };
11
13
  export {
12
14
  ko as default,
@@ -6,7 +6,9 @@ const nl = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carrousel",
11
+ "Carousel.Indicator:aria-roledescription": "dia"
10
12
  };
11
13
  export {
12
14
  nl as default,
@@ -6,7 +6,9 @@ const pl = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "karuzela",
11
+ "Carousel.Indicator:aria-roledescription": "slajd"
10
12
  };
11
13
  export {
12
14
  pl as default,
@@ -6,7 +6,9 @@ const pt = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carrossel",
11
+ "Carousel.Indicator:aria-roledescription": "slide"
10
12
  };
11
13
  export {
12
14
  pt as default,
@@ -6,7 +6,9 @@ const sv = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carousel",
11
+ "Carousel.Indicator:aria-roledescription": "bild"
10
12
  };
11
13
  export {
12
14
  sv as default,
@@ -6,7 +6,9 @@ const tr = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "bant",
11
+ "Carousel.Indicator:aria-roledescription": "slayt"
10
12
  };
11
13
  export {
12
14
  tr as default,
@@ -6,7 +6,9 @@ const vi = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "carousel",
11
+ "Carousel.Indicator:aria-roledescription": "slide"
10
12
  };
11
13
  export {
12
14
  vi as default,
@@ -6,7 +6,9 @@ const zh = {
6
6
  next,
7
7
  prev,
8
8
  slides,
9
- slide
9
+ slide,
10
+ "Carousel:aria-roledescription": "广告轮播",
11
+ "Carousel.Indicator:aria-roledescription": "幻灯片"
10
12
  };
11
13
  export {
12
14
  zh as default,
@@ -1,3 +1,3 @@
1
- import CarouselType from './Carousel.types';
1
+ import type CarouselType from './Carousel.types';
2
2
  declare const Carousel: typeof CarouselType;
3
3
  export default Carousel;
@@ -1,8 +1,5 @@
1
- import { PropGetterFn, UnknownProperties, Intergalactic, IRootComponentProps } from '@semcore/core';
2
- import { BoxProps } from '@semcore/flex-box';
3
- /** @deprecated */
4
- export interface ICarouselProps extends CarouselProps, UnknownProperties {
5
- }
1
+ import type { BoxProps } from '@semcore/base-components';
2
+ import type { PropGetterFn, Intergalactic, IRootComponentProps } from '@semcore/core';
6
3
  export type CarouselProps = BoxProps & {
7
4
  /** Index active item */
8
5
  index?: number;
@@ -19,8 +16,9 @@ export type CarouselProps = BoxProps & {
19
16
  /** Disables infinite items change in the carousel
20
17
  * @default false */
21
18
  bounded?: boolean;
22
- /** @ignore */
19
+ /** Internal */
23
20
  step?: number;
21
+ /** Specifies the locale for i18n support */
24
22
  locale?: string;
25
23
  /** Enable zoom feature for carousel items */
26
24
  zoom?: boolean;
@@ -29,9 +27,6 @@ export type CarouselProps = BoxProps & {
29
27
  /** Type of indicators */
30
28
  indicators?: 'default' | 'hide' | 'preview';
31
29
  };
32
- /** @deprecated */
33
- export interface ICarouselContext extends CarouselContext, UnknownProperties {
34
- }
35
30
  export type CarouselContext = {
36
31
  getContainerProps: PropGetterFn;
37
32
  getItemProps: PropGetterFn;
@@ -74,9 +69,6 @@ export type CarouselItemProps = BoxProps & {
74
69
  */
75
70
  isOpenZoom?: boolean;
76
71
  };
77
- /** @deprecated */
78
- export interface ICarouselState extends CarouselState, UnknownProperties {
79
- }
80
72
  export type CarouselState = {
81
73
  isOpenZoom: boolean;
82
74
  selectedIndex: number;
@@ -4,83 +4,111 @@ export declare const localizedMessages: {
4
4
  prev: string;
5
5
  slides: string;
6
6
  slide: string;
7
+ "Carousel:aria-roledescription": string;
8
+ "Carousel.Indicator:aria-roledescription": string;
7
9
  };
8
10
  en: {
9
11
  next: string;
10
12
  prev: string;
11
13
  slides: string;
12
14
  slide: string;
15
+ "Carousel:aria-roledescription": string;
16
+ "Carousel.Indicator:aria-roledescription": string;
13
17
  };
14
18
  es: {
15
19
  next: string;
16
20
  prev: string;
17
21
  slides: string;
18
22
  slide: string;
23
+ "Carousel:aria-roledescription": string;
24
+ "Carousel.Indicator:aria-roledescription": string;
19
25
  };
20
26
  fr: {
21
27
  next: string;
22
28
  prev: string;
23
29
  slides: string;
24
30
  slide: string;
31
+ "Carousel:aria-roledescription": string;
32
+ "Carousel.Indicator:aria-roledescription": string;
25
33
  };
26
34
  it: {
27
35
  next: string;
28
36
  prev: string;
29
37
  slides: string;
30
38
  slide: string;
39
+ "Carousel:aria-roledescription": string;
40
+ "Carousel.Indicator:aria-roledescription": string;
31
41
  };
32
42
  ja: {
33
43
  next: string;
34
44
  prev: string;
35
45
  slides: string;
36
46
  slide: string;
47
+ "Carousel:aria-roledescription": string;
48
+ "Carousel.Indicator:aria-roledescription": string;
37
49
  };
38
50
  ko: {
39
51
  next: string;
40
52
  prev: string;
41
53
  slides: string;
42
54
  slide: string;
55
+ "Carousel:aria-roledescription": string;
56
+ "Carousel.Indicator:aria-roledescription": string;
43
57
  };
44
58
  nl: {
45
59
  next: string;
46
60
  prev: string;
47
61
  slides: string;
48
62
  slide: string;
63
+ "Carousel:aria-roledescription": string;
64
+ "Carousel.Indicator:aria-roledescription": string;
49
65
  };
50
66
  pt: {
51
67
  next: string;
52
68
  prev: string;
53
69
  slides: string;
54
70
  slide: string;
71
+ "Carousel:aria-roledescription": string;
72
+ "Carousel.Indicator:aria-roledescription": string;
55
73
  };
56
74
  tr: {
57
75
  next: string;
58
76
  prev: string;
59
77
  slides: string;
60
78
  slide: string;
79
+ "Carousel:aria-roledescription": string;
80
+ "Carousel.Indicator:aria-roledescription": string;
61
81
  };
62
82
  vi: {
63
83
  next: string;
64
84
  prev: string;
65
85
  slides: string;
66
86
  slide: string;
87
+ "Carousel:aria-roledescription": string;
88
+ "Carousel.Indicator:aria-roledescription": string;
67
89
  };
68
90
  zh: {
69
91
  next: string;
70
92
  prev: string;
71
93
  slides: string;
72
94
  slide: string;
95
+ "Carousel:aria-roledescription": string;
96
+ "Carousel.Indicator:aria-roledescription": string;
73
97
  };
74
98
  pl: {
75
99
  next: string;
76
100
  prev: string;
77
101
  slides: string;
78
102
  slide: string;
103
+ "Carousel:aria-roledescription": string;
104
+ "Carousel.Indicator:aria-roledescription": string;
79
105
  };
80
106
  sv: {
81
107
  next: string;
82
108
  prev: string;
83
109
  slides: string;
84
110
  slide: string;
111
+ "Carousel:aria-roledescription": string;
112
+ "Carousel.Indicator:aria-roledescription": string;
85
113
  };
86
114
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/carousel",
3
3
  "description": "Semrush Carousel Component",
4
- "version": "3.49.2-prerelease.0",
4
+ "version": "3.50.0-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,15 +14,15 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/flex-box": "5.41.4-prerelease.0",
18
- "@semcore/icon": "4.62.1-prerelease.0",
19
- "@semcore/utils": "4.48.5-prerelease.0",
20
- "@semcore/button": "5.43.3-prerelease.0",
21
- "@semcore/modal": "4.56.2-prerelease.0",
22
- "@semcore/breakpoints": "1.41.4-prerelease.0"
17
+ "@semcore/flex-box": "5.42.0-prerelease.0",
18
+ "@semcore/icon": "4.63.0-prerelease.0",
19
+ "@semcore/utils": "4.49.0-prerelease.0",
20
+ "@semcore/button": "5.44.0-prerelease.0",
21
+ "@semcore/modal": "4.57.0-prerelease.0",
22
+ "@semcore/breakpoints": "1.42.0-prerelease.0"
23
23
  },
24
24
  "peerDependencies": {
25
- "@semcore/core": "^2.39.4-prerelease.0",
25
+ "@semcore/core": "^2.40.0-prerelease.0",
26
26
  "react": "16.8 - 18",
27
27
  "react-dom": "16.8 - 18"
28
28
  },