@stealthscale/component-screen 0.2.1 → 0.2.3
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 +3 -3
- package/dist/index.js +1 -8216
- package/dist/pages/action-bar/action-bar.js +471 -0
- package/dist/pages/action-bar/action-bar.props.js +3 -0
- package/dist/pages/app-shell/app-shell.js +4899 -0
- package/dist/pages/app-shell/app-shell.props.js +3 -0
- package/dist/pages/floating-panel/floating-panel.js +995 -0
- package/dist/pages/floating-panel/floating-panel.props.js +3 -0
- package/dist/pages/locale-switcher/locale-switcher.js +180 -0
- package/dist/pages/locale-switcher/locale-switcher.props.js +3 -0
- package/dist/pages/page/page.js +2308 -0
- package/dist/pages/page/page.props.js +3 -0
- package/dist/pages/pages.json +123 -0
- package/dist/pages/section/section.js +1241 -0
- package/dist/pages/section/section.props.js +3 -0
- package/dist/pages/sidebar/sidebar.js +1743 -0
- package/dist/pages/sidebar/sidebar.props.js +3 -0
- package/dist/pages/splitter/splitter.js +1563 -0
- package/dist/pages/splitter/splitter.props.js +3 -0
- package/dist/pages/switcher/switcher.js +900 -0
- package/dist/pages/switcher/switcher.props.js +3 -0
- package/dist/pages/theme-switcher/theme-switcher.js +180 -0
- package/dist/pages/theme-switcher/theme-switcher.props.js +3 -0
- package/dist/pages/toolbar/toolbar.js +1045 -0
- package/dist/pages/toolbar/toolbar.props.js +3 -0
- package/dist/{recipe-sZAQY6Kq.js → recipes-Cmy1leBm.js} +312 -30
- package/dist/shared-DxlFabHA.js +9547 -0
- package/dist/shell.js +1 -165
- package/dist/theme.js +3 -4
- package/locales/en/specimen/action-bar.json +46 -0
- package/locales/en/specimen/app-shell.json +288 -0
- package/locales/en/specimen/floating-panel.json +70 -0
- package/locales/en/specimen/locale-switcher.json +15 -0
- package/locales/en/specimen/page.json +198 -0
- package/locales/en/specimen/section.json +91 -0
- package/locales/en/specimen/sidebar.json +87 -0
- package/locales/en/specimen/splitter.json +93 -0
- package/locales/en/specimen/switcher.json +61 -0
- package/locales/en/specimen/theme-switcher.json +15 -0
- package/locales/en/specimen/toolbar.json +80 -0
- package/package.json +25 -24
- package/dist/recipe-DRMsitrw.js +0 -283
- package/dist/root-qEh4u7y5.js +0 -1182
|
@@ -0,0 +1,1045 @@
|
|
|
1
|
+
import { t as __exportAll } from "../../rolldown-runtime-D7D4PA-g.js";
|
|
2
|
+
import { t as recipe } from "../../recipes-Cmy1leBm.js";
|
|
3
|
+
import { a as Start, c as Root, d as End, f as Center, i as Title, l as Link, o as Separator, p as Action, qt as Item, s as Search, u as Group$1 } from "../../shared-DxlFabHA.js";
|
|
4
|
+
import { c } from "react/compiler-runtime";
|
|
5
|
+
import { Button, IconButton } from "@stealthscale/component-actions";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { Stack } from "@stealthscale/component-layout";
|
|
9
|
+
import { Room, Sample, scenesOf, specimen, useWords } from "@stealthscale/specimen";
|
|
10
|
+
import { BoldIcon, Columns3Icon, DownloadIcon, EllipsisIcon, FunnelIcon, ItalicIcon, MenuIcon, PlusIcon, SearchIcon, ShareIcon, UnderlineIcon, XIcon } from "lucide-react";
|
|
11
|
+
import { Text } from "@stealthscale/component-typography";
|
|
12
|
+
//#region src/toolbar/examples/editor.example.tsx
|
|
13
|
+
var editor_example_exports = /* @__PURE__ */ __exportAll({
|
|
14
|
+
Editor: () => Editor,
|
|
15
|
+
source: () => source$5
|
|
16
|
+
});
|
|
17
|
+
const MARKS = [
|
|
18
|
+
{
|
|
19
|
+
Mark: BoldIcon,
|
|
20
|
+
name: "bold"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
Mark: ItalicIcon,
|
|
24
|
+
name: "italic"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
Mark: UnderlineIcon,
|
|
28
|
+
name: "underline"
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
function Editor(props) {
|
|
32
|
+
const $ = c(32);
|
|
33
|
+
const { t } = useWords("toolbar");
|
|
34
|
+
let t0;
|
|
35
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
36
|
+
t0 = [];
|
|
37
|
+
$[0] = t0;
|
|
38
|
+
} else t0 = $[0];
|
|
39
|
+
const [marked, setMarked] = useState(t0);
|
|
40
|
+
let t1;
|
|
41
|
+
if ($[1] !== t) {
|
|
42
|
+
t1 = t("editing");
|
|
43
|
+
$[1] = t;
|
|
44
|
+
$[2] = t1;
|
|
45
|
+
} else t1 = $[2];
|
|
46
|
+
let t2;
|
|
47
|
+
if ($[3] !== t) {
|
|
48
|
+
t2 = t("menu");
|
|
49
|
+
$[3] = t;
|
|
50
|
+
$[4] = t2;
|
|
51
|
+
} else t2 = $[4];
|
|
52
|
+
let t3;
|
|
53
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
54
|
+
t3 = /* @__PURE__ */ jsx(MenuIcon, { size: "1em" });
|
|
55
|
+
$[5] = t3;
|
|
56
|
+
} else t3 = $[5];
|
|
57
|
+
let t4;
|
|
58
|
+
if ($[6] !== t2) {
|
|
59
|
+
t4 = /* @__PURE__ */ jsx(Start, { children: /* @__PURE__ */ jsx(Item, {
|
|
60
|
+
"aria-label": t2,
|
|
61
|
+
as: IconButton,
|
|
62
|
+
variant: "ghost",
|
|
63
|
+
children: t3
|
|
64
|
+
}) });
|
|
65
|
+
$[6] = t2;
|
|
66
|
+
$[7] = t4;
|
|
67
|
+
} else t4 = $[7];
|
|
68
|
+
let t5;
|
|
69
|
+
if ($[8] !== t) {
|
|
70
|
+
t5 = t("draft");
|
|
71
|
+
$[8] = t;
|
|
72
|
+
$[9] = t5;
|
|
73
|
+
} else t5 = $[9];
|
|
74
|
+
let t6;
|
|
75
|
+
if ($[10] !== t5) {
|
|
76
|
+
t6 = /* @__PURE__ */ jsx(Center, { children: /* @__PURE__ */ jsx(Text, {
|
|
77
|
+
size: "sm",
|
|
78
|
+
weight: "medium",
|
|
79
|
+
children: t5
|
|
80
|
+
}) });
|
|
81
|
+
$[10] = t5;
|
|
82
|
+
$[11] = t6;
|
|
83
|
+
} else t6 = $[11];
|
|
84
|
+
let t7;
|
|
85
|
+
if ($[12] !== marked || $[13] !== t) {
|
|
86
|
+
t7 = MARKS.map((t8) => {
|
|
87
|
+
const { Mark, name } = t8;
|
|
88
|
+
return /* @__PURE__ */ jsx(Item, {
|
|
89
|
+
"aria-label": t(name),
|
|
90
|
+
"aria-pressed": marked.includes(name),
|
|
91
|
+
as: IconButton,
|
|
92
|
+
onClick: () => {
|
|
93
|
+
setMarked((held) => held.includes(name) ? held.filter((each) => each !== name) : [...held, name]);
|
|
94
|
+
},
|
|
95
|
+
variant: "outline",
|
|
96
|
+
children: /* @__PURE__ */ jsx(Mark, { size: "1em" })
|
|
97
|
+
}, name);
|
|
98
|
+
});
|
|
99
|
+
$[12] = marked;
|
|
100
|
+
$[13] = t;
|
|
101
|
+
$[14] = t7;
|
|
102
|
+
} else t7 = $[14];
|
|
103
|
+
let t8;
|
|
104
|
+
if ($[15] !== t7) {
|
|
105
|
+
t8 = /* @__PURE__ */ jsx(Group$1, { children: t7 });
|
|
106
|
+
$[15] = t7;
|
|
107
|
+
$[16] = t8;
|
|
108
|
+
} else t8 = $[16];
|
|
109
|
+
let t9;
|
|
110
|
+
if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
|
|
111
|
+
t9 = /* @__PURE__ */ jsx(Separator, {});
|
|
112
|
+
$[17] = t9;
|
|
113
|
+
} else t9 = $[17];
|
|
114
|
+
let t10;
|
|
115
|
+
if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
116
|
+
t10 = /* @__PURE__ */ jsx(ShareIcon, { size: "1em" });
|
|
117
|
+
$[18] = t10;
|
|
118
|
+
} else t10 = $[18];
|
|
119
|
+
let t11;
|
|
120
|
+
if ($[19] !== t) {
|
|
121
|
+
t11 = t("share");
|
|
122
|
+
$[19] = t;
|
|
123
|
+
$[20] = t11;
|
|
124
|
+
} else t11 = $[20];
|
|
125
|
+
let t12;
|
|
126
|
+
if ($[21] !== t11) {
|
|
127
|
+
t12 = /* @__PURE__ */ jsx(Action, {
|
|
128
|
+
icon: t10,
|
|
129
|
+
primary: true,
|
|
130
|
+
children: t11
|
|
131
|
+
});
|
|
132
|
+
$[21] = t11;
|
|
133
|
+
$[22] = t12;
|
|
134
|
+
} else t12 = $[22];
|
|
135
|
+
let t13;
|
|
136
|
+
if ($[23] !== t12 || $[24] !== t8) {
|
|
137
|
+
t13 = /* @__PURE__ */ jsxs(End, { children: [
|
|
138
|
+
t8,
|
|
139
|
+
t9,
|
|
140
|
+
t12
|
|
141
|
+
] });
|
|
142
|
+
$[23] = t12;
|
|
143
|
+
$[24] = t8;
|
|
144
|
+
$[25] = t13;
|
|
145
|
+
} else t13 = $[25];
|
|
146
|
+
let t14;
|
|
147
|
+
if ($[26] !== props || $[27] !== t1 || $[28] !== t13 || $[29] !== t4 || $[30] !== t6) {
|
|
148
|
+
t14 = /* @__PURE__ */ jsxs(Root, {
|
|
149
|
+
"aria-label": t1,
|
|
150
|
+
size: "sm",
|
|
151
|
+
...props,
|
|
152
|
+
children: [
|
|
153
|
+
t4,
|
|
154
|
+
t6,
|
|
155
|
+
t13
|
|
156
|
+
]
|
|
157
|
+
});
|
|
158
|
+
$[26] = props;
|
|
159
|
+
$[27] = t1;
|
|
160
|
+
$[28] = t13;
|
|
161
|
+
$[29] = t4;
|
|
162
|
+
$[30] = t6;
|
|
163
|
+
$[31] = t14;
|
|
164
|
+
} else t14 = $[31];
|
|
165
|
+
return t14;
|
|
166
|
+
}
|
|
167
|
+
const source$5 = "import { type ReactElement, useState } from \"react\";\n\nimport { BoldIcon, ItalicIcon, MenuIcon, ShareIcon, UnderlineIcon } from \"lucide-react\";\n\nimport { IconButton } from \"@stealthscale/component-actions\";\nimport { Text } from \"@stealthscale/component-typography\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nconst MARKS = [\n { Mark: BoldIcon, name: \"bold\" },\n { Mark: ItalicIcon, name: \"italic\" },\n { Mark: UnderlineIcon, name: \"underline\" },\n] as const;\n\nexport function Editor(props: Omit<Toolbar.RootProps, \"aria-label\">): ReactElement {\n const { t } = useWords(\"toolbar\");\n const [marked, setMarked] = useState<readonly string[]>([]);\n\n return (\n <Toolbar.Root aria-label={t(\"editing\")} size=\"sm\" {...props}>\n <Toolbar.Start>\n <Toolbar.Item aria-label={t(\"menu\")} as={IconButton} variant=\"ghost\">\n <MenuIcon size=\"1em\" />\n </Toolbar.Item>\n </Toolbar.Start>\n <Toolbar.Center>\n <Text size=\"sm\" weight=\"medium\">\n {t(\"draft\")}\n </Text>\n </Toolbar.Center>\n <Toolbar.End>\n <Toolbar.Group>\n {MARKS.map(({ Mark, name }) => (\n <Toolbar.Item\n aria-label={t(name)}\n aria-pressed={marked.includes(name)}\n as={IconButton}\n key={name}\n onClick={() => {\n setMarked((held) =>\n held.includes(name) ? held.filter((each) => each !== name) : [...held, name],\n );\n }}\n variant=\"outline\"\n >\n <Mark size=\"1em\" />\n </Toolbar.Item>\n ))}\n </Toolbar.Group>\n <Toolbar.Separator />\n <Toolbar.Action icon={<ShareIcon size=\"1em\" />} primary>\n {t(\"share\")}\n </Toolbar.Action>\n </Toolbar.End>\n </Toolbar.Root>\n );\n}\n";
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region src/toolbar/examples/invoices.example.tsx
|
|
170
|
+
var invoices_example_exports = /* @__PURE__ */ __exportAll({
|
|
171
|
+
Invoices: () => Invoices,
|
|
172
|
+
source: () => source$4
|
|
173
|
+
});
|
|
174
|
+
function Invoices(props) {
|
|
175
|
+
const $ = c(48);
|
|
176
|
+
const { t } = useWords("toolbar");
|
|
177
|
+
let t0;
|
|
178
|
+
if ($[0] !== t) {
|
|
179
|
+
t0 = t("invoices");
|
|
180
|
+
$[0] = t;
|
|
181
|
+
$[1] = t0;
|
|
182
|
+
} else t0 = $[1];
|
|
183
|
+
let t1;
|
|
184
|
+
if ($[2] !== t) {
|
|
185
|
+
t1 = t("more");
|
|
186
|
+
$[2] = t;
|
|
187
|
+
$[3] = t1;
|
|
188
|
+
} else t1 = $[3];
|
|
189
|
+
let t2;
|
|
190
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
191
|
+
t2 = /* @__PURE__ */ jsx(EllipsisIcon, { size: "1em" });
|
|
192
|
+
$[4] = t2;
|
|
193
|
+
} else t2 = $[4];
|
|
194
|
+
let t3;
|
|
195
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
196
|
+
t3 = /* @__PURE__ */ jsx(FunnelIcon, { size: "1em" });
|
|
197
|
+
$[5] = t3;
|
|
198
|
+
} else t3 = $[5];
|
|
199
|
+
let t4;
|
|
200
|
+
if ($[6] !== t) {
|
|
201
|
+
t4 = t("filter");
|
|
202
|
+
$[6] = t;
|
|
203
|
+
$[7] = t4;
|
|
204
|
+
} else t4 = $[7];
|
|
205
|
+
let t5;
|
|
206
|
+
if ($[8] !== t4) {
|
|
207
|
+
t5 = /* @__PURE__ */ jsx(Action, {
|
|
208
|
+
icon: t3,
|
|
209
|
+
priority: "primary",
|
|
210
|
+
children: t4
|
|
211
|
+
});
|
|
212
|
+
$[8] = t4;
|
|
213
|
+
$[9] = t5;
|
|
214
|
+
} else t5 = $[9];
|
|
215
|
+
let t6;
|
|
216
|
+
if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
|
|
217
|
+
t6 = /* @__PURE__ */ jsx(DownloadIcon, { size: "1em" });
|
|
218
|
+
$[10] = t6;
|
|
219
|
+
} else t6 = $[10];
|
|
220
|
+
let t7;
|
|
221
|
+
if ($[11] !== t) {
|
|
222
|
+
t7 = t("export");
|
|
223
|
+
$[11] = t;
|
|
224
|
+
$[12] = t7;
|
|
225
|
+
} else t7 = $[12];
|
|
226
|
+
let t8;
|
|
227
|
+
if ($[13] !== t7) {
|
|
228
|
+
t8 = /* @__PURE__ */ jsx(Action, {
|
|
229
|
+
icon: t6,
|
|
230
|
+
children: t7
|
|
231
|
+
});
|
|
232
|
+
$[13] = t7;
|
|
233
|
+
$[14] = t8;
|
|
234
|
+
} else t8 = $[14];
|
|
235
|
+
let t9;
|
|
236
|
+
if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
237
|
+
t9 = /* @__PURE__ */ jsx(Separator, {});
|
|
238
|
+
$[15] = t9;
|
|
239
|
+
} else t9 = $[15];
|
|
240
|
+
let t10;
|
|
241
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
242
|
+
t10 = /* @__PURE__ */ jsx(Columns3Icon, { size: "1em" });
|
|
243
|
+
$[16] = t10;
|
|
244
|
+
} else t10 = $[16];
|
|
245
|
+
let t11;
|
|
246
|
+
if ($[17] !== t) {
|
|
247
|
+
t11 = t("columns");
|
|
248
|
+
$[17] = t;
|
|
249
|
+
$[18] = t11;
|
|
250
|
+
} else t11 = $[18];
|
|
251
|
+
let t12;
|
|
252
|
+
if ($[19] !== t11) {
|
|
253
|
+
t12 = /* @__PURE__ */ jsx(Action, {
|
|
254
|
+
icon: t10,
|
|
255
|
+
priority: "tertiary",
|
|
256
|
+
children: t11
|
|
257
|
+
});
|
|
258
|
+
$[19] = t11;
|
|
259
|
+
$[20] = t12;
|
|
260
|
+
} else t12 = $[20];
|
|
261
|
+
let t13;
|
|
262
|
+
if ($[21] !== t12 || $[22] !== t5 || $[23] !== t8) {
|
|
263
|
+
t13 = /* @__PURE__ */ jsxs(Start, { children: [
|
|
264
|
+
t5,
|
|
265
|
+
t8,
|
|
266
|
+
t9,
|
|
267
|
+
t12
|
|
268
|
+
] });
|
|
269
|
+
$[21] = t12;
|
|
270
|
+
$[22] = t5;
|
|
271
|
+
$[23] = t8;
|
|
272
|
+
$[24] = t13;
|
|
273
|
+
} else t13 = $[24];
|
|
274
|
+
let t14;
|
|
275
|
+
if ($[25] !== t) {
|
|
276
|
+
t14 = t("april");
|
|
277
|
+
$[25] = t;
|
|
278
|
+
$[26] = t14;
|
|
279
|
+
} else t14 = $[26];
|
|
280
|
+
let t15;
|
|
281
|
+
if ($[27] !== t14) {
|
|
282
|
+
t15 = /* @__PURE__ */ jsx(Center, { children: /* @__PURE__ */ jsx(Text, {
|
|
283
|
+
weight: "medium",
|
|
284
|
+
children: t14
|
|
285
|
+
}) });
|
|
286
|
+
$[27] = t14;
|
|
287
|
+
$[28] = t15;
|
|
288
|
+
} else t15 = $[28];
|
|
289
|
+
let t16;
|
|
290
|
+
if ($[29] !== t) {
|
|
291
|
+
t16 = t("search");
|
|
292
|
+
$[29] = t;
|
|
293
|
+
$[30] = t16;
|
|
294
|
+
} else t16 = $[30];
|
|
295
|
+
let t17;
|
|
296
|
+
if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
|
|
297
|
+
t17 = /* @__PURE__ */ jsx(XIcon, { size: "1em" });
|
|
298
|
+
$[31] = t17;
|
|
299
|
+
} else t17 = $[31];
|
|
300
|
+
let t18;
|
|
301
|
+
if ($[32] !== t) {
|
|
302
|
+
t18 = t("clearSearch");
|
|
303
|
+
$[32] = t;
|
|
304
|
+
$[33] = t18;
|
|
305
|
+
} else t18 = $[33];
|
|
306
|
+
let t19;
|
|
307
|
+
if ($[34] !== t) {
|
|
308
|
+
t19 = t("search");
|
|
309
|
+
$[34] = t;
|
|
310
|
+
$[35] = t19;
|
|
311
|
+
} else t19 = $[35];
|
|
312
|
+
let t20;
|
|
313
|
+
if ($[36] === Symbol.for("react.memo_cache_sentinel")) {
|
|
314
|
+
t20 = /* @__PURE__ */ jsx(SearchIcon, { size: "1em" });
|
|
315
|
+
$[36] = t20;
|
|
316
|
+
} else t20 = $[36];
|
|
317
|
+
let t21;
|
|
318
|
+
if ($[37] !== t16 || $[38] !== t18 || $[39] !== t19) {
|
|
319
|
+
t21 = /* @__PURE__ */ jsx(Search, {
|
|
320
|
+
"aria-label": t16,
|
|
321
|
+
clearIndicator: t17,
|
|
322
|
+
clearLabel: t18,
|
|
323
|
+
placeholder: t19,
|
|
324
|
+
searchIndicator: t20
|
|
325
|
+
});
|
|
326
|
+
$[37] = t16;
|
|
327
|
+
$[38] = t18;
|
|
328
|
+
$[39] = t19;
|
|
329
|
+
$[40] = t21;
|
|
330
|
+
} else t21 = $[40];
|
|
331
|
+
let t22;
|
|
332
|
+
if ($[41] !== props || $[42] !== t0 || $[43] !== t1 || $[44] !== t13 || $[45] !== t15 || $[46] !== t21) {
|
|
333
|
+
t22 = /* @__PURE__ */ jsxs(Root, {
|
|
334
|
+
"aria-label": t0,
|
|
335
|
+
more: t1,
|
|
336
|
+
moreIcon: t2,
|
|
337
|
+
...props,
|
|
338
|
+
children: [
|
|
339
|
+
t13,
|
|
340
|
+
t15,
|
|
341
|
+
t21
|
|
342
|
+
]
|
|
343
|
+
});
|
|
344
|
+
$[41] = props;
|
|
345
|
+
$[42] = t0;
|
|
346
|
+
$[43] = t1;
|
|
347
|
+
$[44] = t13;
|
|
348
|
+
$[45] = t15;
|
|
349
|
+
$[46] = t21;
|
|
350
|
+
$[47] = t22;
|
|
351
|
+
} else t22 = $[47];
|
|
352
|
+
return t22;
|
|
353
|
+
}
|
|
354
|
+
const source$4 = "import { type ReactElement } from \"react\";\n\nimport {\n Columns3Icon,\n DownloadIcon,\n EllipsisIcon,\n FunnelIcon,\n SearchIcon,\n XIcon,\n} from \"lucide-react\";\n\nimport { Text } from \"@stealthscale/component-typography\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nexport function Invoices(props: Omit<Toolbar.RootProps, \"aria-label\">): ReactElement {\n const { t } = useWords(\"toolbar\");\n\n return (\n <Toolbar.Root\n aria-label={t(\"invoices\")}\n more={t(\"more\")}\n moreIcon={<EllipsisIcon size=\"1em\" />}\n {...props}\n >\n <Toolbar.Start>\n <Toolbar.Action icon={<FunnelIcon size=\"1em\" />} priority=\"primary\">\n {t(\"filter\")}\n </Toolbar.Action>\n <Toolbar.Action icon={<DownloadIcon size=\"1em\" />}>{t(\"export\")}</Toolbar.Action>\n <Toolbar.Separator />\n <Toolbar.Action icon={<Columns3Icon size=\"1em\" />} priority=\"tertiary\">\n {t(\"columns\")}\n </Toolbar.Action>\n </Toolbar.Start>\n <Toolbar.Center>\n <Text weight=\"medium\">{t(\"april\")}</Text>\n </Toolbar.Center>\n <Toolbar.Search\n aria-label={t(\"search\")}\n clearIndicator={<XIcon size=\"1em\" />}\n clearLabel={t(\"clearSearch\")}\n placeholder={t(\"search\")}\n searchIndicator={<SearchIcon size=\"1em\" />}\n />\n </Toolbar.Root>\n );\n}\n";
|
|
355
|
+
//#endregion
|
|
356
|
+
//#region src/toolbar/examples/loose.example.tsx
|
|
357
|
+
var loose_example_exports = /* @__PURE__ */ __exportAll({
|
|
358
|
+
Loose: () => Loose,
|
|
359
|
+
source: () => source$3
|
|
360
|
+
});
|
|
361
|
+
const MODES = ["light", "dark"];
|
|
362
|
+
function Loose() {
|
|
363
|
+
const $ = c(15);
|
|
364
|
+
const { t } = useWords("toolbar");
|
|
365
|
+
const [mode, setMode] = useState("light");
|
|
366
|
+
let t0;
|
|
367
|
+
if ($[0] !== t) {
|
|
368
|
+
t0 = t("catalogue");
|
|
369
|
+
$[0] = t;
|
|
370
|
+
$[1] = t0;
|
|
371
|
+
} else t0 = $[1];
|
|
372
|
+
let t1;
|
|
373
|
+
if ($[2] !== t) {
|
|
374
|
+
t1 = t("pages");
|
|
375
|
+
$[2] = t;
|
|
376
|
+
$[3] = t1;
|
|
377
|
+
} else t1 = $[3];
|
|
378
|
+
let t2;
|
|
379
|
+
if ($[4] !== t1) {
|
|
380
|
+
t2 = /* @__PURE__ */ jsx(Start, { children: /* @__PURE__ */ jsx(Link, {
|
|
381
|
+
href: "#pages",
|
|
382
|
+
children: t1
|
|
383
|
+
}) });
|
|
384
|
+
$[4] = t1;
|
|
385
|
+
$[5] = t2;
|
|
386
|
+
} else t2 = $[5];
|
|
387
|
+
let t3;
|
|
388
|
+
if ($[6] !== mode || $[7] !== t) {
|
|
389
|
+
t3 = MODES.map((each) => /* @__PURE__ */ jsx(Button, {
|
|
390
|
+
"aria-pressed": mode === each,
|
|
391
|
+
onClick: () => {
|
|
392
|
+
setMode(each);
|
|
393
|
+
},
|
|
394
|
+
variant: "ghost",
|
|
395
|
+
children: t(each)
|
|
396
|
+
}, each));
|
|
397
|
+
$[6] = mode;
|
|
398
|
+
$[7] = t;
|
|
399
|
+
$[8] = t3;
|
|
400
|
+
} else t3 = $[8];
|
|
401
|
+
let t4;
|
|
402
|
+
if ($[9] !== t3) {
|
|
403
|
+
t4 = /* @__PURE__ */ jsx(End, { children: t3 });
|
|
404
|
+
$[9] = t3;
|
|
405
|
+
$[10] = t4;
|
|
406
|
+
} else t4 = $[10];
|
|
407
|
+
let t5;
|
|
408
|
+
if ($[11] !== t0 || $[12] !== t2 || $[13] !== t4) {
|
|
409
|
+
t5 = /* @__PURE__ */ jsxs(Root, {
|
|
410
|
+
"aria-label": t0,
|
|
411
|
+
size: "sm",
|
|
412
|
+
children: [t2, t4]
|
|
413
|
+
});
|
|
414
|
+
$[11] = t0;
|
|
415
|
+
$[12] = t2;
|
|
416
|
+
$[13] = t4;
|
|
417
|
+
$[14] = t5;
|
|
418
|
+
} else t5 = $[14];
|
|
419
|
+
return t5;
|
|
420
|
+
}
|
|
421
|
+
const source$3 = "import { type ReactElement, useState } from \"react\";\n\nimport { Button } from \"@stealthscale/component-actions\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nconst MODES = [\"light\", \"dark\"] as const;\n\nexport function Loose(): ReactElement {\n const { t } = useWords(\"toolbar\");\n const [mode, setMode] = useState<(typeof MODES)[number]>(\"light\");\n\n return (\n <Toolbar.Root aria-label={t(\"catalogue\")} size=\"sm\">\n <Toolbar.Start>\n <Toolbar.Link href=\"#pages\">{t(\"pages\")}</Toolbar.Link>\n </Toolbar.Start>\n <Toolbar.End>\n {MODES.map((each) => (\n <Button\n aria-pressed={mode === each}\n key={each}\n onClick={() => {\n setMode(each);\n }}\n variant=\"ghost\"\n >\n {t(each)}\n </Button>\n ))}\n </Toolbar.End>\n </Toolbar.Root>\n );\n}\n";
|
|
422
|
+
//#endregion
|
|
423
|
+
//#region src/toolbar/examples/orders.example.tsx
|
|
424
|
+
var orders_example_exports = /* @__PURE__ */ __exportAll({
|
|
425
|
+
Orders: () => Orders,
|
|
426
|
+
source: () => source$2
|
|
427
|
+
});
|
|
428
|
+
const VIEWS = [
|
|
429
|
+
"open",
|
|
430
|
+
"shipped",
|
|
431
|
+
"returned",
|
|
432
|
+
"closed"
|
|
433
|
+
];
|
|
434
|
+
function Orders(props) {
|
|
435
|
+
const $ = c(38);
|
|
436
|
+
const { t } = useWords("toolbar");
|
|
437
|
+
let t0;
|
|
438
|
+
if ($[0] !== t) {
|
|
439
|
+
t0 = t("orders");
|
|
440
|
+
$[0] = t;
|
|
441
|
+
$[1] = t0;
|
|
442
|
+
} else t0 = $[1];
|
|
443
|
+
let t1;
|
|
444
|
+
if ($[2] !== t) {
|
|
445
|
+
t1 = t("moreOrders");
|
|
446
|
+
$[2] = t;
|
|
447
|
+
$[3] = t1;
|
|
448
|
+
} else t1 = $[3];
|
|
449
|
+
let t2;
|
|
450
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
451
|
+
t2 = /* @__PURE__ */ jsx(EllipsisIcon, { size: "1em" });
|
|
452
|
+
$[4] = t2;
|
|
453
|
+
} else t2 = $[4];
|
|
454
|
+
let t3;
|
|
455
|
+
if ($[5] !== t) {
|
|
456
|
+
t3 = VIEWS.map((view) => /* @__PURE__ */ jsx(Link, {
|
|
457
|
+
current: view === "open",
|
|
458
|
+
href: `#${view}`,
|
|
459
|
+
children: t(view)
|
|
460
|
+
}, view));
|
|
461
|
+
$[5] = t;
|
|
462
|
+
$[6] = t3;
|
|
463
|
+
} else t3 = $[6];
|
|
464
|
+
let t4;
|
|
465
|
+
if ($[7] !== t3) {
|
|
466
|
+
t4 = /* @__PURE__ */ jsx(Start, { children: t3 });
|
|
467
|
+
$[7] = t3;
|
|
468
|
+
$[8] = t4;
|
|
469
|
+
} else t4 = $[8];
|
|
470
|
+
let t5;
|
|
471
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
472
|
+
t5 = /* @__PURE__ */ jsx(DownloadIcon, { size: "1em" });
|
|
473
|
+
$[9] = t5;
|
|
474
|
+
} else t5 = $[9];
|
|
475
|
+
let t6;
|
|
476
|
+
if ($[10] !== t) {
|
|
477
|
+
t6 = t("export");
|
|
478
|
+
$[10] = t;
|
|
479
|
+
$[11] = t6;
|
|
480
|
+
} else t6 = $[11];
|
|
481
|
+
let t7;
|
|
482
|
+
if ($[12] !== t6) {
|
|
483
|
+
t7 = /* @__PURE__ */ jsx(Action, {
|
|
484
|
+
icon: t5,
|
|
485
|
+
children: t6
|
|
486
|
+
});
|
|
487
|
+
$[12] = t6;
|
|
488
|
+
$[13] = t7;
|
|
489
|
+
} else t7 = $[13];
|
|
490
|
+
let t8;
|
|
491
|
+
if ($[14] !== t) {
|
|
492
|
+
t8 = t("print");
|
|
493
|
+
$[14] = t;
|
|
494
|
+
$[15] = t8;
|
|
495
|
+
} else t8 = $[15];
|
|
496
|
+
let t9;
|
|
497
|
+
if ($[16] !== t8) {
|
|
498
|
+
t9 = /* @__PURE__ */ jsx(Action, { children: t8 });
|
|
499
|
+
$[16] = t8;
|
|
500
|
+
$[17] = t9;
|
|
501
|
+
} else t9 = $[17];
|
|
502
|
+
let t10;
|
|
503
|
+
if ($[18] !== t) {
|
|
504
|
+
t10 = t("import");
|
|
505
|
+
$[18] = t;
|
|
506
|
+
$[19] = t10;
|
|
507
|
+
} else t10 = $[19];
|
|
508
|
+
let t11;
|
|
509
|
+
if ($[20] !== t10) {
|
|
510
|
+
t11 = /* @__PURE__ */ jsx(Action, { children: t10 });
|
|
511
|
+
$[20] = t10;
|
|
512
|
+
$[21] = t11;
|
|
513
|
+
} else t11 = $[21];
|
|
514
|
+
let t12;
|
|
515
|
+
if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
|
|
516
|
+
t12 = /* @__PURE__ */ jsx(PlusIcon, { size: "1em" });
|
|
517
|
+
$[22] = t12;
|
|
518
|
+
} else t12 = $[22];
|
|
519
|
+
let t13;
|
|
520
|
+
if ($[23] !== t) {
|
|
521
|
+
t13 = t("newOrder");
|
|
522
|
+
$[23] = t;
|
|
523
|
+
$[24] = t13;
|
|
524
|
+
} else t13 = $[24];
|
|
525
|
+
let t14;
|
|
526
|
+
if ($[25] !== t13) {
|
|
527
|
+
t14 = /* @__PURE__ */ jsx(Action, {
|
|
528
|
+
icon: t12,
|
|
529
|
+
primary: true,
|
|
530
|
+
priority: "primary",
|
|
531
|
+
children: t13
|
|
532
|
+
});
|
|
533
|
+
$[25] = t13;
|
|
534
|
+
$[26] = t14;
|
|
535
|
+
} else t14 = $[26];
|
|
536
|
+
let t15;
|
|
537
|
+
if ($[27] !== t11 || $[28] !== t14 || $[29] !== t7 || $[30] !== t9) {
|
|
538
|
+
t15 = /* @__PURE__ */ jsxs(End, { children: [
|
|
539
|
+
t7,
|
|
540
|
+
t9,
|
|
541
|
+
t11,
|
|
542
|
+
t14
|
|
543
|
+
] });
|
|
544
|
+
$[27] = t11;
|
|
545
|
+
$[28] = t14;
|
|
546
|
+
$[29] = t7;
|
|
547
|
+
$[30] = t9;
|
|
548
|
+
$[31] = t15;
|
|
549
|
+
} else t15 = $[31];
|
|
550
|
+
let t16;
|
|
551
|
+
if ($[32] !== props || $[33] !== t0 || $[34] !== t1 || $[35] !== t15 || $[36] !== t4) {
|
|
552
|
+
t16 = /* @__PURE__ */ jsxs(Root, {
|
|
553
|
+
"aria-label": t0,
|
|
554
|
+
more: t1,
|
|
555
|
+
moreIcon: t2,
|
|
556
|
+
size: "sm",
|
|
557
|
+
...props,
|
|
558
|
+
children: [t4, t15]
|
|
559
|
+
});
|
|
560
|
+
$[32] = props;
|
|
561
|
+
$[33] = t0;
|
|
562
|
+
$[34] = t1;
|
|
563
|
+
$[35] = t15;
|
|
564
|
+
$[36] = t4;
|
|
565
|
+
$[37] = t16;
|
|
566
|
+
} else t16 = $[37];
|
|
567
|
+
return t16;
|
|
568
|
+
}
|
|
569
|
+
const source$2 = "import { type ReactElement } from \"react\";\n\nimport { DownloadIcon, EllipsisIcon, PlusIcon } from \"lucide-react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nconst VIEWS = [\"open\", \"shipped\", \"returned\", \"closed\"] as const;\n\nexport function Orders(props: Omit<Toolbar.RootProps, \"aria-label\">): ReactElement {\n const { t } = useWords(\"toolbar\");\n\n return (\n <Toolbar.Root\n aria-label={t(\"orders\")}\n more={t(\"moreOrders\")}\n moreIcon={<EllipsisIcon size=\"1em\" />}\n size=\"sm\"\n {...props}\n >\n <Toolbar.Start>\n {VIEWS.map((view) => (\n <Toolbar.Link current={view === \"open\"} href={`#${view}`} key={view}>\n {t(view)}\n </Toolbar.Link>\n ))}\n </Toolbar.Start>\n <Toolbar.End>\n <Toolbar.Action icon={<DownloadIcon size=\"1em\" />}>{t(\"export\")}</Toolbar.Action>\n <Toolbar.Action>{t(\"print\")}</Toolbar.Action>\n <Toolbar.Action>{t(\"import\")}</Toolbar.Action>\n <Toolbar.Action icon={<PlusIcon size=\"1em\" />} primary priority=\"primary\">\n {t(\"newOrder\")}\n </Toolbar.Action>\n </Toolbar.End>\n </Toolbar.Root>\n );\n}\n";
|
|
570
|
+
//#endregion
|
|
571
|
+
//#region src/toolbar/examples/product.example.tsx
|
|
572
|
+
var product_example_exports = /* @__PURE__ */ __exportAll({
|
|
573
|
+
Product: () => Product,
|
|
574
|
+
source: () => source$1
|
|
575
|
+
});
|
|
576
|
+
const SECTIONS = [
|
|
577
|
+
"overview",
|
|
578
|
+
"deploys",
|
|
579
|
+
"settings"
|
|
580
|
+
];
|
|
581
|
+
function Product(props) {
|
|
582
|
+
const $ = c(25);
|
|
583
|
+
const { t } = useWords("toolbar");
|
|
584
|
+
let t0;
|
|
585
|
+
if ($[0] !== t) {
|
|
586
|
+
t0 = t("ledger");
|
|
587
|
+
$[0] = t;
|
|
588
|
+
$[1] = t0;
|
|
589
|
+
} else t0 = $[1];
|
|
590
|
+
let t1;
|
|
591
|
+
if ($[2] !== t) {
|
|
592
|
+
t1 = t("moreLedger");
|
|
593
|
+
$[2] = t;
|
|
594
|
+
$[3] = t1;
|
|
595
|
+
} else t1 = $[3];
|
|
596
|
+
let t2;
|
|
597
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
598
|
+
t2 = /* @__PURE__ */ jsx(EllipsisIcon, { size: "1em" });
|
|
599
|
+
$[4] = t2;
|
|
600
|
+
} else t2 = $[4];
|
|
601
|
+
let t3;
|
|
602
|
+
if ($[5] !== t) {
|
|
603
|
+
t3 = t("ledger");
|
|
604
|
+
$[5] = t;
|
|
605
|
+
$[6] = t3;
|
|
606
|
+
} else t3 = $[6];
|
|
607
|
+
let t4;
|
|
608
|
+
if ($[7] !== t3) {
|
|
609
|
+
t4 = /* @__PURE__ */ jsx(Title, { children: t3 });
|
|
610
|
+
$[7] = t3;
|
|
611
|
+
$[8] = t4;
|
|
612
|
+
} else t4 = $[8];
|
|
613
|
+
let t5;
|
|
614
|
+
if ($[9] !== t) {
|
|
615
|
+
t5 = SECTIONS.map((section) => /* @__PURE__ */ jsx(Link, {
|
|
616
|
+
current: section === "overview",
|
|
617
|
+
href: `#${section}`,
|
|
618
|
+
children: t(section)
|
|
619
|
+
}, section));
|
|
620
|
+
$[9] = t;
|
|
621
|
+
$[10] = t5;
|
|
622
|
+
} else t5 = $[10];
|
|
623
|
+
let t6;
|
|
624
|
+
if ($[11] !== t4 || $[12] !== t5) {
|
|
625
|
+
t6 = /* @__PURE__ */ jsxs(Start, { children: [t4, t5] });
|
|
626
|
+
$[11] = t4;
|
|
627
|
+
$[12] = t5;
|
|
628
|
+
$[13] = t6;
|
|
629
|
+
} else t6 = $[13];
|
|
630
|
+
let t7;
|
|
631
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
632
|
+
t7 = /* @__PURE__ */ jsx(PlusIcon, { size: "1em" });
|
|
633
|
+
$[14] = t7;
|
|
634
|
+
} else t7 = $[14];
|
|
635
|
+
let t8;
|
|
636
|
+
if ($[15] !== t) {
|
|
637
|
+
t8 = t("newDeploy");
|
|
638
|
+
$[15] = t;
|
|
639
|
+
$[16] = t8;
|
|
640
|
+
} else t8 = $[16];
|
|
641
|
+
let t9;
|
|
642
|
+
if ($[17] !== t8) {
|
|
643
|
+
t9 = /* @__PURE__ */ jsx(End, { children: /* @__PURE__ */ jsx(Action, {
|
|
644
|
+
icon: t7,
|
|
645
|
+
primary: true,
|
|
646
|
+
priority: "primary",
|
|
647
|
+
children: t8
|
|
648
|
+
}) });
|
|
649
|
+
$[17] = t8;
|
|
650
|
+
$[18] = t9;
|
|
651
|
+
} else t9 = $[18];
|
|
652
|
+
let t10;
|
|
653
|
+
if ($[19] !== props || $[20] !== t0 || $[21] !== t1 || $[22] !== t6 || $[23] !== t9) {
|
|
654
|
+
t10 = /* @__PURE__ */ jsxs(Root, {
|
|
655
|
+
"aria-label": t0,
|
|
656
|
+
more: t1,
|
|
657
|
+
moreIcon: t2,
|
|
658
|
+
size: "sm",
|
|
659
|
+
...props,
|
|
660
|
+
children: [t6, t9]
|
|
661
|
+
});
|
|
662
|
+
$[19] = props;
|
|
663
|
+
$[20] = t0;
|
|
664
|
+
$[21] = t1;
|
|
665
|
+
$[22] = t6;
|
|
666
|
+
$[23] = t9;
|
|
667
|
+
$[24] = t10;
|
|
668
|
+
} else t10 = $[24];
|
|
669
|
+
return t10;
|
|
670
|
+
}
|
|
671
|
+
const source$1 = "import { type ReactElement } from \"react\";\n\nimport { EllipsisIcon, PlusIcon } from \"lucide-react\";\n\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nconst SECTIONS = [\"overview\", \"deploys\", \"settings\"] as const;\n\nexport function Product(props: Omit<Toolbar.RootProps, \"aria-label\">): ReactElement {\n const { t } = useWords(\"toolbar\");\n\n return (\n <Toolbar.Root\n aria-label={t(\"ledger\")}\n more={t(\"moreLedger\")}\n moreIcon={<EllipsisIcon size=\"1em\" />}\n size=\"sm\"\n {...props}\n >\n <Toolbar.Start>\n <Toolbar.Title>{t(\"ledger\")}</Toolbar.Title>\n {SECTIONS.map((section) => (\n <Toolbar.Link current={section === \"overview\"} href={`#${section}`} key={section}>\n {t(section)}\n </Toolbar.Link>\n ))}\n </Toolbar.Start>\n <Toolbar.End>\n <Toolbar.Action icon={<PlusIcon size=\"1em\" />} primary priority=\"primary\">\n {t(\"newDeploy\")}\n </Toolbar.Action>\n </Toolbar.End>\n </Toolbar.Root>\n );\n}\n";
|
|
672
|
+
//#endregion
|
|
673
|
+
//#region src/toolbar/examples/publishing.example.tsx
|
|
674
|
+
var publishing_example_exports = /* @__PURE__ */ __exportAll({
|
|
675
|
+
Publishing: () => Publishing,
|
|
676
|
+
source: () => source
|
|
677
|
+
});
|
|
678
|
+
function Publishing(props) {
|
|
679
|
+
const $ = c(62);
|
|
680
|
+
const { t } = useWords("toolbar");
|
|
681
|
+
let t0;
|
|
682
|
+
if ($[0] !== t) {
|
|
683
|
+
t0 = t("publishing");
|
|
684
|
+
$[0] = t;
|
|
685
|
+
$[1] = t0;
|
|
686
|
+
} else t0 = $[1];
|
|
687
|
+
let t1;
|
|
688
|
+
if ($[2] !== t) {
|
|
689
|
+
t1 = t("morePublishing");
|
|
690
|
+
$[2] = t;
|
|
691
|
+
$[3] = t1;
|
|
692
|
+
} else t1 = $[3];
|
|
693
|
+
let t2;
|
|
694
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
695
|
+
t2 = /* @__PURE__ */ jsx(EllipsisIcon, { size: "1em" });
|
|
696
|
+
$[4] = t2;
|
|
697
|
+
} else t2 = $[4];
|
|
698
|
+
let t3;
|
|
699
|
+
if ($[5] !== t) {
|
|
700
|
+
t3 = t("find");
|
|
701
|
+
$[5] = t;
|
|
702
|
+
$[6] = t3;
|
|
703
|
+
} else t3 = $[6];
|
|
704
|
+
let t4;
|
|
705
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
706
|
+
t4 = /* @__PURE__ */ jsx(XIcon, { size: "1em" });
|
|
707
|
+
$[7] = t4;
|
|
708
|
+
} else t4 = $[7];
|
|
709
|
+
let t5;
|
|
710
|
+
if ($[8] !== t) {
|
|
711
|
+
t5 = t("clearFind");
|
|
712
|
+
$[8] = t;
|
|
713
|
+
$[9] = t5;
|
|
714
|
+
} else t5 = $[9];
|
|
715
|
+
let t6;
|
|
716
|
+
if ($[10] !== t) {
|
|
717
|
+
t6 = t("findPlaceholder");
|
|
718
|
+
$[10] = t;
|
|
719
|
+
$[11] = t6;
|
|
720
|
+
} else t6 = $[11];
|
|
721
|
+
let t7;
|
|
722
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
723
|
+
t7 = /* @__PURE__ */ jsx(SearchIcon, { size: "1em" });
|
|
724
|
+
$[12] = t7;
|
|
725
|
+
} else t7 = $[12];
|
|
726
|
+
let t8;
|
|
727
|
+
if ($[13] !== t3 || $[14] !== t5 || $[15] !== t6) {
|
|
728
|
+
t8 = /* @__PURE__ */ jsx(Search, {
|
|
729
|
+
"aria-label": t3,
|
|
730
|
+
clearIndicator: t4,
|
|
731
|
+
clearLabel: t5,
|
|
732
|
+
placeholder: t6,
|
|
733
|
+
searchIndicator: t7
|
|
734
|
+
});
|
|
735
|
+
$[13] = t3;
|
|
736
|
+
$[14] = t5;
|
|
737
|
+
$[15] = t6;
|
|
738
|
+
$[16] = t8;
|
|
739
|
+
} else t8 = $[16];
|
|
740
|
+
let t9;
|
|
741
|
+
if ($[17] !== t) {
|
|
742
|
+
t9 = t("drafts");
|
|
743
|
+
$[17] = t;
|
|
744
|
+
$[18] = t9;
|
|
745
|
+
} else t9 = $[18];
|
|
746
|
+
let t10;
|
|
747
|
+
if ($[19] !== t9) {
|
|
748
|
+
t10 = /* @__PURE__ */ jsx(Link, {
|
|
749
|
+
current: true,
|
|
750
|
+
href: "#drafts",
|
|
751
|
+
children: t9
|
|
752
|
+
});
|
|
753
|
+
$[19] = t9;
|
|
754
|
+
$[20] = t10;
|
|
755
|
+
} else t10 = $[20];
|
|
756
|
+
let t11;
|
|
757
|
+
if ($[21] !== t) {
|
|
758
|
+
t11 = t("published");
|
|
759
|
+
$[21] = t;
|
|
760
|
+
$[22] = t11;
|
|
761
|
+
} else t11 = $[22];
|
|
762
|
+
let t12;
|
|
763
|
+
if ($[23] !== t11) {
|
|
764
|
+
t12 = /* @__PURE__ */ jsx(Link, {
|
|
765
|
+
href: "#published",
|
|
766
|
+
children: t11
|
|
767
|
+
});
|
|
768
|
+
$[23] = t11;
|
|
769
|
+
$[24] = t12;
|
|
770
|
+
} else t12 = $[24];
|
|
771
|
+
let t13;
|
|
772
|
+
if ($[25] !== t10 || $[26] !== t12) {
|
|
773
|
+
t13 = /* @__PURE__ */ jsxs(Start, { children: [t10, t12] });
|
|
774
|
+
$[25] = t10;
|
|
775
|
+
$[26] = t12;
|
|
776
|
+
$[27] = t13;
|
|
777
|
+
} else t13 = $[27];
|
|
778
|
+
let t14;
|
|
779
|
+
if ($[28] !== t) {
|
|
780
|
+
t14 = t("longTitle");
|
|
781
|
+
$[28] = t;
|
|
782
|
+
$[29] = t14;
|
|
783
|
+
} else t14 = $[29];
|
|
784
|
+
let t15;
|
|
785
|
+
if ($[30] !== t14) {
|
|
786
|
+
t15 = /* @__PURE__ */ jsx(Center, { children: /* @__PURE__ */ jsx(Text, {
|
|
787
|
+
size: "sm",
|
|
788
|
+
weight: "medium",
|
|
789
|
+
children: t14
|
|
790
|
+
}) });
|
|
791
|
+
$[30] = t14;
|
|
792
|
+
$[31] = t15;
|
|
793
|
+
} else t15 = $[31];
|
|
794
|
+
let t16;
|
|
795
|
+
if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
|
|
796
|
+
t16 = /* @__PURE__ */ jsx(ShareIcon, { size: "1em" });
|
|
797
|
+
$[32] = t16;
|
|
798
|
+
} else t16 = $[32];
|
|
799
|
+
let t17;
|
|
800
|
+
if ($[33] !== t) {
|
|
801
|
+
t17 = t("share");
|
|
802
|
+
$[33] = t;
|
|
803
|
+
$[34] = t17;
|
|
804
|
+
} else t17 = $[34];
|
|
805
|
+
let t18;
|
|
806
|
+
if ($[35] !== t17) {
|
|
807
|
+
t18 = /* @__PURE__ */ jsx(Action, {
|
|
808
|
+
icon: t16,
|
|
809
|
+
children: t17
|
|
810
|
+
});
|
|
811
|
+
$[35] = t17;
|
|
812
|
+
$[36] = t18;
|
|
813
|
+
} else t18 = $[36];
|
|
814
|
+
let t19;
|
|
815
|
+
if ($[37] !== t) {
|
|
816
|
+
t19 = t("export");
|
|
817
|
+
$[37] = t;
|
|
818
|
+
$[38] = t19;
|
|
819
|
+
} else t19 = $[38];
|
|
820
|
+
let t20;
|
|
821
|
+
if ($[39] !== t19) {
|
|
822
|
+
t20 = /* @__PURE__ */ jsx(Action, { children: t19 });
|
|
823
|
+
$[39] = t19;
|
|
824
|
+
$[40] = t20;
|
|
825
|
+
} else t20 = $[40];
|
|
826
|
+
let t21;
|
|
827
|
+
if ($[41] !== t) {
|
|
828
|
+
t21 = t("duplicate");
|
|
829
|
+
$[41] = t;
|
|
830
|
+
$[42] = t21;
|
|
831
|
+
} else t21 = $[42];
|
|
832
|
+
let t22;
|
|
833
|
+
if ($[43] !== t21) {
|
|
834
|
+
t22 = /* @__PURE__ */ jsx(Action, { children: t21 });
|
|
835
|
+
$[43] = t21;
|
|
836
|
+
$[44] = t22;
|
|
837
|
+
} else t22 = $[44];
|
|
838
|
+
let t23;
|
|
839
|
+
if ($[45] !== t) {
|
|
840
|
+
t23 = t("publish");
|
|
841
|
+
$[45] = t;
|
|
842
|
+
$[46] = t23;
|
|
843
|
+
} else t23 = $[46];
|
|
844
|
+
let t24;
|
|
845
|
+
if ($[47] !== t23) {
|
|
846
|
+
t24 = /* @__PURE__ */ jsx(Action, {
|
|
847
|
+
primary: true,
|
|
848
|
+
children: t23
|
|
849
|
+
});
|
|
850
|
+
$[47] = t23;
|
|
851
|
+
$[48] = t24;
|
|
852
|
+
} else t24 = $[48];
|
|
853
|
+
let t25;
|
|
854
|
+
if ($[49] !== t18 || $[50] !== t20 || $[51] !== t22 || $[52] !== t24) {
|
|
855
|
+
t25 = /* @__PURE__ */ jsxs(End, { children: [
|
|
856
|
+
t18,
|
|
857
|
+
t20,
|
|
858
|
+
t22,
|
|
859
|
+
t24
|
|
860
|
+
] });
|
|
861
|
+
$[49] = t18;
|
|
862
|
+
$[50] = t20;
|
|
863
|
+
$[51] = t22;
|
|
864
|
+
$[52] = t24;
|
|
865
|
+
$[53] = t25;
|
|
866
|
+
} else t25 = $[53];
|
|
867
|
+
let t26;
|
|
868
|
+
if ($[54] !== props || $[55] !== t0 || $[56] !== t1 || $[57] !== t13 || $[58] !== t15 || $[59] !== t25 || $[60] !== t8) {
|
|
869
|
+
t26 = /* @__PURE__ */ jsxs(Root, {
|
|
870
|
+
"aria-label": t0,
|
|
871
|
+
more: t1,
|
|
872
|
+
moreIcon: t2,
|
|
873
|
+
size: "sm",
|
|
874
|
+
...props,
|
|
875
|
+
children: [
|
|
876
|
+
t8,
|
|
877
|
+
t13,
|
|
878
|
+
t15,
|
|
879
|
+
t25
|
|
880
|
+
]
|
|
881
|
+
});
|
|
882
|
+
$[54] = props;
|
|
883
|
+
$[55] = t0;
|
|
884
|
+
$[56] = t1;
|
|
885
|
+
$[57] = t13;
|
|
886
|
+
$[58] = t15;
|
|
887
|
+
$[59] = t25;
|
|
888
|
+
$[60] = t8;
|
|
889
|
+
$[61] = t26;
|
|
890
|
+
} else t26 = $[61];
|
|
891
|
+
return t26;
|
|
892
|
+
}
|
|
893
|
+
const source = "import { type ReactElement } from \"react\";\n\nimport { EllipsisIcon, SearchIcon, ShareIcon, XIcon } from \"lucide-react\";\n\nimport { Text } from \"@stealthscale/component-typography\";\nimport { useWords } from \"@stealthscale/specimen\";\n\nimport { Toolbar } from \"@stealthscale/component-screen\";\n\nexport function Publishing(props: Omit<Toolbar.RootProps, \"aria-label\">): ReactElement {\n const { t } = useWords(\"toolbar\");\n\n return (\n <Toolbar.Root\n aria-label={t(\"publishing\")}\n more={t(\"morePublishing\")}\n moreIcon={<EllipsisIcon size=\"1em\" />}\n size=\"sm\"\n {...props}\n >\n <Toolbar.Search\n aria-label={t(\"find\")}\n clearIndicator={<XIcon size=\"1em\" />}\n clearLabel={t(\"clearFind\")}\n placeholder={t(\"findPlaceholder\")}\n searchIndicator={<SearchIcon size=\"1em\" />}\n />\n <Toolbar.Start>\n <Toolbar.Link current href=\"#drafts\">\n {t(\"drafts\")}\n </Toolbar.Link>\n <Toolbar.Link href=\"#published\">{t(\"published\")}</Toolbar.Link>\n </Toolbar.Start>\n <Toolbar.Center>\n <Text size=\"sm\" weight=\"medium\">\n {t(\"longTitle\")}\n </Text>\n </Toolbar.Center>\n <Toolbar.End>\n <Toolbar.Action icon={<ShareIcon size=\"1em\" />}>{t(\"share\")}</Toolbar.Action>\n <Toolbar.Action>{t(\"export\")}</Toolbar.Action>\n <Toolbar.Action>{t(\"duplicate\")}</Toolbar.Action>\n <Toolbar.Action primary>{t(\"publish\")}</Toolbar.Action>\n </Toolbar.End>\n </Toolbar.Root>\n );\n}\n";
|
|
894
|
+
//#endregion
|
|
895
|
+
//#region src/toolbar/toolbar.specimen.tsx
|
|
896
|
+
/**
|
|
897
|
+
* Catalogue page for the toolbar.
|
|
898
|
+
*
|
|
899
|
+
* @remarks
|
|
900
|
+
* Every hand-written scene renders its toolbar plain inside an outlined sample, the box a
|
|
901
|
+
* toolbar is placed in on a page. The folding scene renders the publishing example twice: at the
|
|
902
|
+
* card's width and in a room a phone's width, because the row folds on its own width. The
|
|
903
|
+
* crowded scene renders the orders example outlined, at the card's width and in a room of
|
|
904
|
+
* `sizes.2xl`: the room is wider than the `sm` breakpoint and narrower than the example's
|
|
905
|
+
* controls, so the row folds because it is crowded. The orders row has no search and no centre,
|
|
906
|
+
* which would shrink before the row overflows. The sizes scene renders the editor at every size.
|
|
907
|
+
* `scenesOf` generates the looks and the corners from the invoices example, and the corners
|
|
908
|
+
* render on an outlined row, because a plain row has no edge. The samples and the rooms never
|
|
909
|
+
* appear in the examples. The words are keys under `toolbar` in
|
|
910
|
+
* `locales/en/specimen/toolbar.json`.
|
|
911
|
+
*/
|
|
912
|
+
/**
|
|
913
|
+
* Hand-written scene for a toolbar with three bands, a group and a separator.
|
|
914
|
+
*/
|
|
915
|
+
const whole = {
|
|
916
|
+
about: "toolbar.whole.about",
|
|
917
|
+
draw: () => /* @__PURE__ */ jsx(Sample, {
|
|
918
|
+
place: "stretch",
|
|
919
|
+
variant: "outline",
|
|
920
|
+
children: /* @__PURE__ */ jsx(Editor, {})
|
|
921
|
+
}),
|
|
922
|
+
example: editor_example_exports,
|
|
923
|
+
title: "toolbar.whole.title"
|
|
924
|
+
};
|
|
925
|
+
/**
|
|
926
|
+
* Hand-written scene for a title before the links of the row.
|
|
927
|
+
*/
|
|
928
|
+
const titled = {
|
|
929
|
+
about: "toolbar.titled.about",
|
|
930
|
+
draw: () => /* @__PURE__ */ jsx(Sample, {
|
|
931
|
+
place: "stretch",
|
|
932
|
+
variant: "outline",
|
|
933
|
+
children: /* @__PURE__ */ jsx(Product, {})
|
|
934
|
+
}),
|
|
935
|
+
example: product_example_exports,
|
|
936
|
+
title: "toolbar.titled.title"
|
|
937
|
+
};
|
|
938
|
+
/**
|
|
939
|
+
* Hand-written scene for one toolbar wide and at a phone's width.
|
|
940
|
+
*/
|
|
941
|
+
const folding = {
|
|
942
|
+
about: "toolbar.folding.about",
|
|
943
|
+
draw: () => /* @__PURE__ */ jsxs(Stack, {
|
|
944
|
+
gap: "lg",
|
|
945
|
+
children: [/* @__PURE__ */ jsx(Sample, {
|
|
946
|
+
place: "stretch",
|
|
947
|
+
variant: "outline",
|
|
948
|
+
children: /* @__PURE__ */ jsx(Publishing, {})
|
|
949
|
+
}), /* @__PURE__ */ jsx(Room, {
|
|
950
|
+
size: "sm",
|
|
951
|
+
children: /* @__PURE__ */ jsx(Sample, {
|
|
952
|
+
place: "stretch",
|
|
953
|
+
variant: "outline",
|
|
954
|
+
children: /* @__PURE__ */ jsx(Publishing, {})
|
|
955
|
+
})
|
|
956
|
+
})]
|
|
957
|
+
}),
|
|
958
|
+
example: publishing_example_exports,
|
|
959
|
+
title: "toolbar.folding.title"
|
|
960
|
+
};
|
|
961
|
+
/**
|
|
962
|
+
* Hand-written scene for one toolbar at the card's width and in a room its controls do not fit.
|
|
963
|
+
*/
|
|
964
|
+
const crowded = {
|
|
965
|
+
about: "toolbar.crowded.about",
|
|
966
|
+
draw: () => /* @__PURE__ */ jsxs(Stack, {
|
|
967
|
+
gap: "lg",
|
|
968
|
+
children: [/* @__PURE__ */ jsx(Orders, { variant: "outline" }), /* @__PURE__ */ jsx(Room, {
|
|
969
|
+
size: "2xl",
|
|
970
|
+
children: /* @__PURE__ */ jsx(Orders, { variant: "outline" })
|
|
971
|
+
})]
|
|
972
|
+
}),
|
|
973
|
+
example: orders_example_exports,
|
|
974
|
+
props: { variant: "outline" },
|
|
975
|
+
title: "toolbar.crowded.title"
|
|
976
|
+
};
|
|
977
|
+
/**
|
|
978
|
+
* Sizes the sizes scene renders, from the smallest.
|
|
979
|
+
*/
|
|
980
|
+
const SIZES = [
|
|
981
|
+
"sm",
|
|
982
|
+
"md",
|
|
983
|
+
"lg"
|
|
984
|
+
];
|
|
985
|
+
/**
|
|
986
|
+
* Hand-written scene for the editor at every size.
|
|
987
|
+
*/
|
|
988
|
+
const sizes = {
|
|
989
|
+
about: "toolbar.size.about",
|
|
990
|
+
axes: ["size"],
|
|
991
|
+
draw: () => /* @__PURE__ */ jsx(Stack, {
|
|
992
|
+
gap: "lg",
|
|
993
|
+
children: SIZES.map((size) => /* @__PURE__ */ jsx(Sample, {
|
|
994
|
+
place: "stretch",
|
|
995
|
+
variant: "outline",
|
|
996
|
+
children: /* @__PURE__ */ jsx(Editor, { size })
|
|
997
|
+
}, size))
|
|
998
|
+
}),
|
|
999
|
+
example: editor_example_exports,
|
|
1000
|
+
props: { size: "sm" },
|
|
1001
|
+
title: "toolbar.size.title"
|
|
1002
|
+
};
|
|
1003
|
+
/**
|
|
1004
|
+
* Hand-written scene for controls with tab stops of their own.
|
|
1005
|
+
*/
|
|
1006
|
+
const loose = {
|
|
1007
|
+
about: "toolbar.loose.about",
|
|
1008
|
+
draw: () => /* @__PURE__ */ jsx(Sample, {
|
|
1009
|
+
place: "stretch",
|
|
1010
|
+
variant: "outline",
|
|
1011
|
+
children: /* @__PURE__ */ jsx(Loose, {})
|
|
1012
|
+
}),
|
|
1013
|
+
example: loose_example_exports,
|
|
1014
|
+
title: "toolbar.loose.title"
|
|
1015
|
+
};
|
|
1016
|
+
var toolbar_specimen_default = specimen({
|
|
1017
|
+
about: "toolbar.about",
|
|
1018
|
+
id: "components/screen/toolbar",
|
|
1019
|
+
imports: "import { Toolbar } from \"@stealthscale/component-screen\";",
|
|
1020
|
+
scenes: [
|
|
1021
|
+
whole,
|
|
1022
|
+
titled,
|
|
1023
|
+
folding,
|
|
1024
|
+
crowded,
|
|
1025
|
+
sizes,
|
|
1026
|
+
loose,
|
|
1027
|
+
...scenesOf(recipe, {
|
|
1028
|
+
axes: {
|
|
1029
|
+
radius: {
|
|
1030
|
+
direction: "column",
|
|
1031
|
+
with: { variant: "outline" }
|
|
1032
|
+
},
|
|
1033
|
+
variant: { direction: "column" }
|
|
1034
|
+
},
|
|
1035
|
+
draw: (props) => /* @__PURE__ */ jsx(Invoices, { ...props }),
|
|
1036
|
+
example: invoices_example_exports,
|
|
1037
|
+
namespace: "toolbar",
|
|
1038
|
+
order: ["variant", "radius"],
|
|
1039
|
+
skip: { size: "The sizes scene renders every size with its controls at the same size." }
|
|
1040
|
+
})
|
|
1041
|
+
],
|
|
1042
|
+
title: "toolbar.title"
|
|
1043
|
+
});
|
|
1044
|
+
//#endregion
|
|
1045
|
+
export { crowded, toolbar_specimen_default as default, folding, loose, sizes, titled, whole };
|