@stealthscale/component-media 0.2.1 → 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.
@@ -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 };