@stealthscale/component-media 0.1.0 → 0.2.2
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/cyclonedx/bom.json +1 -1
- package/dist/index.d.ts +33 -33
- package/dist/index.js +1 -1889
- package/dist/pages/audio/audio.js +255 -0
- package/dist/pages/audio/audio.props.js +3 -0
- package/dist/pages/avatar/avatar.js +800 -0
- package/dist/pages/avatar/avatar.props.js +3 -0
- package/dist/pages/carousel/carousel.js +800 -0
- package/dist/pages/carousel/carousel.props.js +3 -0
- package/dist/pages/iframe/iframe.js +206 -0
- package/dist/pages/iframe/iframe.props.js +3 -0
- package/dist/pages/image-cropper/image-cropper.js +760 -0
- package/dist/pages/image-cropper/image-cropper.props.js +3 -0
- package/dist/pages/pages.json +74 -0
- package/dist/pages/video/video.js +269 -0
- package/dist/pages/video/video.props.js +3 -0
- package/dist/{recipe-m4bX2c06.js → recipes-CBo6SSP8.js} +7 -7
- package/dist/shared-DH0DrBx7.js +1890 -0
- package/dist/theme.js +1 -1
- package/locales/en/specimen/audio.json +22 -0
- package/locales/en/specimen/avatar.json +71 -0
- package/locales/en/specimen/carousel.json +74 -0
- package/locales/en/specimen/iframe.json +32 -0
- package/locales/en/specimen/image-cropper.json +43 -0
- package/locales/en/specimen/video.json +32 -0
- package/package.json +24 -23
|
@@ -0,0 +1,800 @@
|
|
|
1
|
+
import { t as __exportAll } from "../../rolldown-runtime-D7D4PA-g.js";
|
|
2
|
+
import { a as recipe } from "../../recipes-CBo6SSP8.js";
|
|
3
|
+
import { C as AutoplayTrigger, S as Control, _ as NextTrigger, b as Indicators, g as PrevTrigger, h as ProgressText, m as Root, v as Item, w as AutoplayIndicator, x as IndicatorGroup, y as ItemGroup } from "../../shared-DH0DrBx7.js";
|
|
4
|
+
import { c } from "react/compiler-runtime";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { useState } from "react";
|
|
7
|
+
import { Button } from "@stealthscale/component-actions";
|
|
8
|
+
import { Room, scenesOf, specimen, useWords } from "@stealthscale/specimen";
|
|
9
|
+
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, PauseIcon, PlayIcon } from "lucide-react";
|
|
10
|
+
import { Stack } from "@stealthscale/component-layout";
|
|
11
|
+
import { Card } from "@stealthscale/component-surfaces";
|
|
12
|
+
import { SegmentGroup } from "@stealthscale/component-forms";
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/carousel/examples/pictures.ts
|
|
15
|
+
/**
|
|
16
|
+
* Lists the pictures the carousel examples show, each under the key of its description in the
|
|
17
|
+
* page's words.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Lists the five pictures, in the order the examples show them.
|
|
21
|
+
*/
|
|
22
|
+
const PICTURES = [
|
|
23
|
+
{
|
|
24
|
+
key: "dawn",
|
|
25
|
+
src: "data:image/webp;base64,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"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "lake",
|
|
29
|
+
src: "data:image/webp;base64,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"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "dunes",
|
|
33
|
+
src: "data:image/webp;base64,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"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: "harbour",
|
|
37
|
+
src: "data:image/webp;base64,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"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "peaks",
|
|
41
|
+
src: "data:image/webp;base64,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"
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/carousel/examples/cards.example.tsx
|
|
46
|
+
var cards_example_exports = /* @__PURE__ */ __exportAll({
|
|
47
|
+
Cards: () => Cards,
|
|
48
|
+
source: () => source$4
|
|
49
|
+
});
|
|
50
|
+
function Cards() {
|
|
51
|
+
const $ = c(23);
|
|
52
|
+
const { t } = useWords("carousel");
|
|
53
|
+
let t0;
|
|
54
|
+
if ($[0] !== t) {
|
|
55
|
+
t0 = t("cardsLabel");
|
|
56
|
+
$[0] = t;
|
|
57
|
+
$[1] = t0;
|
|
58
|
+
} else t0 = $[1];
|
|
59
|
+
let t1;
|
|
60
|
+
if ($[2] !== t) {
|
|
61
|
+
t1 = PICTURES.map((picture, index) => /* @__PURE__ */ jsx(Item, {
|
|
62
|
+
"aria-label": t("slide", {
|
|
63
|
+
count: PICTURES.length,
|
|
64
|
+
index: index + 1
|
|
65
|
+
}),
|
|
66
|
+
index,
|
|
67
|
+
children: /* @__PURE__ */ jsxs(Card.Root, { children: [
|
|
68
|
+
/* @__PURE__ */ jsx(Card.Media, { children: /* @__PURE__ */ jsx("img", {
|
|
69
|
+
alt: "",
|
|
70
|
+
src: picture.src
|
|
71
|
+
}) }),
|
|
72
|
+
/* @__PURE__ */ jsxs(Card.Header, { children: [/* @__PURE__ */ jsx(Card.Title, { children: t(`prints.${picture.key}`) }), /* @__PURE__ */ jsx(Card.Description, { children: t("price") })] }),
|
|
73
|
+
/* @__PURE__ */ jsx(Card.Footer, { children: /* @__PURE__ */ jsx(Button, {
|
|
74
|
+
size: "sm",
|
|
75
|
+
variant: "subtle",
|
|
76
|
+
children: t("add")
|
|
77
|
+
}) })
|
|
78
|
+
] })
|
|
79
|
+
}, picture.key));
|
|
80
|
+
$[2] = t;
|
|
81
|
+
$[3] = t1;
|
|
82
|
+
} else t1 = $[3];
|
|
83
|
+
let t2;
|
|
84
|
+
if ($[4] !== t1) {
|
|
85
|
+
t2 = /* @__PURE__ */ jsx(ItemGroup, { children: t1 });
|
|
86
|
+
$[4] = t1;
|
|
87
|
+
$[5] = t2;
|
|
88
|
+
} else t2 = $[5];
|
|
89
|
+
let t3;
|
|
90
|
+
if ($[6] !== t) {
|
|
91
|
+
t3 = t("previous");
|
|
92
|
+
$[6] = t;
|
|
93
|
+
$[7] = t3;
|
|
94
|
+
} else t3 = $[7];
|
|
95
|
+
let t4;
|
|
96
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
97
|
+
t4 = /* @__PURE__ */ jsx(ChevronLeftIcon, {});
|
|
98
|
+
$[8] = t4;
|
|
99
|
+
} else t4 = $[8];
|
|
100
|
+
let t5;
|
|
101
|
+
if ($[9] !== t3) {
|
|
102
|
+
t5 = /* @__PURE__ */ jsx(PrevTrigger, {
|
|
103
|
+
label: t3,
|
|
104
|
+
children: t4
|
|
105
|
+
});
|
|
106
|
+
$[9] = t3;
|
|
107
|
+
$[10] = t5;
|
|
108
|
+
} else t5 = $[10];
|
|
109
|
+
let t6;
|
|
110
|
+
if ($[11] !== t) {
|
|
111
|
+
t6 = t("next");
|
|
112
|
+
$[11] = t;
|
|
113
|
+
$[12] = t6;
|
|
114
|
+
} else t6 = $[12];
|
|
115
|
+
let t7;
|
|
116
|
+
if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
117
|
+
t7 = /* @__PURE__ */ jsx(ChevronRightIcon, {});
|
|
118
|
+
$[13] = t7;
|
|
119
|
+
} else t7 = $[13];
|
|
120
|
+
let t8;
|
|
121
|
+
if ($[14] !== t6) {
|
|
122
|
+
t8 = /* @__PURE__ */ jsx(NextTrigger, {
|
|
123
|
+
label: t6,
|
|
124
|
+
children: t7
|
|
125
|
+
});
|
|
126
|
+
$[14] = t6;
|
|
127
|
+
$[15] = t8;
|
|
128
|
+
} else t8 = $[15];
|
|
129
|
+
let t9;
|
|
130
|
+
if ($[16] !== t5 || $[17] !== t8) {
|
|
131
|
+
t9 = /* @__PURE__ */ jsxs(Control, { children: [t5, t8] });
|
|
132
|
+
$[16] = t5;
|
|
133
|
+
$[17] = t8;
|
|
134
|
+
$[18] = t9;
|
|
135
|
+
} else t9 = $[18];
|
|
136
|
+
let t10;
|
|
137
|
+
if ($[19] !== t0 || $[20] !== t2 || $[21] !== t9) {
|
|
138
|
+
t10 = /* @__PURE__ */ jsxs(Root, {
|
|
139
|
+
"aria-label": t0,
|
|
140
|
+
slideCount: PICTURES.length,
|
|
141
|
+
slidesPerMove: 1,
|
|
142
|
+
slidesPerPage: 2,
|
|
143
|
+
children: [t2, t9]
|
|
144
|
+
});
|
|
145
|
+
$[19] = t0;
|
|
146
|
+
$[20] = t2;
|
|
147
|
+
$[21] = t9;
|
|
148
|
+
$[22] = t10;
|
|
149
|
+
} else t10 = $[22];
|
|
150
|
+
return t10;
|
|
151
|
+
}
|
|
152
|
+
const source$4 = "import { type ReactElement } from \"react\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\n\nimport { Button } from \"@stealthscale/component-actions\";\nimport { Card } from \"@stealthscale/component-surfaces\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Carousel } from \"@stealthscale/component-media\";\n\nimport { PICTURES } from \"./pictures.ts\";\n\nexport function Cards(): ReactElement {\n const { t } = useWords(\"carousel\");\n\n return (\n <Carousel.Root\n aria-label={t(\"cardsLabel\")}\n slideCount={PICTURES.length}\n slidesPerMove={1}\n slidesPerPage={2}\n >\n <Carousel.ItemGroup>\n {PICTURES.map((picture, index) => (\n <Carousel.Item\n aria-label={t(\"slide\", { count: PICTURES.length, index: index + 1 })}\n index={index}\n key={picture.key}\n >\n <Card.Root>\n <Card.Media>\n <img alt=\"\" src={picture.src} />\n </Card.Media>\n <Card.Header>\n <Card.Title>{t(`prints.${picture.key}`)}</Card.Title>\n <Card.Description>{t(\"price\")}</Card.Description>\n </Card.Header>\n <Card.Footer>\n <Button size=\"sm\" variant=\"subtle\">\n {t(\"add\")}\n </Button>\n </Card.Footer>\n </Card.Root>\n </Carousel.Item>\n ))}\n </Carousel.ItemGroup>\n <Carousel.Control>\n <Carousel.PrevTrigger label={t(\"previous\")}>\n <ChevronLeftIcon />\n </Carousel.PrevTrigger>\n <Carousel.NextTrigger label={t(\"next\")}>\n <ChevronRightIcon />\n </Carousel.NextTrigger>\n </Carousel.Control>\n </Carousel.Root>\n );\n}\n";
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region src/carousel/examples/controlled.example.tsx
|
|
155
|
+
var controlled_example_exports = /* @__PURE__ */ __exportAll({
|
|
156
|
+
Controlled: () => Controlled,
|
|
157
|
+
source: () => source$3
|
|
158
|
+
});
|
|
159
|
+
const SHOWN = PICTURES.slice(0, 3);
|
|
160
|
+
function Controlled() {
|
|
161
|
+
const $ = c(40);
|
|
162
|
+
const { t } = useWords("carousel");
|
|
163
|
+
const [page, setPage] = useState(0);
|
|
164
|
+
let t0;
|
|
165
|
+
if ($[0] !== t) {
|
|
166
|
+
t0 = t("chooser");
|
|
167
|
+
$[0] = t;
|
|
168
|
+
$[1] = t0;
|
|
169
|
+
} else t0 = $[1];
|
|
170
|
+
let t1;
|
|
171
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
172
|
+
t1 = (t2) => {
|
|
173
|
+
const { value } = t2;
|
|
174
|
+
setPage(SHOWN.findIndex((picture) => picture.key === value));
|
|
175
|
+
};
|
|
176
|
+
$[2] = t1;
|
|
177
|
+
} else t1 = $[2];
|
|
178
|
+
const t2 = SHOWN[page]?.key ?? null;
|
|
179
|
+
let t3;
|
|
180
|
+
if ($[3] !== t) {
|
|
181
|
+
t3 = SHOWN.map((picture_0) => /* @__PURE__ */ jsx(SegmentGroup.Item, {
|
|
182
|
+
value: picture_0.key,
|
|
183
|
+
children: /* @__PURE__ */ jsx(SegmentGroup.ItemText, { children: t(`places.${picture_0.key}`) })
|
|
184
|
+
}, picture_0.key));
|
|
185
|
+
$[3] = t;
|
|
186
|
+
$[4] = t3;
|
|
187
|
+
} else t3 = $[4];
|
|
188
|
+
let t4;
|
|
189
|
+
if ($[5] !== t0 || $[6] !== t2 || $[7] !== t3) {
|
|
190
|
+
t4 = /* @__PURE__ */ jsx(SegmentGroup.Root, {
|
|
191
|
+
"aria-label": t0,
|
|
192
|
+
onValueChange: t1,
|
|
193
|
+
value: t2,
|
|
194
|
+
children: t3
|
|
195
|
+
});
|
|
196
|
+
$[5] = t0;
|
|
197
|
+
$[6] = t2;
|
|
198
|
+
$[7] = t3;
|
|
199
|
+
$[8] = t4;
|
|
200
|
+
} else t4 = $[8];
|
|
201
|
+
let t5;
|
|
202
|
+
if ($[9] !== t) {
|
|
203
|
+
t5 = t("controlledLabel");
|
|
204
|
+
$[9] = t;
|
|
205
|
+
$[10] = t5;
|
|
206
|
+
} else t5 = $[10];
|
|
207
|
+
let t6;
|
|
208
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
209
|
+
t6 = (details) => {
|
|
210
|
+
setPage(details.page);
|
|
211
|
+
};
|
|
212
|
+
$[11] = t6;
|
|
213
|
+
} else t6 = $[11];
|
|
214
|
+
let t7;
|
|
215
|
+
if ($[12] !== t) {
|
|
216
|
+
t7 = SHOWN.map((picture_1, index) => /* @__PURE__ */ jsx(Item, {
|
|
217
|
+
"aria-label": t("slide", {
|
|
218
|
+
count: SHOWN.length,
|
|
219
|
+
index: index + 1
|
|
220
|
+
}),
|
|
221
|
+
index,
|
|
222
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
223
|
+
alt: t(`pictures.${picture_1.key}`),
|
|
224
|
+
src: picture_1.src
|
|
225
|
+
})
|
|
226
|
+
}, picture_1.key));
|
|
227
|
+
$[12] = t;
|
|
228
|
+
$[13] = t7;
|
|
229
|
+
} else t7 = $[13];
|
|
230
|
+
let t8;
|
|
231
|
+
if ($[14] !== t7) {
|
|
232
|
+
t8 = /* @__PURE__ */ jsx(ItemGroup, { children: t7 });
|
|
233
|
+
$[14] = t7;
|
|
234
|
+
$[15] = t8;
|
|
235
|
+
} else t8 = $[15];
|
|
236
|
+
let t9;
|
|
237
|
+
if ($[16] !== t) {
|
|
238
|
+
t9 = t("previous");
|
|
239
|
+
$[16] = t;
|
|
240
|
+
$[17] = t9;
|
|
241
|
+
} else t9 = $[17];
|
|
242
|
+
let t10;
|
|
243
|
+
if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
244
|
+
t10 = /* @__PURE__ */ jsx(ChevronLeftIcon, {});
|
|
245
|
+
$[18] = t10;
|
|
246
|
+
} else t10 = $[18];
|
|
247
|
+
let t11;
|
|
248
|
+
if ($[19] !== t9) {
|
|
249
|
+
t11 = /* @__PURE__ */ jsx(PrevTrigger, {
|
|
250
|
+
label: t9,
|
|
251
|
+
children: t10
|
|
252
|
+
});
|
|
253
|
+
$[19] = t9;
|
|
254
|
+
$[20] = t11;
|
|
255
|
+
} else t11 = $[20];
|
|
256
|
+
let t12;
|
|
257
|
+
if ($[21] !== t) {
|
|
258
|
+
t12 = /* @__PURE__ */ jsx(ProgressText, { text: (details_0) => t("progress", { ...details_0 }) });
|
|
259
|
+
$[21] = t;
|
|
260
|
+
$[22] = t12;
|
|
261
|
+
} else t12 = $[22];
|
|
262
|
+
let t13;
|
|
263
|
+
if ($[23] !== t) {
|
|
264
|
+
t13 = t("next");
|
|
265
|
+
$[23] = t;
|
|
266
|
+
$[24] = t13;
|
|
267
|
+
} else t13 = $[24];
|
|
268
|
+
let t14;
|
|
269
|
+
if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
|
|
270
|
+
t14 = /* @__PURE__ */ jsx(ChevronRightIcon, {});
|
|
271
|
+
$[25] = t14;
|
|
272
|
+
} else t14 = $[25];
|
|
273
|
+
let t15;
|
|
274
|
+
if ($[26] !== t13) {
|
|
275
|
+
t15 = /* @__PURE__ */ jsx(NextTrigger, {
|
|
276
|
+
label: t13,
|
|
277
|
+
children: t14
|
|
278
|
+
});
|
|
279
|
+
$[26] = t13;
|
|
280
|
+
$[27] = t15;
|
|
281
|
+
} else t15 = $[27];
|
|
282
|
+
let t16;
|
|
283
|
+
if ($[28] !== t11 || $[29] !== t12 || $[30] !== t15) {
|
|
284
|
+
t16 = /* @__PURE__ */ jsxs(Control, { children: [
|
|
285
|
+
t11,
|
|
286
|
+
t12,
|
|
287
|
+
t15
|
|
288
|
+
] });
|
|
289
|
+
$[28] = t11;
|
|
290
|
+
$[29] = t12;
|
|
291
|
+
$[30] = t15;
|
|
292
|
+
$[31] = t16;
|
|
293
|
+
} else t16 = $[31];
|
|
294
|
+
let t17;
|
|
295
|
+
if ($[32] !== page || $[33] !== t16 || $[34] !== t5 || $[35] !== t8) {
|
|
296
|
+
t17 = /* @__PURE__ */ jsxs(Root, {
|
|
297
|
+
"aria-label": t5,
|
|
298
|
+
onPageChange: t6,
|
|
299
|
+
page,
|
|
300
|
+
slideCount: SHOWN.length,
|
|
301
|
+
children: [t8, t16]
|
|
302
|
+
});
|
|
303
|
+
$[32] = page;
|
|
304
|
+
$[33] = t16;
|
|
305
|
+
$[34] = t5;
|
|
306
|
+
$[35] = t8;
|
|
307
|
+
$[36] = t17;
|
|
308
|
+
} else t17 = $[36];
|
|
309
|
+
let t18;
|
|
310
|
+
if ($[37] !== t17 || $[38] !== t4) {
|
|
311
|
+
t18 = /* @__PURE__ */ jsxs(Stack, {
|
|
312
|
+
gap: "md",
|
|
313
|
+
children: [t4, t17]
|
|
314
|
+
});
|
|
315
|
+
$[37] = t17;
|
|
316
|
+
$[38] = t4;
|
|
317
|
+
$[39] = t18;
|
|
318
|
+
} else t18 = $[39];
|
|
319
|
+
return t18;
|
|
320
|
+
}
|
|
321
|
+
const source$3 = "import { type ReactElement, useState } from \"react\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\n\nimport { SegmentGroup } from \"@stealthscale/component-forms\";\nimport { Stack } from \"@stealthscale/component-layout\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Carousel } from \"@stealthscale/component-media\";\n\nimport { PICTURES } from \"./pictures.ts\";\n\nconst SHOWN = PICTURES.slice(0, 3);\n\nexport function Controlled(): ReactElement {\n const { t } = useWords(\"carousel\");\n const [page, setPage] = useState(0);\n\n return (\n <Stack gap=\"md\">\n <SegmentGroup.Root\n aria-label={t(\"chooser\")}\n onValueChange={({ value }) => {\n setPage(SHOWN.findIndex((picture) => picture.key === value));\n }}\n value={SHOWN[page]?.key ?? null}\n >\n {SHOWN.map((picture) => (\n <SegmentGroup.Item key={picture.key} value={picture.key}>\n <SegmentGroup.ItemText>{t(`places.${picture.key}`)}</SegmentGroup.ItemText>\n </SegmentGroup.Item>\n ))}\n </SegmentGroup.Root>\n <Carousel.Root\n aria-label={t(\"controlledLabel\")}\n onPageChange={(details) => {\n setPage(details.page);\n }}\n page={page}\n slideCount={SHOWN.length}\n >\n <Carousel.ItemGroup>\n {SHOWN.map((picture, index) => (\n <Carousel.Item\n aria-label={t(\"slide\", { count: SHOWN.length, index: index + 1 })}\n index={index}\n key={picture.key}\n >\n <img alt={t(`pictures.${picture.key}`)} src={picture.src} />\n </Carousel.Item>\n ))}\n </Carousel.ItemGroup>\n <Carousel.Control>\n <Carousel.PrevTrigger label={t(\"previous\")}>\n <ChevronLeftIcon />\n </Carousel.PrevTrigger>\n <Carousel.ProgressText text={(details) => t(\"progress\", { ...details })} />\n <Carousel.NextTrigger label={t(\"next\")}>\n <ChevronRightIcon />\n </Carousel.NextTrigger>\n </Carousel.Control>\n </Carousel.Root>\n </Stack>\n );\n}\n";
|
|
322
|
+
//#endregion
|
|
323
|
+
//#region src/carousel/examples/gallery.example.tsx
|
|
324
|
+
var gallery_example_exports = /* @__PURE__ */ __exportAll({
|
|
325
|
+
Gallery: () => Gallery,
|
|
326
|
+
source: () => source$2
|
|
327
|
+
});
|
|
328
|
+
function Gallery(props) {
|
|
329
|
+
const $ = c(27);
|
|
330
|
+
const { t } = useWords("carousel");
|
|
331
|
+
let t0;
|
|
332
|
+
if ($[0] !== t) {
|
|
333
|
+
t0 = t("galleryLabel");
|
|
334
|
+
$[0] = t;
|
|
335
|
+
$[1] = t0;
|
|
336
|
+
} else t0 = $[1];
|
|
337
|
+
let t1;
|
|
338
|
+
if ($[2] !== t) {
|
|
339
|
+
t1 = PICTURES.map((picture, index) => /* @__PURE__ */ jsx(Item, {
|
|
340
|
+
"aria-label": t("slide", {
|
|
341
|
+
count: PICTURES.length,
|
|
342
|
+
index: index + 1
|
|
343
|
+
}),
|
|
344
|
+
index,
|
|
345
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
346
|
+
alt: t(`pictures.${picture.key}`),
|
|
347
|
+
src: picture.src
|
|
348
|
+
})
|
|
349
|
+
}, picture.key));
|
|
350
|
+
$[2] = t;
|
|
351
|
+
$[3] = t1;
|
|
352
|
+
} else t1 = $[3];
|
|
353
|
+
let t2;
|
|
354
|
+
if ($[4] !== t1) {
|
|
355
|
+
t2 = /* @__PURE__ */ jsx(ItemGroup, { children: t1 });
|
|
356
|
+
$[4] = t1;
|
|
357
|
+
$[5] = t2;
|
|
358
|
+
} else t2 = $[5];
|
|
359
|
+
let t3;
|
|
360
|
+
if ($[6] !== t) {
|
|
361
|
+
t3 = t("previous");
|
|
362
|
+
$[6] = t;
|
|
363
|
+
$[7] = t3;
|
|
364
|
+
} else t3 = $[7];
|
|
365
|
+
let t4;
|
|
366
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
367
|
+
t4 = /* @__PURE__ */ jsx(ChevronLeftIcon, {});
|
|
368
|
+
$[8] = t4;
|
|
369
|
+
} else t4 = $[8];
|
|
370
|
+
let t5;
|
|
371
|
+
if ($[9] !== t3) {
|
|
372
|
+
t5 = /* @__PURE__ */ jsx(PrevTrigger, {
|
|
373
|
+
label: t3,
|
|
374
|
+
children: t4
|
|
375
|
+
});
|
|
376
|
+
$[9] = t3;
|
|
377
|
+
$[10] = t5;
|
|
378
|
+
} else t5 = $[10];
|
|
379
|
+
let t6;
|
|
380
|
+
if ($[11] !== t) {
|
|
381
|
+
t6 = /* @__PURE__ */ jsx(IndicatorGroup, { children: /* @__PURE__ */ jsx(Indicators, { label: (page) => t("goTo", { page }) }) });
|
|
382
|
+
$[11] = t;
|
|
383
|
+
$[12] = t6;
|
|
384
|
+
} else t6 = $[12];
|
|
385
|
+
let t7;
|
|
386
|
+
if ($[13] !== t) {
|
|
387
|
+
t7 = t("next");
|
|
388
|
+
$[13] = t;
|
|
389
|
+
$[14] = t7;
|
|
390
|
+
} else t7 = $[14];
|
|
391
|
+
let t8;
|
|
392
|
+
if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
393
|
+
t8 = /* @__PURE__ */ jsx(ChevronRightIcon, {});
|
|
394
|
+
$[15] = t8;
|
|
395
|
+
} else t8 = $[15];
|
|
396
|
+
let t9;
|
|
397
|
+
if ($[16] !== t7) {
|
|
398
|
+
t9 = /* @__PURE__ */ jsx(NextTrigger, {
|
|
399
|
+
label: t7,
|
|
400
|
+
children: t8
|
|
401
|
+
});
|
|
402
|
+
$[16] = t7;
|
|
403
|
+
$[17] = t9;
|
|
404
|
+
} else t9 = $[17];
|
|
405
|
+
let t10;
|
|
406
|
+
if ($[18] !== t5 || $[19] !== t6 || $[20] !== t9) {
|
|
407
|
+
t10 = /* @__PURE__ */ jsxs(Control, { children: [
|
|
408
|
+
t5,
|
|
409
|
+
t6,
|
|
410
|
+
t9
|
|
411
|
+
] });
|
|
412
|
+
$[18] = t5;
|
|
413
|
+
$[19] = t6;
|
|
414
|
+
$[20] = t9;
|
|
415
|
+
$[21] = t10;
|
|
416
|
+
} else t10 = $[21];
|
|
417
|
+
let t11;
|
|
418
|
+
if ($[22] !== props || $[23] !== t0 || $[24] !== t10 || $[25] !== t2) {
|
|
419
|
+
t11 = /* @__PURE__ */ jsxs(Root, {
|
|
420
|
+
allowMouseDrag: true,
|
|
421
|
+
"aria-label": t0,
|
|
422
|
+
controls: "overlay",
|
|
423
|
+
loop: true,
|
|
424
|
+
slideCount: PICTURES.length,
|
|
425
|
+
...props,
|
|
426
|
+
children: [t2, t10]
|
|
427
|
+
});
|
|
428
|
+
$[22] = props;
|
|
429
|
+
$[23] = t0;
|
|
430
|
+
$[24] = t10;
|
|
431
|
+
$[25] = t2;
|
|
432
|
+
$[26] = t11;
|
|
433
|
+
} else t11 = $[26];
|
|
434
|
+
return t11;
|
|
435
|
+
}
|
|
436
|
+
const source$2 = "import { type ReactElement } from \"react\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Carousel } from \"@stealthscale/component-media\";\n\nimport { PICTURES } from \"./pictures.ts\";\n\nexport function Gallery(props: Omit<Carousel.RootProps, \"slideCount\">): ReactElement {\n const { t } = useWords(\"carousel\");\n\n return (\n <Carousel.Root\n allowMouseDrag\n aria-label={t(\"galleryLabel\")}\n controls=\"overlay\"\n loop\n slideCount={PICTURES.length}\n {...props}\n >\n <Carousel.ItemGroup>\n {PICTURES.map((picture, index) => (\n <Carousel.Item\n aria-label={t(\"slide\", { count: PICTURES.length, index: index + 1 })}\n index={index}\n key={picture.key}\n >\n <img alt={t(`pictures.${picture.key}`)} src={picture.src} />\n </Carousel.Item>\n ))}\n </Carousel.ItemGroup>\n <Carousel.Control>\n <Carousel.PrevTrigger label={t(\"previous\")}>\n <ChevronLeftIcon />\n </Carousel.PrevTrigger>\n <Carousel.IndicatorGroup>\n <Carousel.Indicators label={(page) => t(\"goTo\", { page })} />\n </Carousel.IndicatorGroup>\n <Carousel.NextTrigger label={t(\"next\")}>\n <ChevronRightIcon />\n </Carousel.NextTrigger>\n </Carousel.Control>\n </Carousel.Root>\n );\n}\n";
|
|
437
|
+
//#endregion
|
|
438
|
+
//#region src/carousel/examples/rotation.example.tsx
|
|
439
|
+
var rotation_example_exports = /* @__PURE__ */ __exportAll({
|
|
440
|
+
Rotation: () => Rotation,
|
|
441
|
+
source: () => source$1
|
|
442
|
+
});
|
|
443
|
+
function Rotation() {
|
|
444
|
+
const $ = c(39);
|
|
445
|
+
const { t } = useWords("carousel");
|
|
446
|
+
let t0;
|
|
447
|
+
if ($[0] !== t) {
|
|
448
|
+
t0 = t("rotationLabel");
|
|
449
|
+
$[0] = t;
|
|
450
|
+
$[1] = t0;
|
|
451
|
+
} else t0 = $[1];
|
|
452
|
+
let t1;
|
|
453
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
454
|
+
t1 = { delay: 5e3 };
|
|
455
|
+
$[2] = t1;
|
|
456
|
+
} else t1 = $[2];
|
|
457
|
+
let t2;
|
|
458
|
+
if ($[3] !== t) {
|
|
459
|
+
t2 = PICTURES.map((picture, index) => /* @__PURE__ */ jsx(Item, {
|
|
460
|
+
"aria-label": t("slide", {
|
|
461
|
+
count: PICTURES.length,
|
|
462
|
+
index: index + 1
|
|
463
|
+
}),
|
|
464
|
+
index,
|
|
465
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
466
|
+
alt: t(`pictures.${picture.key}`),
|
|
467
|
+
src: picture.src
|
|
468
|
+
})
|
|
469
|
+
}, picture.key));
|
|
470
|
+
$[3] = t;
|
|
471
|
+
$[4] = t2;
|
|
472
|
+
} else t2 = $[4];
|
|
473
|
+
let t3;
|
|
474
|
+
if ($[5] !== t2) {
|
|
475
|
+
t3 = /* @__PURE__ */ jsx(ItemGroup, { children: t2 });
|
|
476
|
+
$[5] = t2;
|
|
477
|
+
$[6] = t3;
|
|
478
|
+
} else t3 = $[6];
|
|
479
|
+
let t4;
|
|
480
|
+
if ($[7] !== t) {
|
|
481
|
+
t4 = t("start");
|
|
482
|
+
$[7] = t;
|
|
483
|
+
$[8] = t4;
|
|
484
|
+
} else t4 = $[8];
|
|
485
|
+
let t5;
|
|
486
|
+
if ($[9] !== t) {
|
|
487
|
+
t5 = t("stop");
|
|
488
|
+
$[9] = t;
|
|
489
|
+
$[10] = t5;
|
|
490
|
+
} else t5 = $[10];
|
|
491
|
+
let t6;
|
|
492
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
493
|
+
t6 = /* @__PURE__ */ jsx(AutoplayIndicator, {
|
|
494
|
+
pause: /* @__PURE__ */ jsx(PauseIcon, {}),
|
|
495
|
+
play: /* @__PURE__ */ jsx(PlayIcon, {})
|
|
496
|
+
});
|
|
497
|
+
$[11] = t6;
|
|
498
|
+
} else t6 = $[11];
|
|
499
|
+
let t7;
|
|
500
|
+
if ($[12] !== t4 || $[13] !== t5) {
|
|
501
|
+
t7 = /* @__PURE__ */ jsx(AutoplayTrigger, {
|
|
502
|
+
startLabel: t4,
|
|
503
|
+
stopLabel: t5,
|
|
504
|
+
children: t6
|
|
505
|
+
});
|
|
506
|
+
$[12] = t4;
|
|
507
|
+
$[13] = t5;
|
|
508
|
+
$[14] = t7;
|
|
509
|
+
} else t7 = $[14];
|
|
510
|
+
let t8;
|
|
511
|
+
if ($[15] !== t) {
|
|
512
|
+
t8 = t("previous");
|
|
513
|
+
$[15] = t;
|
|
514
|
+
$[16] = t8;
|
|
515
|
+
} else t8 = $[16];
|
|
516
|
+
let t9;
|
|
517
|
+
if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518
|
+
t9 = /* @__PURE__ */ jsx(ChevronLeftIcon, {});
|
|
519
|
+
$[17] = t9;
|
|
520
|
+
} else t9 = $[17];
|
|
521
|
+
let t10;
|
|
522
|
+
if ($[18] !== t8) {
|
|
523
|
+
t10 = /* @__PURE__ */ jsx(PrevTrigger, {
|
|
524
|
+
label: t8,
|
|
525
|
+
children: t9
|
|
526
|
+
});
|
|
527
|
+
$[18] = t8;
|
|
528
|
+
$[19] = t10;
|
|
529
|
+
} else t10 = $[19];
|
|
530
|
+
let t11;
|
|
531
|
+
if ($[20] !== t) {
|
|
532
|
+
t11 = /* @__PURE__ */ jsx(IndicatorGroup, { children: /* @__PURE__ */ jsx(Indicators, { label: (page) => t("goTo", { page }) }) });
|
|
533
|
+
$[20] = t;
|
|
534
|
+
$[21] = t11;
|
|
535
|
+
} else t11 = $[21];
|
|
536
|
+
let t12;
|
|
537
|
+
if ($[22] !== t) {
|
|
538
|
+
t12 = t("next");
|
|
539
|
+
$[22] = t;
|
|
540
|
+
$[23] = t12;
|
|
541
|
+
} else t12 = $[23];
|
|
542
|
+
let t13;
|
|
543
|
+
if ($[24] === Symbol.for("react.memo_cache_sentinel")) {
|
|
544
|
+
t13 = /* @__PURE__ */ jsx(ChevronRightIcon, {});
|
|
545
|
+
$[24] = t13;
|
|
546
|
+
} else t13 = $[24];
|
|
547
|
+
let t14;
|
|
548
|
+
if ($[25] !== t12) {
|
|
549
|
+
t14 = /* @__PURE__ */ jsx(NextTrigger, {
|
|
550
|
+
label: t12,
|
|
551
|
+
children: t13
|
|
552
|
+
});
|
|
553
|
+
$[25] = t12;
|
|
554
|
+
$[26] = t14;
|
|
555
|
+
} else t14 = $[26];
|
|
556
|
+
let t15;
|
|
557
|
+
if ($[27] !== t) {
|
|
558
|
+
t15 = /* @__PURE__ */ jsx(ProgressText, { text: (details) => t("progress", { ...details }) });
|
|
559
|
+
$[27] = t;
|
|
560
|
+
$[28] = t15;
|
|
561
|
+
} else t15 = $[28];
|
|
562
|
+
let t16;
|
|
563
|
+
if ($[29] !== t10 || $[30] !== t11 || $[31] !== t14 || $[32] !== t15 || $[33] !== t7) {
|
|
564
|
+
t16 = /* @__PURE__ */ jsxs(Control, { children: [
|
|
565
|
+
t7,
|
|
566
|
+
t10,
|
|
567
|
+
t11,
|
|
568
|
+
t14,
|
|
569
|
+
t15
|
|
570
|
+
] });
|
|
571
|
+
$[29] = t10;
|
|
572
|
+
$[30] = t11;
|
|
573
|
+
$[31] = t14;
|
|
574
|
+
$[32] = t15;
|
|
575
|
+
$[33] = t7;
|
|
576
|
+
$[34] = t16;
|
|
577
|
+
} else t16 = $[34];
|
|
578
|
+
let t17;
|
|
579
|
+
if ($[35] !== t0 || $[36] !== t16 || $[37] !== t3) {
|
|
580
|
+
t17 = /* @__PURE__ */ jsxs(Root, {
|
|
581
|
+
"aria-label": t0,
|
|
582
|
+
autoplay: t1,
|
|
583
|
+
ratio: "wide",
|
|
584
|
+
slideCount: PICTURES.length,
|
|
585
|
+
children: [t3, t16]
|
|
586
|
+
});
|
|
587
|
+
$[35] = t0;
|
|
588
|
+
$[36] = t16;
|
|
589
|
+
$[37] = t3;
|
|
590
|
+
$[38] = t17;
|
|
591
|
+
} else t17 = $[38];
|
|
592
|
+
return t17;
|
|
593
|
+
}
|
|
594
|
+
const source$1 = "import { type ReactElement } from \"react\";\n\nimport { ChevronLeftIcon, ChevronRightIcon, PauseIcon, PlayIcon } from \"lucide-react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Carousel } from \"@stealthscale/component-media\";\n\nimport { PICTURES } from \"./pictures.ts\";\n\nexport function Rotation(): ReactElement {\n const { t } = useWords(\"carousel\");\n\n return (\n <Carousel.Root\n aria-label={t(\"rotationLabel\")}\n autoplay={{ delay: 5000 }}\n ratio=\"wide\"\n slideCount={PICTURES.length}\n >\n <Carousel.ItemGroup>\n {PICTURES.map((picture, index) => (\n <Carousel.Item\n aria-label={t(\"slide\", { count: PICTURES.length, index: index + 1 })}\n index={index}\n key={picture.key}\n >\n <img alt={t(`pictures.${picture.key}`)} src={picture.src} />\n </Carousel.Item>\n ))}\n </Carousel.ItemGroup>\n <Carousel.Control>\n <Carousel.AutoplayTrigger startLabel={t(\"start\")} stopLabel={t(\"stop\")}>\n <Carousel.AutoplayIndicator pause={<PauseIcon />} play={<PlayIcon />} />\n </Carousel.AutoplayTrigger>\n <Carousel.PrevTrigger label={t(\"previous\")}>\n <ChevronLeftIcon />\n </Carousel.PrevTrigger>\n <Carousel.IndicatorGroup>\n <Carousel.Indicators label={(page) => t(\"goTo\", { page })} />\n </Carousel.IndicatorGroup>\n <Carousel.NextTrigger label={t(\"next\")}>\n <ChevronRightIcon />\n </Carousel.NextTrigger>\n <Carousel.ProgressText text={(details) => t(\"progress\", { ...details })} />\n </Carousel.Control>\n </Carousel.Root>\n );\n}\n";
|
|
595
|
+
//#endregion
|
|
596
|
+
//#region src/carousel/examples/vertical.example.tsx
|
|
597
|
+
var vertical_example_exports = /* @__PURE__ */ __exportAll({
|
|
598
|
+
Vertical: () => Vertical,
|
|
599
|
+
source: () => source
|
|
600
|
+
});
|
|
601
|
+
function Vertical() {
|
|
602
|
+
const $ = c(26);
|
|
603
|
+
const { t } = useWords("carousel");
|
|
604
|
+
let t0;
|
|
605
|
+
if ($[0] !== t) {
|
|
606
|
+
t0 = t("verticalLabel");
|
|
607
|
+
$[0] = t;
|
|
608
|
+
$[1] = t0;
|
|
609
|
+
} else t0 = $[1];
|
|
610
|
+
let t1;
|
|
611
|
+
if ($[2] !== t) {
|
|
612
|
+
t1 = PICTURES.map((picture, index) => /* @__PURE__ */ jsx(Item, {
|
|
613
|
+
"aria-label": t("slide", {
|
|
614
|
+
count: PICTURES.length,
|
|
615
|
+
index: index + 1
|
|
616
|
+
}),
|
|
617
|
+
index,
|
|
618
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
619
|
+
alt: t(`pictures.${picture.key}`),
|
|
620
|
+
src: picture.src
|
|
621
|
+
})
|
|
622
|
+
}, picture.key));
|
|
623
|
+
$[2] = t;
|
|
624
|
+
$[3] = t1;
|
|
625
|
+
} else t1 = $[3];
|
|
626
|
+
let t2;
|
|
627
|
+
if ($[4] !== t1) {
|
|
628
|
+
t2 = /* @__PURE__ */ jsx(ItemGroup, { children: t1 });
|
|
629
|
+
$[4] = t1;
|
|
630
|
+
$[5] = t2;
|
|
631
|
+
} else t2 = $[5];
|
|
632
|
+
let t3;
|
|
633
|
+
if ($[6] !== t) {
|
|
634
|
+
t3 = t("previous");
|
|
635
|
+
$[6] = t;
|
|
636
|
+
$[7] = t3;
|
|
637
|
+
} else t3 = $[7];
|
|
638
|
+
let t4;
|
|
639
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
640
|
+
t4 = /* @__PURE__ */ jsx(ChevronUpIcon, {});
|
|
641
|
+
$[8] = t4;
|
|
642
|
+
} else t4 = $[8];
|
|
643
|
+
let t5;
|
|
644
|
+
if ($[9] !== t3) {
|
|
645
|
+
t5 = /* @__PURE__ */ jsx(PrevTrigger, {
|
|
646
|
+
label: t3,
|
|
647
|
+
children: t4
|
|
648
|
+
});
|
|
649
|
+
$[9] = t3;
|
|
650
|
+
$[10] = t5;
|
|
651
|
+
} else t5 = $[10];
|
|
652
|
+
let t6;
|
|
653
|
+
if ($[11] !== t) {
|
|
654
|
+
t6 = /* @__PURE__ */ jsx(IndicatorGroup, { children: /* @__PURE__ */ jsx(Indicators, { label: (page) => t("goTo", { page }) }) });
|
|
655
|
+
$[11] = t;
|
|
656
|
+
$[12] = t6;
|
|
657
|
+
} else t6 = $[12];
|
|
658
|
+
let t7;
|
|
659
|
+
if ($[13] !== t) {
|
|
660
|
+
t7 = t("next");
|
|
661
|
+
$[13] = t;
|
|
662
|
+
$[14] = t7;
|
|
663
|
+
} else t7 = $[14];
|
|
664
|
+
let t8;
|
|
665
|
+
if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
666
|
+
t8 = /* @__PURE__ */ jsx(ChevronDownIcon, {});
|
|
667
|
+
$[15] = t8;
|
|
668
|
+
} else t8 = $[15];
|
|
669
|
+
let t9;
|
|
670
|
+
if ($[16] !== t7) {
|
|
671
|
+
t9 = /* @__PURE__ */ jsx(NextTrigger, {
|
|
672
|
+
label: t7,
|
|
673
|
+
children: t8
|
|
674
|
+
});
|
|
675
|
+
$[16] = t7;
|
|
676
|
+
$[17] = t9;
|
|
677
|
+
} else t9 = $[17];
|
|
678
|
+
let t10;
|
|
679
|
+
if ($[18] !== t5 || $[19] !== t6 || $[20] !== t9) {
|
|
680
|
+
t10 = /* @__PURE__ */ jsxs(Control, { children: [
|
|
681
|
+
t5,
|
|
682
|
+
t6,
|
|
683
|
+
t9
|
|
684
|
+
] });
|
|
685
|
+
$[18] = t5;
|
|
686
|
+
$[19] = t6;
|
|
687
|
+
$[20] = t9;
|
|
688
|
+
$[21] = t10;
|
|
689
|
+
} else t10 = $[21];
|
|
690
|
+
let t11;
|
|
691
|
+
if ($[22] !== t0 || $[23] !== t10 || $[24] !== t2) {
|
|
692
|
+
t11 = /* @__PURE__ */ jsxs(Root, {
|
|
693
|
+
"aria-label": t0,
|
|
694
|
+
orientation: "vertical",
|
|
695
|
+
slideCount: PICTURES.length,
|
|
696
|
+
children: [t2, t10]
|
|
697
|
+
});
|
|
698
|
+
$[22] = t0;
|
|
699
|
+
$[23] = t10;
|
|
700
|
+
$[24] = t2;
|
|
701
|
+
$[25] = t11;
|
|
702
|
+
} else t11 = $[25];
|
|
703
|
+
return t11;
|
|
704
|
+
}
|
|
705
|
+
const source = "import { type ReactElement } from \"react\";\n\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Carousel } from \"@stealthscale/component-media\";\n\nimport { PICTURES } from \"./pictures.ts\";\n\nexport function Vertical(): ReactElement {\n const { t } = useWords(\"carousel\");\n\n return (\n <Carousel.Root\n aria-label={t(\"verticalLabel\")}\n orientation=\"vertical\"\n slideCount={PICTURES.length}\n >\n <Carousel.ItemGroup>\n {PICTURES.map((picture, index) => (\n <Carousel.Item\n aria-label={t(\"slide\", { count: PICTURES.length, index: index + 1 })}\n index={index}\n key={picture.key}\n >\n <img alt={t(`pictures.${picture.key}`)} src={picture.src} />\n </Carousel.Item>\n ))}\n </Carousel.ItemGroup>\n <Carousel.Control>\n <Carousel.PrevTrigger label={t(\"previous\")}>\n <ChevronUpIcon />\n </Carousel.PrevTrigger>\n <Carousel.IndicatorGroup>\n <Carousel.Indicators label={(page) => t(\"goTo\", { page })} />\n </Carousel.IndicatorGroup>\n <Carousel.NextTrigger label={t(\"next\")}>\n <ChevronDownIcon />\n </Carousel.NextTrigger>\n </Carousel.Control>\n </Carousel.Root>\n );\n}\n";
|
|
706
|
+
//#endregion
|
|
707
|
+
//#region src/carousel/carousel.specimen.tsx
|
|
708
|
+
/**
|
|
709
|
+
* Catalogue page for the carousel.
|
|
710
|
+
*
|
|
711
|
+
* @remarks
|
|
712
|
+
* The hand-written scenes show a gallery with its controls over the pictures, a rotation with its
|
|
713
|
+
* rotation control, two cards a page, a vertical carousel and a carousel an outside control
|
|
714
|
+
* drives. `scenesOf` generates the controls, palette, corner and ratio scenes from the gallery.
|
|
715
|
+
* Each carousel renders in a room at its real width, and the pictures are generated files beside
|
|
716
|
+
* the examples. The words are keys under `carousel` in `locales/en/specimen/carousel.json`.
|
|
717
|
+
*/
|
|
718
|
+
/**
|
|
719
|
+
* Hand-written scene for pictures with the controls over them.
|
|
720
|
+
*/
|
|
721
|
+
const gallery = {
|
|
722
|
+
about: "carousel.gallery.about",
|
|
723
|
+
draw: () => /* @__PURE__ */ jsx(Room, {
|
|
724
|
+
size: "sm",
|
|
725
|
+
children: /* @__PURE__ */ jsx(Gallery, {})
|
|
726
|
+
}),
|
|
727
|
+
example: gallery_example_exports,
|
|
728
|
+
title: "carousel.gallery.title"
|
|
729
|
+
};
|
|
730
|
+
/**
|
|
731
|
+
* Hand-written scene for a carousel that rotates by itself.
|
|
732
|
+
*/
|
|
733
|
+
const rotation = {
|
|
734
|
+
about: "carousel.rotation.about",
|
|
735
|
+
draw: () => /* @__PURE__ */ jsx(Room, {
|
|
736
|
+
size: "sm",
|
|
737
|
+
children: /* @__PURE__ */ jsx(Rotation, {})
|
|
738
|
+
}),
|
|
739
|
+
example: rotation_example_exports,
|
|
740
|
+
title: "carousel.rotation.title"
|
|
741
|
+
};
|
|
742
|
+
/**
|
|
743
|
+
* Hand-written scene for two cards a page that move one at a time.
|
|
744
|
+
*/
|
|
745
|
+
const cards = {
|
|
746
|
+
about: "carousel.cards.about",
|
|
747
|
+
draw: () => /* @__PURE__ */ jsx(Room, {
|
|
748
|
+
size: "md",
|
|
749
|
+
children: /* @__PURE__ */ jsx(Cards, {})
|
|
750
|
+
}),
|
|
751
|
+
example: cards_example_exports,
|
|
752
|
+
title: "carousel.cards.title"
|
|
753
|
+
};
|
|
754
|
+
/**
|
|
755
|
+
* Hand-written scene for slides that run top to bottom.
|
|
756
|
+
*/
|
|
757
|
+
const vertical = {
|
|
758
|
+
about: "carousel.vertical.about",
|
|
759
|
+
draw: () => /* @__PURE__ */ jsx(Room, {
|
|
760
|
+
size: "sm",
|
|
761
|
+
children: /* @__PURE__ */ jsx(Vertical, {})
|
|
762
|
+
}),
|
|
763
|
+
example: vertical_example_exports,
|
|
764
|
+
title: "carousel.vertical.title"
|
|
765
|
+
};
|
|
766
|
+
/**
|
|
767
|
+
* Hand-written scene for a carousel whose page an outside control sets.
|
|
768
|
+
*/
|
|
769
|
+
const controlled = {
|
|
770
|
+
about: "carousel.controlled.about",
|
|
771
|
+
draw: () => /* @__PURE__ */ jsx(Room, {
|
|
772
|
+
size: "sm",
|
|
773
|
+
children: /* @__PURE__ */ jsx(Controlled, {})
|
|
774
|
+
}),
|
|
775
|
+
example: controlled_example_exports,
|
|
776
|
+
title: "carousel.controlled.title"
|
|
777
|
+
};
|
|
778
|
+
var carousel_specimen_default = specimen({
|
|
779
|
+
about: "carousel.about",
|
|
780
|
+
id: "components/media/carousel",
|
|
781
|
+
imports: "import { Carousel } from \"@stealthscale/component-media\";",
|
|
782
|
+
scenes: [
|
|
783
|
+
gallery,
|
|
784
|
+
rotation,
|
|
785
|
+
cards,
|
|
786
|
+
vertical,
|
|
787
|
+
controlled,
|
|
788
|
+
...scenesOf(recipe, {
|
|
789
|
+
draw: (props) => /* @__PURE__ */ jsx(Room, {
|
|
790
|
+
size: "xs",
|
|
791
|
+
children: /* @__PURE__ */ jsx(Gallery, { ...props })
|
|
792
|
+
}),
|
|
793
|
+
example: gallery_example_exports,
|
|
794
|
+
namespace: "carousel"
|
|
795
|
+
})
|
|
796
|
+
],
|
|
797
|
+
title: "carousel.title"
|
|
798
|
+
});
|
|
799
|
+
//#endregion
|
|
800
|
+
export { cards, controlled, carousel_specimen_default as default, gallery, rotation, vertical };
|