@wix/editor-react-components 1.2197.0 → 1.2198.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.
- package/dist/site/components/Button/Button.types.d.ts +1 -0
- package/dist/site/components/Slideshow/NavigationButtons.d.ts +3 -1
- package/dist/site/components/Slideshow/Slideshow.d.ts +2 -0
- package/dist/site/components/Slideshow/component.js +36 -6
- package/dist/site/components/Slideshow/constants.d.ts +96 -75
- package/dist/site/components/Slideshow/css.css +18 -3
- package/dist/site/components/Slideshow/manifest.js +183 -20
- package/dist/site/components/chunks/Button.js +3 -1
- package/dist/site/components/chunks/Slideshow.semanticClassNames.js +23 -4
- package/package.json +2 -2
|
@@ -9,6 +9,8 @@ type NavigationButtonsProps = {
|
|
|
9
9
|
parentDirection?: Direction;
|
|
10
10
|
siteDirection?: Direction;
|
|
11
11
|
navigationButtonsProps?: Partial<ButtonProps>;
|
|
12
|
+
nextButtonLabel?: string;
|
|
13
|
+
prevButtonLabel?: string;
|
|
12
14
|
};
|
|
13
|
-
export declare const NavigationButtons: ({ nextDisabled, onNextClick, prevDisabled, onPrevClick, parentDirection, navigationButtonsProps, siteDirection, }: NavigationButtonsProps) => React.JSX.Element | null;
|
|
15
|
+
export declare const NavigationButtons: ({ nextDisabled, onNextClick, prevDisabled, onPrevClick, parentDirection, navigationButtonsProps, siteDirection, nextButtonLabel, prevButtonLabel, }: NavigationButtonsProps) => React.JSX.Element | null;
|
|
14
16
|
export {};
|
|
@@ -29,6 +29,8 @@ type SlideshowDataProps = SdkFunctionClickableProps & SdkFunctionMouseHoverProps
|
|
|
29
29
|
onChange?: (event?: React.SyntheticEvent) => void;
|
|
30
30
|
onPlay?: () => void;
|
|
31
31
|
onPause?: () => void;
|
|
32
|
+
nextButtonLabel?: string;
|
|
33
|
+
prevButtonLabel?: string;
|
|
32
34
|
/** Utility prop that is not stored in the manifest data namespace. */
|
|
33
35
|
rawAutoplay?: boolean;
|
|
34
36
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useRef, useEffect, useCallback, useMemo } from "react";
|
|
3
3
|
import { c as clsx } from "../chunks/clsx.js";
|
|
4
|
-
import { M as MOVEMENT_DIRECTION, A as AUTOPLAY_STATE, s as
|
|
4
|
+
import { M as MOVEMENT_DIRECTION, A as AUTOPLAY_STATE, s as slideshowDataDefaults, a as semanticClassNames, S as SLIDESHOW_SLIDE_LTR_DIRECTION_EXPERIMENT } from "../chunks/Slideshow.semanticClassNames.js";
|
|
5
5
|
import { B as Button } from "../chunks/Button.js";
|
|
6
6
|
import { p as presetWrapperStyles } from "../chunks/presetWrapper.module.js";
|
|
7
7
|
import { d as directionStyles } from "../chunks/direction.module.js";
|
|
@@ -145,6 +145,7 @@ const fadeIn = "fadeIn__CsW3Y";
|
|
|
145
145
|
const fadeOut = "fadeOut__w2xZR";
|
|
146
146
|
const transitionTypeInOut = "transition-type-in-out__W25dJ";
|
|
147
147
|
const buttons = "buttons__Fx7T8";
|
|
148
|
+
const labelSizer = "labelSizer__RyeL0";
|
|
148
149
|
const btnWrapper = "btnWrapper__T0ETG";
|
|
149
150
|
const button = "button__y4atu";
|
|
150
151
|
const prev = "prev__qz5A6";
|
|
@@ -195,6 +196,7 @@ const styles = {
|
|
|
195
196
|
"transition-type-in-out": "transition-type-in-out__W25dJ",
|
|
196
197
|
transitionTypeInOut,
|
|
197
198
|
buttons,
|
|
199
|
+
labelSizer,
|
|
198
200
|
btnWrapper,
|
|
199
201
|
button,
|
|
200
202
|
prev,
|
|
@@ -211,6 +213,10 @@ const styles = {
|
|
|
211
213
|
controlsWrapper,
|
|
212
214
|
controlsWrapperContent
|
|
213
215
|
};
|
|
216
|
+
const LabelWithSizer = ({ visibleLabel, sizerLabel }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
217
|
+
/* @__PURE__ */ jsx("span", { children: visibleLabel }),
|
|
218
|
+
/* @__PURE__ */ jsx("span", { className: styles.labelSizer, "aria-hidden": "true", children: sizerLabel })
|
|
219
|
+
] });
|
|
214
220
|
const NavigationButtons = ({
|
|
215
221
|
nextDisabled,
|
|
216
222
|
onNextClick,
|
|
@@ -218,7 +224,9 @@ const NavigationButtons = ({
|
|
|
218
224
|
onPrevClick,
|
|
219
225
|
parentDirection,
|
|
220
226
|
navigationButtonsProps,
|
|
221
|
-
siteDirection
|
|
227
|
+
siteDirection,
|
|
228
|
+
nextButtonLabel = slideshowDataDefaults.nextButtonLabel,
|
|
229
|
+
prevButtonLabel = slideshowDataDefaults.prevButtonLabel
|
|
222
230
|
}) => {
|
|
223
231
|
var _a;
|
|
224
232
|
const direction = navigationButtonsProps == null ? void 0 : navigationButtonsProps.direction;
|
|
@@ -248,8 +256,17 @@ const NavigationButtons = ({
|
|
|
248
256
|
),
|
|
249
257
|
disabled: prevDisabled,
|
|
250
258
|
...navigationButtonsProps,
|
|
259
|
+
label: prevButtonLabel || void 0,
|
|
260
|
+
labelContent: prevButtonLabel ? /* @__PURE__ */ jsx(
|
|
261
|
+
LabelWithSizer,
|
|
262
|
+
{
|
|
263
|
+
visibleLabel: prevButtonLabel,
|
|
264
|
+
sizerLabel: nextButtonLabel
|
|
265
|
+
}
|
|
266
|
+
) : void 0,
|
|
251
267
|
a11y: {
|
|
252
|
-
|
|
268
|
+
...navigationButtonsProps == null ? void 0 : navigationButtonsProps.a11y,
|
|
269
|
+
ariaLabel: prevButtonLabel || slideshowDataDefaults.prevButtonLabel
|
|
253
270
|
}
|
|
254
271
|
}
|
|
255
272
|
),
|
|
@@ -263,8 +280,17 @@ const NavigationButtons = ({
|
|
|
263
280
|
),
|
|
264
281
|
disabled: nextDisabled,
|
|
265
282
|
...navigationButtonsProps,
|
|
283
|
+
label: nextButtonLabel || void 0,
|
|
284
|
+
labelContent: nextButtonLabel ? /* @__PURE__ */ jsx(
|
|
285
|
+
LabelWithSizer,
|
|
286
|
+
{
|
|
287
|
+
visibleLabel: nextButtonLabel,
|
|
288
|
+
sizerLabel: prevButtonLabel
|
|
289
|
+
}
|
|
290
|
+
) : void 0,
|
|
266
291
|
a11y: {
|
|
267
|
-
|
|
292
|
+
...navigationButtonsProps == null ? void 0 : navigationButtonsProps.a11y,
|
|
293
|
+
ariaLabel: nextButtonLabel || slideshowDataDefaults.nextButtonLabel
|
|
268
294
|
}
|
|
269
295
|
}
|
|
270
296
|
)
|
|
@@ -508,6 +534,8 @@ const Slideshow = (props) => {
|
|
|
508
534
|
showPauseButton = slideshowDataDefaults.showPauseButton,
|
|
509
535
|
rawAutoplay = true,
|
|
510
536
|
a11y,
|
|
537
|
+
nextButtonLabel,
|
|
538
|
+
prevButtonLabel,
|
|
511
539
|
onChange: onChangeCallback,
|
|
512
540
|
onPlay: onPlayCallback,
|
|
513
541
|
onPause: onPauseCallback,
|
|
@@ -696,7 +724,9 @@ const Slideshow = (props) => {
|
|
|
696
724
|
prevDisabled: !loop && activeSlideIndex === 0,
|
|
697
725
|
parentDirection: direction,
|
|
698
726
|
siteDirection,
|
|
699
|
-
navigationButtonsProps
|
|
727
|
+
navigationButtonsProps,
|
|
728
|
+
nextButtonLabel,
|
|
729
|
+
prevButtonLabel
|
|
700
730
|
}
|
|
701
731
|
),
|
|
702
732
|
/* @__PURE__ */ jsx(
|
|
@@ -1,96 +1,112 @@
|
|
|
1
1
|
export declare const DisplayNames: {
|
|
2
|
-
root: {
|
|
3
|
-
elementDisplayName:
|
|
4
|
-
actions: {
|
|
5
|
-
manageItems:
|
|
6
|
-
};
|
|
7
|
-
customActions: {
|
|
8
|
-
animatedIcon:
|
|
9
|
-
};
|
|
10
|
-
data: {
|
|
11
|
-
content:
|
|
12
|
-
autoplay:
|
|
13
|
-
loop:
|
|
14
|
-
autoplayDelay:
|
|
15
|
-
pauseOnHover:
|
|
16
|
-
transitionType:
|
|
17
|
-
transitionDirection:
|
|
18
|
-
transitionDuration:
|
|
19
|
-
slides:
|
|
20
|
-
activeSlide:
|
|
21
|
-
showPauseButton:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
'
|
|
31
|
-
|
|
32
|
-
'
|
|
33
|
-
'
|
|
2
|
+
readonly root: {
|
|
3
|
+
readonly elementDisplayName: "Slideshow";
|
|
4
|
+
readonly actions: {
|
|
5
|
+
readonly manageItems: "Manage Slideshow";
|
|
6
|
+
};
|
|
7
|
+
readonly customActions: {
|
|
8
|
+
readonly animatedIcon: "Customize Icon";
|
|
9
|
+
};
|
|
10
|
+
readonly data: {
|
|
11
|
+
readonly content: "Box";
|
|
12
|
+
readonly autoplay: "Autoplay";
|
|
13
|
+
readonly loop: "Continuous loop";
|
|
14
|
+
readonly autoplayDelay: "Time on each slide (seconds)";
|
|
15
|
+
readonly pauseOnHover: "Pause on hover";
|
|
16
|
+
readonly transitionType: "Transitions";
|
|
17
|
+
readonly transitionDirection: "Transition direction";
|
|
18
|
+
readonly transitionDuration: "Transition duration (seconds)";
|
|
19
|
+
readonly slides: "Slide";
|
|
20
|
+
readonly activeSlide: "Active slide";
|
|
21
|
+
readonly showPauseButton: "Show pause & play button";
|
|
22
|
+
readonly nextButtonLabel: "Next navigation button text";
|
|
23
|
+
readonly prevButtonLabel: "Previous navigation button text";
|
|
24
|
+
};
|
|
25
|
+
readonly displayGroups: {
|
|
26
|
+
readonly slides: "Slides";
|
|
27
|
+
readonly buttonsText: "Buttons text";
|
|
28
|
+
};
|
|
29
|
+
readonly cssCustomProperties: {
|
|
30
|
+
readonly 'animation-duration': "Transition duration";
|
|
31
|
+
readonly orientation: "Orientation";
|
|
32
|
+
readonly 'icon-placement': "Icon placement";
|
|
33
|
+
readonly 'navigation-buttons-position': "Navigation button position";
|
|
34
|
+
readonly 'navigation-buttons-arrangement': "Navigation button arrangement";
|
|
35
|
+
readonly 'navigation-buttons-alignment': "Navigation button alignment";
|
|
36
|
+
readonly 'slide-indicators-position': "Slide indicator position";
|
|
37
|
+
readonly 'controls-padding': "Padding";
|
|
34
38
|
};
|
|
35
39
|
};
|
|
36
|
-
transitionType: {
|
|
37
|
-
options: {
|
|
38
|
-
none:
|
|
39
|
-
slide:
|
|
40
|
-
crossFade:
|
|
41
|
-
inOut:
|
|
40
|
+
readonly transitionType: {
|
|
41
|
+
readonly options: {
|
|
42
|
+
readonly none: "None";
|
|
43
|
+
readonly slide: "Slide";
|
|
44
|
+
readonly crossFade: "Cross-fade";
|
|
45
|
+
readonly inOut: "In-and-out";
|
|
42
46
|
};
|
|
43
47
|
};
|
|
44
|
-
transitionDirection: {
|
|
45
|
-
options: {
|
|
46
|
-
rtl:
|
|
47
|
-
ltr:
|
|
48
|
-
ttb:
|
|
49
|
-
btt:
|
|
48
|
+
readonly transitionDirection: {
|
|
49
|
+
readonly options: {
|
|
50
|
+
readonly rtl: "Right-to-left";
|
|
51
|
+
readonly ltr: "Left-to-right";
|
|
52
|
+
readonly ttb: "Top-to-bottom";
|
|
53
|
+
readonly btt: "Bottom-to-top";
|
|
50
54
|
};
|
|
51
55
|
};
|
|
52
|
-
orientation: {
|
|
53
|
-
options: {
|
|
54
|
-
horizontal:
|
|
55
|
-
vertical:
|
|
56
|
+
readonly orientation: {
|
|
57
|
+
readonly options: {
|
|
58
|
+
readonly horizontal: "Horizontal";
|
|
59
|
+
readonly vertical: "Vertical";
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
readonly iconPlacement: {
|
|
63
|
+
readonly horizontal: {
|
|
64
|
+
readonly nextToText: "Next to text";
|
|
65
|
+
readonly aboveText: "Above text";
|
|
66
|
+
readonly belowText: "Below text";
|
|
67
|
+
};
|
|
68
|
+
readonly vertical: {
|
|
69
|
+
readonly verticallyStacked: "Vertically stacked";
|
|
70
|
+
readonly beforeText: "Before text";
|
|
71
|
+
readonly afterText: "After text";
|
|
56
72
|
};
|
|
57
73
|
};
|
|
58
|
-
position: {
|
|
59
|
-
options: {
|
|
60
|
-
top:
|
|
61
|
-
center:
|
|
62
|
-
bottom:
|
|
63
|
-
end:
|
|
64
|
-
middle:
|
|
65
|
-
start:
|
|
74
|
+
readonly position: {
|
|
75
|
+
readonly options: {
|
|
76
|
+
readonly top: "Top";
|
|
77
|
+
readonly center: "Center";
|
|
78
|
+
readonly bottom: "Bottom";
|
|
79
|
+
readonly end: "End";
|
|
80
|
+
readonly middle: "Middle";
|
|
81
|
+
readonly start: "Start";
|
|
66
82
|
};
|
|
67
83
|
};
|
|
68
|
-
arrangement: {
|
|
69
|
-
options: {
|
|
70
|
-
separated:
|
|
71
|
-
together:
|
|
84
|
+
readonly arrangement: {
|
|
85
|
+
readonly options: {
|
|
86
|
+
readonly separated: "Separated";
|
|
87
|
+
readonly together: "Together";
|
|
72
88
|
};
|
|
73
89
|
};
|
|
74
|
-
navigationButtons: {
|
|
75
|
-
elementDisplayName:
|
|
76
|
-
data: {
|
|
77
|
-
icon:
|
|
90
|
+
readonly navigationButtons: {
|
|
91
|
+
readonly elementDisplayName: "Navigation buttons";
|
|
92
|
+
readonly data: {
|
|
93
|
+
readonly icon: "Icon";
|
|
78
94
|
};
|
|
79
95
|
};
|
|
80
|
-
slideIndicators: {
|
|
81
|
-
elementDisplayName:
|
|
82
|
-
data: {
|
|
83
|
-
indicatorMode:
|
|
96
|
+
readonly slideIndicators: {
|
|
97
|
+
readonly elementDisplayName: "Slide indicators";
|
|
98
|
+
readonly data: {
|
|
99
|
+
readonly indicatorMode: "Display slide indicators";
|
|
84
100
|
};
|
|
85
|
-
cssCustomProperties: {
|
|
86
|
-
'dot-width':
|
|
87
|
-
'dot-gap':
|
|
101
|
+
readonly cssCustomProperties: {
|
|
102
|
+
readonly 'dot-width': "Width";
|
|
103
|
+
readonly 'dot-gap': "Space between slide indicators";
|
|
88
104
|
};
|
|
89
105
|
};
|
|
90
|
-
indicatorMode: {
|
|
91
|
-
options: {
|
|
92
|
-
max5:
|
|
93
|
-
all:
|
|
106
|
+
readonly indicatorMode: {
|
|
107
|
+
readonly options: {
|
|
108
|
+
readonly max5: "Max 5";
|
|
109
|
+
readonly all: "All";
|
|
94
110
|
};
|
|
95
111
|
};
|
|
96
112
|
};
|
|
@@ -104,6 +120,8 @@ export declare const slideshowDataDefaults: {
|
|
|
104
120
|
readonly activeSlide: 0;
|
|
105
121
|
readonly transitionDuration: 0;
|
|
106
122
|
readonly showPauseButton: true;
|
|
123
|
+
readonly nextButtonLabel: "Next";
|
|
124
|
+
readonly prevButtonLabel: "Previous";
|
|
107
125
|
};
|
|
108
126
|
export declare const slideshowCssPropertiesDefaults: {
|
|
109
127
|
readonly border: "none";
|
|
@@ -113,6 +131,8 @@ export declare const slideshowCssPropertiesDefaults: {
|
|
|
113
131
|
export declare const slideshowCssCustomPropertiesDefaults: {
|
|
114
132
|
readonly 'animation-duration': "0.5s";
|
|
115
133
|
readonly orientation: "horizontal";
|
|
134
|
+
readonly 'icon-placement-horizontal': "next-to-text";
|
|
135
|
+
readonly 'icon-placement-vertical': "vertically-stacked";
|
|
116
136
|
readonly 'navigation-buttons-position': "center";
|
|
117
137
|
readonly 'navigation-buttons-arrangement': "separated";
|
|
118
138
|
readonly 'navigation-buttons-alignment': "center";
|
|
@@ -124,6 +144,7 @@ export declare const navigationButtonsPositionFields: readonly ["navigation-butt
|
|
|
124
144
|
export declare const navigationButtonsArrangementFields: readonly ["navigation-buttons-arrangement"];
|
|
125
145
|
export declare const navigationButtonsAlignmentFields: readonly ["navigation-buttons-alignment"];
|
|
126
146
|
export declare const slideIndicatorsPositionFields: readonly ["slide-indicators-position-horizontal", "slide-indicators-position-vertical"];
|
|
147
|
+
export declare const iconPlacementFields: readonly ["icon-placement-horizontal", "icon-placement-vertical"];
|
|
127
148
|
export declare const AUTOPLAY_STATE: {
|
|
128
149
|
readonly RUNNING: "running";
|
|
129
150
|
readonly CANCELLED: "cancelled";
|
|
@@ -195,9 +195,11 @@
|
|
|
195
195
|
height: var(--navigation-height, auto);
|
|
196
196
|
flex-direction: var(--navigation-flex-direction, row);
|
|
197
197
|
justify-content: var(--navigation-justify-content, space-between);
|
|
198
|
-
align-items: var(--navigation-align-items,
|
|
198
|
+
align-items: var(--navigation-align-items, stretch);
|
|
199
199
|
gap: var(--gap, 20px);
|
|
200
200
|
isolation: isolate;
|
|
201
|
+
min-width: 0;
|
|
202
|
+
max-width: 100%;
|
|
201
203
|
--base-font: var(--font, 14px sans-serif);
|
|
202
204
|
--base-color: var(--color, rgba(0, 0, 0, 1));
|
|
203
205
|
--base-alpha-color: var(--alpha-color, 1);
|
|
@@ -260,6 +262,12 @@
|
|
|
260
262
|
--base-btn-min-width: var(--btn-min-width, min-content);
|
|
261
263
|
--icon-direction-offset: 0deg;
|
|
262
264
|
}
|
|
265
|
+
.buttons__Fx7T8 .labelSizer__RyeL0 {
|
|
266
|
+
display: block;
|
|
267
|
+
visibility: hidden;
|
|
268
|
+
height: 0;
|
|
269
|
+
overflow: hidden;
|
|
270
|
+
}
|
|
263
271
|
.buttons__Fx7T8 .btnWrapper__T0ETG {
|
|
264
272
|
display: flex;
|
|
265
273
|
justify-content: var(--base-container-justify-content);
|
|
@@ -298,7 +306,7 @@
|
|
|
298
306
|
--label-white-space: var(--base-label-white-space);
|
|
299
307
|
--label-overflow: var(--base-label-overflow);
|
|
300
308
|
--label-text-overflow: var(--base-label-text-overflow);
|
|
301
|
-
--container-flex-direction: var(--base-container-flex-direction);
|
|
309
|
+
--container-flex-direction: var(--base-container-flex-direction) !important;
|
|
302
310
|
--container-align-items: var(--base-container-align-items);
|
|
303
311
|
--container-justify-content: var(--base-container-justify-content);
|
|
304
312
|
--icon-order: var(--base-icon-order);
|
|
@@ -308,6 +316,11 @@
|
|
|
308
316
|
);
|
|
309
317
|
--btn-min-width: var(--base-btn-min-width);
|
|
310
318
|
pointer-events: auto;
|
|
319
|
+
overflow: hidden;
|
|
320
|
+
overflow-wrap: break-word;
|
|
321
|
+
min-width: 0 !important;
|
|
322
|
+
max-width: 100%;
|
|
323
|
+
justify-content: center;
|
|
311
324
|
}
|
|
312
325
|
.buttons__Fx7T8 .button__y4atu svg {
|
|
313
326
|
--computed-icon-rotation: calc(
|
|
@@ -323,7 +336,9 @@
|
|
|
323
336
|
--border-start-end-radius: var(--base-border-start-start-radius);
|
|
324
337
|
--border-end-start-radius: var(--base-border-end-end-radius);
|
|
325
338
|
--border-end-end-radius: var(--base-border-end-start-radius);
|
|
326
|
-
--container-flex-direction: var(
|
|
339
|
+
--container-flex-direction: var(
|
|
340
|
+
--base-prev-container-flex-direction
|
|
341
|
+
) !important;
|
|
327
342
|
}
|
|
328
343
|
.buttons__Fx7T8 .prev__qz5A6 svg {
|
|
329
344
|
--computed-icon-rotation: calc(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { E as ELEMENTS, C as CSS_PROPERTIES, D as DATA, a as ACTIONS, I as INTERACTIONS, b as DISPLAY_GROUPS, L as LAYOUT, c as ContainerType, A as Archetype } from "../chunks/chunk-JPMZBG44.js";
|
|
2
2
|
import { g as getSelector } from "../chunks/manifest.js";
|
|
3
|
-
import { D as DisplayNames,
|
|
3
|
+
import { D as DisplayNames, a as semanticClassNames, b as slideshowCssCustomPropertiesDefaults, c as slideshowCssPropertiesDefaults, s as slideshowDataDefaults } from "../chunks/Slideshow.semanticClassNames.js";
|
|
4
4
|
import { a as manifestMouseHover, b as manifestClickable, c as manifestChangeable } from "../chunks/manifestSdkMixins.js";
|
|
5
5
|
const navigationButtons = {
|
|
6
6
|
elementType: ELEMENTS.ELEMENT_TYPE.refElement,
|
|
@@ -9,15 +9,9 @@ const navigationButtons = {
|
|
|
9
9
|
type: "wixEditorElements.Button",
|
|
10
10
|
displayName: DisplayNames.navigationButtons.elementDisplayName,
|
|
11
11
|
displayFilters: {
|
|
12
|
-
elements: {
|
|
13
|
-
hide: ["label"]
|
|
14
|
-
},
|
|
15
12
|
data: {
|
|
16
13
|
hide: ["a11y", "link", "label", "iconCollapsed", "disabled"]
|
|
17
14
|
},
|
|
18
|
-
cssProperties: {
|
|
19
|
-
hide: ["rowGap", "columnGap"]
|
|
20
|
-
},
|
|
21
15
|
cssCustomProperties: {
|
|
22
16
|
hide: ["icon-position", "content-horizontal-alignment"]
|
|
23
17
|
}
|
|
@@ -31,10 +25,6 @@ const navigationButtons = {
|
|
|
31
25
|
iconCollapsed: { disableEditing: true },
|
|
32
26
|
disabled: { disableEditing: true }
|
|
33
27
|
},
|
|
34
|
-
cssProperties: {
|
|
35
|
-
rowGap: { disableEditing: true },
|
|
36
|
-
columnGap: { disableEditing: true }
|
|
37
|
-
},
|
|
38
28
|
cssCustomProperties: {
|
|
39
29
|
"icon-position": { disableEditing: true },
|
|
40
30
|
"content-horizontal-alignment": { disableEditing: true }
|
|
@@ -139,7 +129,39 @@ const manifest = {
|
|
|
139
129
|
presets: {
|
|
140
130
|
[basePresetName]: {
|
|
141
131
|
presetCssUrl: `./site/components/Slideshow/presets/${basePresetName}.css`,
|
|
142
|
-
displayName: basePresetName
|
|
132
|
+
displayName: basePresetName,
|
|
133
|
+
presetDefaults: {
|
|
134
|
+
elements: {
|
|
135
|
+
navigationButtons: {
|
|
136
|
+
cssProperties: {
|
|
137
|
+
rowGap: { defaultValue: "4px" },
|
|
138
|
+
columnGap: { defaultValue: "4px" }
|
|
139
|
+
},
|
|
140
|
+
elements: {
|
|
141
|
+
label: {
|
|
142
|
+
cssProperties: {
|
|
143
|
+
display: { defaultValue: "none" },
|
|
144
|
+
font: {
|
|
145
|
+
defaultValue: "var(--wst-paragraph-3-font)"
|
|
146
|
+
},
|
|
147
|
+
color: {
|
|
148
|
+
defaultValue: "#650000"
|
|
149
|
+
},
|
|
150
|
+
letterSpacing: {
|
|
151
|
+
defaultValue: "0em"
|
|
152
|
+
},
|
|
153
|
+
lineHeight: {
|
|
154
|
+
defaultValue: "normal"
|
|
155
|
+
},
|
|
156
|
+
textTransform: {
|
|
157
|
+
defaultValue: "none"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
143
165
|
}
|
|
144
166
|
},
|
|
145
167
|
layout: {
|
|
@@ -285,6 +307,16 @@ const manifest = {
|
|
|
285
307
|
displayName: DisplayNames.root.data.showPauseButton,
|
|
286
308
|
defaultValue: slideshowDataDefaults.showPauseButton
|
|
287
309
|
},
|
|
310
|
+
nextButtonLabel: {
|
|
311
|
+
dataType: DATA.DATA_TYPE.text,
|
|
312
|
+
displayName: DisplayNames.root.data.nextButtonLabel,
|
|
313
|
+
defaultValue: slideshowDataDefaults.nextButtonLabel
|
|
314
|
+
},
|
|
315
|
+
prevButtonLabel: {
|
|
316
|
+
dataType: DATA.DATA_TYPE.text,
|
|
317
|
+
displayName: DisplayNames.root.data.prevButtonLabel,
|
|
318
|
+
defaultValue: slideshowDataDefaults.prevButtonLabel
|
|
319
|
+
},
|
|
288
320
|
...manifestChangeable(),
|
|
289
321
|
onPlay: {
|
|
290
322
|
dataType: DATA.DATA_TYPE.function,
|
|
@@ -327,6 +359,8 @@ const manifest = {
|
|
|
327
359
|
cssDataType: {
|
|
328
360
|
items: [
|
|
329
361
|
"orientation",
|
|
362
|
+
"icon-placement-horizontal",
|
|
363
|
+
"icon-placement-vertical",
|
|
330
364
|
"navigation-buttons-arrangement",
|
|
331
365
|
"navigation-buttons-position-together-horizontal",
|
|
332
366
|
"navigation-buttons-position-together-vertical",
|
|
@@ -388,18 +422,21 @@ const manifest = {
|
|
|
388
422
|
},
|
|
389
423
|
{ property: "--navigation-width", value: "100%" },
|
|
390
424
|
{ property: "--navigation-height", value: "auto" },
|
|
391
|
-
{
|
|
425
|
+
{
|
|
426
|
+
property: "--container-flex-direction",
|
|
427
|
+
value: "var(--icon-placement-h-flex-direction, row)"
|
|
428
|
+
},
|
|
392
429
|
{
|
|
393
430
|
property: "--container-rtl-flex-direction",
|
|
394
|
-
value: "row-reverse"
|
|
431
|
+
value: "var(--icon-placement-h-rtl-flex-direction, row-reverse)"
|
|
395
432
|
},
|
|
396
433
|
{
|
|
397
434
|
property: "--prev-container-flex-direction",
|
|
398
|
-
value: "row-reverse"
|
|
435
|
+
value: "var(--icon-placement-h-prev-flex-direction, row-reverse)"
|
|
399
436
|
},
|
|
400
437
|
{
|
|
401
438
|
property: "--prev-container-rtl-flex-direction",
|
|
402
|
-
value: "row"
|
|
439
|
+
value: "var(--icon-placement-h-prev-rtl-flex-direction, row)"
|
|
403
440
|
},
|
|
404
441
|
{
|
|
405
442
|
property: "--container-justify-content",
|
|
@@ -409,6 +446,10 @@ const manifest = {
|
|
|
409
446
|
{ property: "--icon-orientation-offset", value: "0deg" },
|
|
410
447
|
{ property: "--icon-orientation-scale", value: "scaleX(-1)" },
|
|
411
448
|
{ property: "--icon-rtl-offset", value: "180deg" },
|
|
449
|
+
{
|
|
450
|
+
property: "--icon-order",
|
|
451
|
+
value: "var(--icon-placement-h-icon-order, initial)"
|
|
452
|
+
},
|
|
412
453
|
{
|
|
413
454
|
property: "--slide-indicators-separated-align-self",
|
|
414
455
|
value: "var(--slide-indicators-horizontal-align-self)"
|
|
@@ -449,15 +490,21 @@ const manifest = {
|
|
|
449
490
|
},
|
|
450
491
|
{ property: "--navigation-width", value: "auto" },
|
|
451
492
|
{ property: "--navigation-height", value: "100%" },
|
|
452
|
-
{
|
|
453
|
-
|
|
493
|
+
{
|
|
494
|
+
property: "--container-flex-direction",
|
|
495
|
+
value: "var(--icon-placement-v-flex-direction, column)"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
property: "--container-rtl-flex-direction",
|
|
499
|
+
value: "var(--icon-placement-v-rtl-flex-direction, column)"
|
|
500
|
+
},
|
|
454
501
|
{
|
|
455
502
|
property: "--prev-container-flex-direction",
|
|
456
|
-
value: "column-reverse"
|
|
503
|
+
value: "var(--icon-placement-v-prev-flex-direction, column-reverse)"
|
|
457
504
|
},
|
|
458
505
|
{
|
|
459
506
|
property: "--prev-container-rtl-flex-direction",
|
|
460
|
-
value: "column-reverse"
|
|
507
|
+
value: "var(--icon-placement-v-prev-rtl-flex-direction, column-reverse)"
|
|
461
508
|
},
|
|
462
509
|
{ property: "--container-justify-content", value: "center" },
|
|
463
510
|
{
|
|
@@ -467,6 +514,10 @@ const manifest = {
|
|
|
467
514
|
{ property: "--icon-orientation-offset", value: "90deg" },
|
|
468
515
|
{ property: "--icon-orientation-scale", value: "scaleY(-1)" },
|
|
469
516
|
{ property: "--icon-rtl-offset", value: "0deg" },
|
|
517
|
+
{
|
|
518
|
+
property: "--icon-order",
|
|
519
|
+
value: "var(--icon-placement-v-icon-order, initial)"
|
|
520
|
+
},
|
|
470
521
|
{
|
|
471
522
|
property: "--slide-indicators-separated-align-self",
|
|
472
523
|
value: "var(--slide-indicators-vertical-align-self)"
|
|
@@ -488,6 +539,118 @@ const manifest = {
|
|
|
488
539
|
]
|
|
489
540
|
}
|
|
490
541
|
},
|
|
542
|
+
"icon-placement-horizontal": {
|
|
543
|
+
displayName: DisplayNames.root.cssCustomProperties["icon-placement"],
|
|
544
|
+
cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.customEnum,
|
|
545
|
+
defaultValue: slideshowCssCustomPropertiesDefaults["icon-placement-horizontal"],
|
|
546
|
+
customEnum: {
|
|
547
|
+
cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.string,
|
|
548
|
+
options: [
|
|
549
|
+
{
|
|
550
|
+
value: "next-to-text",
|
|
551
|
+
displayName: DisplayNames.iconPlacement.horizontal.nextToText
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
value: "above-text",
|
|
555
|
+
displayName: DisplayNames.iconPlacement.horizontal.aboveText,
|
|
556
|
+
appliedStyles: [
|
|
557
|
+
{
|
|
558
|
+
property: "--icon-placement-h-flex-direction",
|
|
559
|
+
value: "column-reverse"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
property: "--icon-placement-h-prev-flex-direction",
|
|
563
|
+
value: "column-reverse"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
property: "--icon-placement-h-rtl-flex-direction",
|
|
567
|
+
value: "column-reverse"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
property: "--icon-placement-h-prev-rtl-flex-direction",
|
|
571
|
+
value: "column-reverse"
|
|
572
|
+
}
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
value: "below-text",
|
|
577
|
+
displayName: DisplayNames.iconPlacement.horizontal.belowText,
|
|
578
|
+
appliedStyles: [
|
|
579
|
+
{
|
|
580
|
+
property: "--icon-placement-h-flex-direction",
|
|
581
|
+
value: "column"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
property: "--icon-placement-h-prev-flex-direction",
|
|
585
|
+
value: "column"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
property: "--icon-placement-h-rtl-flex-direction",
|
|
589
|
+
value: "column"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
property: "--icon-placement-h-prev-rtl-flex-direction",
|
|
593
|
+
value: "column"
|
|
594
|
+
}
|
|
595
|
+
]
|
|
596
|
+
}
|
|
597
|
+
]
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
"icon-placement-vertical": {
|
|
601
|
+
displayName: DisplayNames.root.cssCustomProperties["icon-placement"],
|
|
602
|
+
cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.customEnum,
|
|
603
|
+
defaultValue: slideshowCssCustomPropertiesDefaults["icon-placement-vertical"],
|
|
604
|
+
customEnum: {
|
|
605
|
+
cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.string,
|
|
606
|
+
options: [
|
|
607
|
+
{
|
|
608
|
+
value: "vertically-stacked",
|
|
609
|
+
displayName: DisplayNames.iconPlacement.vertical.verticallyStacked
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
value: "before-text",
|
|
613
|
+
displayName: DisplayNames.iconPlacement.vertical.beforeText,
|
|
614
|
+
appliedStyles: [
|
|
615
|
+
{ property: "--icon-placement-v-flex-direction", value: "row" },
|
|
616
|
+
{
|
|
617
|
+
property: "--icon-placement-v-prev-flex-direction",
|
|
618
|
+
value: "row"
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
property: "--icon-placement-v-rtl-flex-direction",
|
|
622
|
+
value: "row-reverse"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
property: "--icon-placement-v-prev-rtl-flex-direction",
|
|
626
|
+
value: "row-reverse"
|
|
627
|
+
},
|
|
628
|
+
{ property: "--icon-placement-v-icon-order", value: "-1" }
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
value: "after-text",
|
|
633
|
+
displayName: DisplayNames.iconPlacement.vertical.afterText,
|
|
634
|
+
appliedStyles: [
|
|
635
|
+
{ property: "--icon-placement-v-flex-direction", value: "row" },
|
|
636
|
+
{
|
|
637
|
+
property: "--icon-placement-v-prev-flex-direction",
|
|
638
|
+
value: "row"
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
property: "--icon-placement-v-rtl-flex-direction",
|
|
642
|
+
value: "row-reverse"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
property: "--icon-placement-v-prev-rtl-flex-direction",
|
|
646
|
+
value: "row-reverse"
|
|
647
|
+
},
|
|
648
|
+
{ property: "--icon-placement-v-icon-order", value: "initial" }
|
|
649
|
+
]
|
|
650
|
+
}
|
|
651
|
+
]
|
|
652
|
+
}
|
|
653
|
+
},
|
|
491
654
|
"navigation-buttons-position-together-horizontal": {
|
|
492
655
|
cssPropertyType: CSS_PROPERTIES.CSS_PROPERTY_TYPE.customEnum,
|
|
493
656
|
displayName: DisplayNames.root.cssCustomProperties["navigation-buttons-position"],
|
|
@@ -173,6 +173,7 @@ const Button = (props) => {
|
|
|
173
173
|
link: link2,
|
|
174
174
|
type = "button",
|
|
175
175
|
label: label2 = "",
|
|
176
|
+
labelContent,
|
|
176
177
|
disabled: isDisabled = false,
|
|
177
178
|
onClick: propsOnClick,
|
|
178
179
|
className,
|
|
@@ -238,6 +239,7 @@ const Button = (props) => {
|
|
|
238
239
|
onBlur
|
|
239
240
|
});
|
|
240
241
|
const a11yAttr = useButtonA11y({ propsA11y, ariaAttributes, label: label2 });
|
|
242
|
+
const renderedLabel = labelContent ?? label2;
|
|
241
243
|
const wrapperAttributes = {
|
|
242
244
|
id,
|
|
243
245
|
...getDataAttributes(props),
|
|
@@ -247,7 +249,7 @@ const Button = (props) => {
|
|
|
247
249
|
...direction && { dir: direction }
|
|
248
250
|
};
|
|
249
251
|
const renderButtonContent = () => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
250
|
-
|
|
252
|
+
renderedLabel && /* @__PURE__ */ jsx("span", { className: labelClassName, "data-testid": TestIds.buttonLabel, children: renderedLabel }),
|
|
251
253
|
/* @__PURE__ */ jsx(
|
|
252
254
|
AnimatedButtonIcon,
|
|
253
255
|
{
|
|
@@ -18,7 +18,9 @@ const DisplayNames = {
|
|
|
18
18
|
transitionDuration: "Transition duration (seconds)",
|
|
19
19
|
slides: "Slide",
|
|
20
20
|
activeSlide: "Active slide",
|
|
21
|
-
showPauseButton: "Show pause & play button"
|
|
21
|
+
showPauseButton: "Show pause & play button",
|
|
22
|
+
nextButtonLabel: "Next navigation button text",
|
|
23
|
+
prevButtonLabel: "Previous navigation button text"
|
|
22
24
|
},
|
|
23
25
|
displayGroups: {
|
|
24
26
|
slides: "Slides"
|
|
@@ -26,6 +28,7 @@ const DisplayNames = {
|
|
|
26
28
|
cssCustomProperties: {
|
|
27
29
|
"animation-duration": "Transition duration",
|
|
28
30
|
orientation: "Orientation",
|
|
31
|
+
"icon-placement": "Icon placement",
|
|
29
32
|
"navigation-buttons-position": "Navigation button position",
|
|
30
33
|
"navigation-buttons-arrangement": "Navigation button arrangement",
|
|
31
34
|
"navigation-buttons-alignment": "Navigation button alignment",
|
|
@@ -55,6 +58,18 @@ const DisplayNames = {
|
|
|
55
58
|
vertical: "Vertical"
|
|
56
59
|
}
|
|
57
60
|
},
|
|
61
|
+
iconPlacement: {
|
|
62
|
+
horizontal: {
|
|
63
|
+
nextToText: "Next to text",
|
|
64
|
+
aboveText: "Above text",
|
|
65
|
+
belowText: "Below text"
|
|
66
|
+
},
|
|
67
|
+
vertical: {
|
|
68
|
+
verticallyStacked: "Vertically stacked",
|
|
69
|
+
beforeText: "Before text",
|
|
70
|
+
afterText: "After text"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
58
73
|
position: {
|
|
59
74
|
options: {
|
|
60
75
|
top: "Top",
|
|
@@ -100,7 +115,9 @@ const slideshowDataDefaults = {
|
|
|
100
115
|
transitionDirection: "rtl",
|
|
101
116
|
activeSlide: 0,
|
|
102
117
|
transitionDuration: 0,
|
|
103
|
-
showPauseButton: true
|
|
118
|
+
showPauseButton: true,
|
|
119
|
+
nextButtonLabel: "Next",
|
|
120
|
+
prevButtonLabel: "Previous"
|
|
104
121
|
};
|
|
105
122
|
const slideshowCssPropertiesDefaults = {
|
|
106
123
|
border: "none",
|
|
@@ -110,6 +127,8 @@ const slideshowCssPropertiesDefaults = {
|
|
|
110
127
|
const slideshowCssCustomPropertiesDefaults = {
|
|
111
128
|
"animation-duration": "0.5s",
|
|
112
129
|
orientation: "horizontal",
|
|
130
|
+
"icon-placement-horizontal": "next-to-text",
|
|
131
|
+
"icon-placement-vertical": "vertically-stacked",
|
|
113
132
|
"navigation-buttons-arrangement": "separated",
|
|
114
133
|
"navigation-buttons-alignment": "center",
|
|
115
134
|
"controls-padding": "0px"
|
|
@@ -137,8 +156,8 @@ export {
|
|
|
137
156
|
DisplayNames as D,
|
|
138
157
|
MOVEMENT_DIRECTION as M,
|
|
139
158
|
SLIDESHOW_SLIDE_LTR_DIRECTION_EXPERIMENT as S,
|
|
140
|
-
|
|
159
|
+
semanticClassNames as a,
|
|
141
160
|
slideshowCssCustomPropertiesDefaults as b,
|
|
142
161
|
slideshowCssPropertiesDefaults as c,
|
|
143
|
-
|
|
162
|
+
slideshowDataDefaults as s
|
|
144
163
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/editor-react-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2198.0",
|
|
4
4
|
"description": "React components for the Wix Editor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -188,5 +188,5 @@
|
|
|
188
188
|
"registry": "https://registry.npmjs.org/",
|
|
189
189
|
"access": "public"
|
|
190
190
|
},
|
|
191
|
-
"falconPackageHash": "
|
|
191
|
+
"falconPackageHash": "4438c33ccf024b6c1f78aea0b993496c17457af84edba516269366b7"
|
|
192
192
|
}
|