mechanica 2.0.0-alpha.7 → 2.0.0-alpha.9
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/chunks/{page-assets-BjIm0jws.js → page-assets-BCUAuOlo.js} +32 -0
- package/dist/cli.js +15 -6
- package/dist/editor.css +82 -58
- package/dist/editor.js +115 -62
- package/dist/plugin.js +47 -20
- package/dist/types/cli/export.d.ts +10 -1
- package/dist/types/editor/lib/page-list.d.ts +2 -0
- package/dist/types/vite/dev/middleware.d.ts +5 -3
- package/dist/types/vite/dev/pages-store.d.ts +8 -1
- package/dist/types/vite/dev/query-dev.d.ts +5 -4
- package/dist/types/vite/entries.d.ts +3 -0
- package/dist/types/vite/plugin.d.ts +15 -0
- package/package.json +2 -2
- package/src/cli/cli.ts +8 -2
- package/src/cli/export.ts +19 -3
- package/src/editor/dialogs/PagesDialog.vue +102 -10
- package/src/editor/lib/page-list.ts +2 -0
- package/src/vite/dev/middleware.ts +29 -10
- package/src/vite/dev/pages-store.ts +56 -1
- package/src/vite/dev/query-dev.ts +12 -6
- package/src/vite/entries.ts +4 -0
- package/src/vite/plugin.ts +24 -3
|
@@ -658,8 +658,40 @@ function listPages(mechDir, options = {}) {
|
|
|
658
658
|
}
|
|
659
659
|
items.push(item);
|
|
660
660
|
}
|
|
661
|
+
if (options.generated?.length) items.push(...generatedPageItems(options.generated, options, config));
|
|
661
662
|
return items.sort(comparePages);
|
|
662
663
|
}
|
|
664
|
+
/** File-less pages → list rows: one per logical path, with a `locales` union. */
|
|
665
|
+
function generatedPageItems(generated, options, config) {
|
|
666
|
+
const groups = /* @__PURE__ */ new Map();
|
|
667
|
+
for (const vp of generated) {
|
|
668
|
+
const arr = groups.get(vp.path);
|
|
669
|
+
if (arr) arr.push(vp);
|
|
670
|
+
else groups.set(vp.path, [vp]);
|
|
671
|
+
}
|
|
672
|
+
const items = [];
|
|
673
|
+
for (const [path, vps] of groups) {
|
|
674
|
+
const locales = config ? vps.map((v) => v.locale).filter(Boolean) : [];
|
|
675
|
+
if (options.locale && !locales.includes(options.locale)) continue;
|
|
676
|
+
const source = (options.locale ? vps.find((v) => v.locale === options.locale) : void 0) ?? (config ? vps.find((v) => v.locale === config.default) : void 0) ?? vps[0];
|
|
677
|
+
const embedded = {};
|
|
678
|
+
for (const dataEntry of options.data ?? []) embedded[dataEntry.id] = source.data?.[dataEntry.id] ?? {};
|
|
679
|
+
const dir = path.slice(1).split("/").slice(0, -1).join("/");
|
|
680
|
+
const item = {
|
|
681
|
+
path,
|
|
682
|
+
name: (typeof source.meta?.title === "string" ? source.meta.title : void 0) ?? path.split("/").pop() ?? path,
|
|
683
|
+
folderPath: dir === "" ? null : dir,
|
|
684
|
+
order: 0,
|
|
685
|
+
orderAfter: null,
|
|
686
|
+
draft: false,
|
|
687
|
+
generated: true,
|
|
688
|
+
...embedded
|
|
689
|
+
};
|
|
690
|
+
if (config) item.locales = config.all.filter((code) => locales.includes(code));
|
|
691
|
+
items.push(item);
|
|
692
|
+
}
|
|
693
|
+
return items;
|
|
694
|
+
}
|
|
663
695
|
/** Ordering: by folder, then explicit `orderAfter`, then `order`, then path. */
|
|
664
696
|
function comparePages(a, b) {
|
|
665
697
|
if (a.folderPath === b.folderPath) {
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as readImageManifest, C as getPagePath, I as UPLOADS_PREFIX, J as hasSharp, L as assetFileOf, N as setPageCodec, R as isDerivedAsset, T as listPages, U as updateImageManifest, Y as isRasterImage, a as toBlockMeta, d as readFolderData, f as readFoldersData, i as composedBlockMeta, m as readSiteLocaleOverride, n as blockAssetLinks, p as readSiteData, q as analyzeImageBuffer, r as buildRichTextCodec, t as BLOCKS_MANIFEST_FILE } from "./chunks/page-assets-
|
|
1
|
+
import { B as readImageManifest, C as getPagePath, I as UPLOADS_PREFIX, J as hasSharp, L as assetFileOf, N as setPageCodec, R as isDerivedAsset, T as listPages, U as updateImageManifest, Y as isRasterImage, a as toBlockMeta, d as readFolderData, f as readFoldersData, i as composedBlockMeta, m as readSiteLocaleOverride, n as blockAssetLinks, p as readSiteData, q as analyzeImageBuffer, r as buildRichTextCodec, t as BLOCKS_MANIFEST_FILE } from "./chunks/page-assets-BCUAuOlo.js";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import { dirname, join, parse, relative } from "node:path";
|
|
4
4
|
import { applySeoTags, auditPageHtml, buildRobotsTxt, buildSitemap, findUnknownBlocks, generateProject, isPaginatedQuery, localePath, mergeTranslation, migrateContent, paginationVariantPath, registerFieldSchemas, resolveQueryKey, templateBlockIds, validateLinks, walkSchema, walkTree } from "mechanica-shared";
|
|
@@ -302,7 +302,8 @@ async function backfillImageMeta(pages, blocksMap, mechDir, warn) {
|
|
|
302
302
|
* `<cwd>/.mech`.
|
|
303
303
|
*
|
|
304
304
|
* Beyond the pages it also: rewrites + copies uploaded assets
|
|
305
|
-
* (`/@mechanica/assets/…` → `/media
|
|
305
|
+
* (`/@mechanica/assets/…` → `/media/…`, or `<assetsUrl>/media/…` when a CDN
|
|
306
|
+
* base is set), warns about dead internal links,
|
|
306
307
|
* orphaned uploads and page-level SEO issues, emits `404.html` when a `/404`
|
|
307
308
|
* page exists, and — when a site url is known (plugin `siteUrl` option or
|
|
308
309
|
* `--site-url`) — injects the automatic SEO tags (canonical, `og:url`,
|
|
@@ -314,6 +315,7 @@ async function exportProject(cwd, ssr, options = {}) {
|
|
|
314
315
|
const index = await readFile(join(cwd, "dist/index.html"), "utf-8");
|
|
315
316
|
const siteUrl = options.siteUrl ?? ssr.site?.url;
|
|
316
317
|
const siteName = options.siteName ?? ssr.site?.name;
|
|
318
|
+
const assetsBase = (options.assetsUrl ?? ssr.assetsUrl ?? "").replace(/\/+$/, "");
|
|
317
319
|
const composedDefs = ssr.composedList ?? [];
|
|
318
320
|
const blocks = [...ssr.blocksList.map(toBlockMeta), ...composedDefs.map(composedBlockMeta)];
|
|
319
321
|
const blocksMap = new Map(blocks.map((block) => [block.id, block]));
|
|
@@ -367,7 +369,10 @@ async function exportProject(cwd, ssr, options = {}) {
|
|
|
367
369
|
}
|
|
368
370
|
setPageCodec(richText);
|
|
369
371
|
const querySource = {
|
|
370
|
-
listPages: (opts) => listPages(join(cwd, ".mech"),
|
|
372
|
+
listPages: (opts) => listPages(join(cwd, ".mech"), {
|
|
373
|
+
...opts,
|
|
374
|
+
generated: ssr.generatedPages
|
|
375
|
+
}),
|
|
371
376
|
fetchJson: async ({ url, ...init }) => {
|
|
372
377
|
const res = await fetch(url, init);
|
|
373
378
|
if (!res.ok) throw new Error(`${url} responded ${res.status}`);
|
|
@@ -417,7 +422,7 @@ async function exportProject(cwd, ssr, options = {}) {
|
|
|
417
422
|
if (typeof src !== "string" || !src.startsWith("/@mechanica/assets/")) return src;
|
|
418
423
|
const relative = decodeURIComponent(src.slice(UPLOADS_PREFIX.length));
|
|
419
424
|
referenced.add(relative);
|
|
420
|
-
return
|
|
425
|
+
return `${assetsBase}/${MEDIA_DIR}/${relative}`;
|
|
421
426
|
};
|
|
422
427
|
const blockAssets = await readBlockAssets(cwd);
|
|
423
428
|
const pageLinks = blockAssets ? (content) => {
|
|
@@ -444,6 +449,7 @@ async function exportProject(cwd, ssr, options = {}) {
|
|
|
444
449
|
url: siteUrl,
|
|
445
450
|
name: siteName
|
|
446
451
|
},
|
|
452
|
+
assetsUrl: assetsBase || void 0,
|
|
447
453
|
locales: config ?? void 0,
|
|
448
454
|
render: (state) => ssr.render(state, { resolveQuery: resolveForPage(state.page?.pagination?.page ?? 1, state.page?.locale) }),
|
|
449
455
|
onFile,
|
|
@@ -1361,7 +1367,9 @@ Usage:
|
|
|
1361
1367
|
(a site url — the plugin's siteUrl option or
|
|
1362
1368
|
--site-url <origin> — also turns on the automatic
|
|
1363
1369
|
SEO tags and emits sitemap.xml + robots.txt;
|
|
1364
|
-
--site-name <name> adds WebSite JSON-LD
|
|
1370
|
+
--site-name <name> adds WebSite JSON-LD;
|
|
1371
|
+
--assets-url <origin> serves /assets and /media from
|
|
1372
|
+
a CDN base — files still land in export/)
|
|
1365
1373
|
mechanica push [--key] Upload dist/ to a backend (--key, --host, --dir)
|
|
1366
1374
|
mechanica shot <blockId> Screenshot one block via the dev preview route
|
|
1367
1375
|
mechanica shot </path> Screenshot a whole page (editor overlay stripped)
|
|
@@ -1386,7 +1394,8 @@ async function run(argv) {
|
|
|
1386
1394
|
case "build": return runBuild();
|
|
1387
1395
|
case "export": return runExport({
|
|
1388
1396
|
siteUrl: str(flags["site-url"]),
|
|
1389
|
-
siteName: str(flags["site-name"])
|
|
1397
|
+
siteName: str(flags["site-name"]),
|
|
1398
|
+
assetsUrl: str(flags["assets-url"])
|
|
1390
1399
|
});
|
|
1391
1400
|
case "images": return runImages({ force: flags.force === true });
|
|
1392
1401
|
case "push": return runPush({
|
package/dist/editor.css
CHANGED
|
@@ -4802,7 +4802,7 @@ from {
|
|
|
4802
4802
|
justify-content: flex-end;
|
|
4803
4803
|
gap: 8px;
|
|
4804
4804
|
margin-top: 4px;
|
|
4805
|
-
}.mech-pages[data-v-
|
|
4805
|
+
}.mech-pages[data-v-665bb42e] {
|
|
4806
4806
|
display: flex;
|
|
4807
4807
|
align-items: stretch;
|
|
4808
4808
|
justify-content: center;
|
|
@@ -4811,7 +4811,7 @@ from {
|
|
|
4811
4811
|
max-width: 1200px;
|
|
4812
4812
|
height: min(620px, 82vh);
|
|
4813
4813
|
}
|
|
4814
|
-
.mech-pages__card[data-v-
|
|
4814
|
+
.mech-pages__card[data-v-665bb42e] {
|
|
4815
4815
|
display: flex;
|
|
4816
4816
|
flex-direction: column;
|
|
4817
4817
|
flex: 0 1 840px;
|
|
@@ -4821,20 +4821,20 @@ from {
|
|
|
4821
4821
|
box-shadow: var(--mech-shadow-dialog);
|
|
4822
4822
|
overflow: hidden;
|
|
4823
4823
|
}
|
|
4824
|
-
.mech-pages__header[data-v-
|
|
4824
|
+
.mech-pages__header[data-v-665bb42e] {
|
|
4825
4825
|
display: flex;
|
|
4826
4826
|
align-items: center;
|
|
4827
4827
|
gap: 10px;
|
|
4828
4828
|
padding: 18px 14px 12px 24px;
|
|
4829
4829
|
flex: none;
|
|
4830
4830
|
}
|
|
4831
|
-
.mech-pages__title[data-v-
|
|
4831
|
+
.mech-pages__title[data-v-665bb42e] {
|
|
4832
4832
|
margin: 0;
|
|
4833
4833
|
font-size: 16px;
|
|
4834
4834
|
font-weight: 600;
|
|
4835
4835
|
letter-spacing: -0.01em;
|
|
4836
4836
|
}
|
|
4837
|
-
.mech-pages__count[data-v-
|
|
4837
|
+
.mech-pages__count[data-v-665bb42e] {
|
|
4838
4838
|
padding: 2px 8px;
|
|
4839
4839
|
border-radius: var(--mech-radius-pill);
|
|
4840
4840
|
background: var(--mech-active);
|
|
@@ -4842,7 +4842,7 @@ from {
|
|
|
4842
4842
|
font-size: 11.5px;
|
|
4843
4843
|
font-weight: 600;
|
|
4844
4844
|
}
|
|
4845
|
-
.mech-pages__close[data-v-
|
|
4845
|
+
.mech-pages__close[data-v-665bb42e] {
|
|
4846
4846
|
display: flex;
|
|
4847
4847
|
align-items: center;
|
|
4848
4848
|
justify-content: center;
|
|
@@ -4855,25 +4855,49 @@ from {
|
|
|
4855
4855
|
border-radius: var(--mech-radius-pill);
|
|
4856
4856
|
cursor: pointer;
|
|
4857
4857
|
}
|
|
4858
|
-
.mech-pages__close .vicon[data-v-
|
|
4858
|
+
.mech-pages__close .vicon[data-v-665bb42e] {
|
|
4859
4859
|
width: 18px;
|
|
4860
4860
|
height: 18px;
|
|
4861
4861
|
}
|
|
4862
|
-
.mech-pages__close[data-v-
|
|
4862
|
+
.mech-pages__close[data-v-665bb42e]:hover {
|
|
4863
4863
|
background: var(--mech-hover);
|
|
4864
4864
|
color: var(--mech-fg);
|
|
4865
4865
|
}
|
|
4866
|
-
.mech-pages__toolbar[data-v-
|
|
4866
|
+
.mech-pages__toolbar[data-v-665bb42e] {
|
|
4867
4867
|
display: flex;
|
|
4868
4868
|
gap: 8px;
|
|
4869
|
-
padding: 0 24px
|
|
4869
|
+
padding: 0 24px 12px;
|
|
4870
4870
|
flex: none;
|
|
4871
4871
|
}
|
|
4872
|
-
.mech-pages__search-wrap[data-v-
|
|
4872
|
+
.mech-pages__search-wrap[data-v-665bb42e] {
|
|
4873
4873
|
position: relative;
|
|
4874
4874
|
flex: 1;
|
|
4875
4875
|
}
|
|
4876
|
-
.mech-
|
|
4876
|
+
.mech-pages__filters[data-v-665bb42e] {
|
|
4877
|
+
display: flex;
|
|
4878
|
+
align-items: center;
|
|
4879
|
+
justify-content: space-between;
|
|
4880
|
+
gap: 12px;
|
|
4881
|
+
padding: 0 24px 14px;
|
|
4882
|
+
flex: none;
|
|
4883
|
+
}
|
|
4884
|
+
.mech-pages__sort[data-v-665bb42e] {
|
|
4885
|
+
display: flex;
|
|
4886
|
+
align-items: center;
|
|
4887
|
+
gap: 9px;
|
|
4888
|
+
}
|
|
4889
|
+
.mech-pages__sort-label[data-v-665bb42e] {
|
|
4890
|
+
font-size: 10.5px;
|
|
4891
|
+
font-weight: 600;
|
|
4892
|
+
text-transform: uppercase;
|
|
4893
|
+
letter-spacing: 0.05em;
|
|
4894
|
+
color: var(--mech-muted);
|
|
4895
|
+
}
|
|
4896
|
+
.mech-pages__toggle[data-v-665bb42e] {
|
|
4897
|
+
flex: none;
|
|
4898
|
+
white-space: nowrap;
|
|
4899
|
+
}
|
|
4900
|
+
.mech-pages__search-icon[data-v-665bb42e] {
|
|
4877
4901
|
position: absolute;
|
|
4878
4902
|
left: 12px;
|
|
4879
4903
|
top: 50%;
|
|
@@ -4883,18 +4907,18 @@ from {
|
|
|
4883
4907
|
color: var(--mech-muted);
|
|
4884
4908
|
pointer-events: none;
|
|
4885
4909
|
}
|
|
4886
|
-
.mech-pages__search[data-v-
|
|
4910
|
+
.mech-pages__search[data-v-665bb42e] {
|
|
4887
4911
|
width: 100%;
|
|
4888
4912
|
padding-left: 36px;
|
|
4889
4913
|
}
|
|
4890
|
-
.mech-pages__content[data-v-
|
|
4914
|
+
.mech-pages__content[data-v-665bb42e] {
|
|
4891
4915
|
display: flex;
|
|
4892
4916
|
gap: 14px;
|
|
4893
4917
|
flex: 1;
|
|
4894
4918
|
min-height: 0;
|
|
4895
4919
|
padding: 0 24px 20px;
|
|
4896
4920
|
}
|
|
4897
|
-
.mech-pages__rail[data-v-
|
|
4921
|
+
.mech-pages__rail[data-v-665bb42e] {
|
|
4898
4922
|
flex: none;
|
|
4899
4923
|
width: 172px;
|
|
4900
4924
|
display: flex;
|
|
@@ -4903,7 +4927,7 @@ from {
|
|
|
4903
4927
|
overflow-y: auto;
|
|
4904
4928
|
padding-right: 2px;
|
|
4905
4929
|
}
|
|
4906
|
-
.mech-pages__rail-item[data-v-
|
|
4930
|
+
.mech-pages__rail-item[data-v-665bb42e] {
|
|
4907
4931
|
display: flex;
|
|
4908
4932
|
align-items: center;
|
|
4909
4933
|
gap: 8px;
|
|
@@ -4917,51 +4941,51 @@ from {
|
|
|
4917
4941
|
color: var(--mech-fg-alt);
|
|
4918
4942
|
cursor: pointer;
|
|
4919
4943
|
}
|
|
4920
|
-
.mech-pages__rail-item .vicon[data-v-
|
|
4944
|
+
.mech-pages__rail-item .vicon[data-v-665bb42e] {
|
|
4921
4945
|
flex: none;
|
|
4922
4946
|
width: 15px;
|
|
4923
4947
|
height: 15px;
|
|
4924
4948
|
color: var(--mech-muted);
|
|
4925
4949
|
}
|
|
4926
|
-
.mech-pages__rail-item[data-v-
|
|
4950
|
+
.mech-pages__rail-item[data-v-665bb42e]:hover {
|
|
4927
4951
|
background: var(--mech-hover);
|
|
4928
4952
|
}
|
|
4929
|
-
.mech-pages__rail-item.is-active[data-v-
|
|
4953
|
+
.mech-pages__rail-item.is-active[data-v-665bb42e] {
|
|
4930
4954
|
background: var(--mech-accent-soft);
|
|
4931
4955
|
color: var(--mech-accent);
|
|
4932
4956
|
font-weight: 500;
|
|
4933
4957
|
}
|
|
4934
|
-
.mech-pages__rail-item.is-active .vicon[data-v-
|
|
4958
|
+
.mech-pages__rail-item.is-active .vicon[data-v-665bb42e] {
|
|
4935
4959
|
color: var(--mech-accent);
|
|
4936
4960
|
}
|
|
4937
|
-
.mech-pages__rail-name[data-v-
|
|
4961
|
+
.mech-pages__rail-name[data-v-665bb42e] {
|
|
4938
4962
|
flex: 1;
|
|
4939
4963
|
min-width: 0;
|
|
4940
4964
|
overflow: hidden;
|
|
4941
4965
|
text-overflow: ellipsis;
|
|
4942
4966
|
white-space: nowrap;
|
|
4943
4967
|
}
|
|
4944
|
-
.mech-pages__rail-count[data-v-
|
|
4968
|
+
.mech-pages__rail-count[data-v-665bb42e] {
|
|
4945
4969
|
flex: none;
|
|
4946
4970
|
font-size: 11px;
|
|
4947
4971
|
color: var(--mech-placeholder);
|
|
4948
4972
|
}
|
|
4949
|
-
.mech-pages__rail-item.is-active .mech-pages__rail-count[data-v-
|
|
4973
|
+
.mech-pages__rail-item.is-active .mech-pages__rail-count[data-v-665bb42e] {
|
|
4950
4974
|
color: var(--mech-accent);
|
|
4951
4975
|
opacity: 0.7;
|
|
4952
4976
|
}
|
|
4953
|
-
.mech-pages__list[data-v-
|
|
4977
|
+
.mech-pages__list[data-v-665bb42e] {
|
|
4954
4978
|
flex: 1;
|
|
4955
4979
|
min-width: 0;
|
|
4956
4980
|
overflow-y: auto;
|
|
4957
4981
|
}
|
|
4958
|
-
.mech-pages__row[data-v-
|
|
4982
|
+
.mech-pages__row[data-v-665bb42e], .mech-pages__thead[data-v-665bb42e] {
|
|
4959
4983
|
display: grid;
|
|
4960
4984
|
grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 96px;
|
|
4961
4985
|
align-items: center;
|
|
4962
4986
|
column-gap: 12px;
|
|
4963
4987
|
}
|
|
4964
|
-
.mech-pages__thead[data-v-
|
|
4988
|
+
.mech-pages__thead[data-v-665bb42e] {
|
|
4965
4989
|
position: sticky;
|
|
4966
4990
|
top: 0;
|
|
4967
4991
|
z-index: 1;
|
|
@@ -4969,14 +4993,14 @@ from {
|
|
|
4969
4993
|
background: var(--mech-bg);
|
|
4970
4994
|
box-shadow: 0 1px 0 var(--mech-border);
|
|
4971
4995
|
}
|
|
4972
|
-
.mech-pages__thead span[data-v-
|
|
4996
|
+
.mech-pages__thead span[data-v-665bb42e] {
|
|
4973
4997
|
font-size: 10.5px;
|
|
4974
4998
|
font-weight: 600;
|
|
4975
4999
|
text-transform: uppercase;
|
|
4976
5000
|
letter-spacing: 0.05em;
|
|
4977
5001
|
color: var(--mech-muted);
|
|
4978
5002
|
}
|
|
4979
|
-
.mech-pages__group[data-v-
|
|
5003
|
+
.mech-pages__group[data-v-665bb42e] {
|
|
4980
5004
|
display: flex;
|
|
4981
5005
|
align-items: center;
|
|
4982
5006
|
gap: 7px;
|
|
@@ -4995,36 +5019,36 @@ from {
|
|
|
4995
5019
|
border-radius: var(--mech-radius-sm);
|
|
4996
5020
|
cursor: pointer;
|
|
4997
5021
|
}
|
|
4998
|
-
.mech-pages__group .vicon[data-v-
|
|
5022
|
+
.mech-pages__group .vicon[data-v-665bb42e] {
|
|
4999
5023
|
width: 13px;
|
|
5000
5024
|
height: 13px;
|
|
5001
5025
|
}
|
|
5002
|
-
.mech-pages__group[data-v-
|
|
5026
|
+
.mech-pages__group[data-v-665bb42e]:hover {
|
|
5003
5027
|
color: var(--mech-fg);
|
|
5004
5028
|
}
|
|
5005
|
-
.mech-pages__row[data-v-
|
|
5029
|
+
.mech-pages__row[data-v-665bb42e] {
|
|
5006
5030
|
padding: 0 10px;
|
|
5007
5031
|
height: 38px;
|
|
5008
5032
|
border-radius: var(--mech-radius-sm);
|
|
5009
5033
|
cursor: pointer;
|
|
5010
5034
|
}
|
|
5011
|
-
.mech-pages__row.is-active[data-v-
|
|
5035
|
+
.mech-pages__row.is-active[data-v-665bb42e] {
|
|
5012
5036
|
background: var(--mech-accent-soft);
|
|
5013
5037
|
}
|
|
5014
|
-
.mech-pages__cell-name[data-v-
|
|
5038
|
+
.mech-pages__cell-name[data-v-665bb42e] {
|
|
5015
5039
|
display: flex;
|
|
5016
5040
|
align-items: center;
|
|
5017
5041
|
gap: 8px;
|
|
5018
5042
|
min-width: 0;
|
|
5019
5043
|
}
|
|
5020
|
-
.mech-pages__name[data-v-
|
|
5044
|
+
.mech-pages__name[data-v-665bb42e] {
|
|
5021
5045
|
font-size: 13.5px;
|
|
5022
5046
|
font-weight: 500;
|
|
5023
5047
|
overflow: hidden;
|
|
5024
5048
|
text-overflow: ellipsis;
|
|
5025
5049
|
white-space: nowrap;
|
|
5026
5050
|
}
|
|
5027
|
-
.mech-pages__badge[data-v-
|
|
5051
|
+
.mech-pages__badge[data-v-665bb42e] {
|
|
5028
5052
|
flex: none;
|
|
5029
5053
|
font-size: 10px;
|
|
5030
5054
|
font-weight: 600;
|
|
@@ -5036,17 +5060,17 @@ from {
|
|
|
5036
5060
|
border-radius: var(--mech-radius-pill);
|
|
5037
5061
|
padding: 1px 7px;
|
|
5038
5062
|
}
|
|
5039
|
-
.mech-pages__badge.is-draft[data-v-
|
|
5063
|
+
.mech-pages__badge.is-draft[data-v-665bb42e] {
|
|
5040
5064
|
color: var(--mech-muted);
|
|
5041
5065
|
}
|
|
5042
|
-
.mech-pages__locales[data-v-
|
|
5066
|
+
.mech-pages__locales[data-v-665bb42e] {
|
|
5043
5067
|
flex: none;
|
|
5044
5068
|
display: inline-flex;
|
|
5045
5069
|
align-items: center;
|
|
5046
5070
|
gap: 3px;
|
|
5047
5071
|
margin-left: 2px;
|
|
5048
5072
|
}
|
|
5049
|
-
.mech-pages__loc[data-v-
|
|
5073
|
+
.mech-pages__loc[data-v-665bb42e] {
|
|
5050
5074
|
min-width: 15px;
|
|
5051
5075
|
padding: 1px 4px;
|
|
5052
5076
|
border-radius: var(--mech-radius-sm);
|
|
@@ -5060,12 +5084,12 @@ from {
|
|
|
5060
5084
|
letter-spacing: 0.02em;
|
|
5061
5085
|
opacity: 0.5;
|
|
5062
5086
|
}
|
|
5063
|
-
.mech-pages__loc.is-on[data-v-
|
|
5087
|
+
.mech-pages__loc.is-on[data-v-665bb42e] {
|
|
5064
5088
|
background: var(--mech-accent-soft);
|
|
5065
5089
|
color: var(--mech-accent);
|
|
5066
5090
|
opacity: 1;
|
|
5067
5091
|
}
|
|
5068
|
-
.mech-pages__cell-path[data-v-
|
|
5092
|
+
.mech-pages__cell-path[data-v-665bb42e] {
|
|
5069
5093
|
min-width: 0;
|
|
5070
5094
|
overflow: hidden;
|
|
5071
5095
|
text-overflow: ellipsis;
|
|
@@ -5073,16 +5097,16 @@ from {
|
|
|
5073
5097
|
font-size: 12.5px;
|
|
5074
5098
|
color: var(--mech-muted);
|
|
5075
5099
|
}
|
|
5076
|
-
.mech-pages__actions[data-v-
|
|
5100
|
+
.mech-pages__actions[data-v-665bb42e] {
|
|
5077
5101
|
display: flex;
|
|
5078
5102
|
justify-content: flex-end;
|
|
5079
5103
|
gap: 1px;
|
|
5080
5104
|
opacity: 0;
|
|
5081
5105
|
}
|
|
5082
|
-
.mech-pages__row.is-active .mech-pages__actions[data-v-
|
|
5106
|
+
.mech-pages__row.is-active .mech-pages__actions[data-v-665bb42e], .mech-pages__row:hover .mech-pages__actions[data-v-665bb42e] {
|
|
5083
5107
|
opacity: 1;
|
|
5084
5108
|
}
|
|
5085
|
-
.mech-pages__actions button[data-v-
|
|
5109
|
+
.mech-pages__actions button[data-v-665bb42e] {
|
|
5086
5110
|
display: flex;
|
|
5087
5111
|
align-items: center;
|
|
5088
5112
|
justify-content: center;
|
|
@@ -5095,24 +5119,24 @@ from {
|
|
|
5095
5119
|
cursor: pointer;
|
|
5096
5120
|
line-height: 1;
|
|
5097
5121
|
}
|
|
5098
|
-
.mech-pages__actions button .vicon[data-v-
|
|
5122
|
+
.mech-pages__actions button .vicon[data-v-665bb42e] {
|
|
5099
5123
|
width: 15px;
|
|
5100
5124
|
height: 15px;
|
|
5101
5125
|
}
|
|
5102
|
-
.mech-pages__actions button[data-v-
|
|
5126
|
+
.mech-pages__actions button[data-v-665bb42e]:hover {
|
|
5103
5127
|
background: var(--mech-active);
|
|
5104
5128
|
color: var(--mech-fg);
|
|
5105
5129
|
}
|
|
5106
|
-
.mech-pages__actions button.is-danger[data-v-
|
|
5130
|
+
.mech-pages__actions button.is-danger[data-v-665bb42e]:hover {
|
|
5107
5131
|
color: var(--mech-error);
|
|
5108
5132
|
}
|
|
5109
|
-
.mech-pages__empty[data-v-
|
|
5133
|
+
.mech-pages__empty[data-v-665bb42e] {
|
|
5110
5134
|
padding: 24px 10px;
|
|
5111
5135
|
margin: 0;
|
|
5112
5136
|
color: var(--mech-muted);
|
|
5113
5137
|
font-size: 13px;
|
|
5114
5138
|
}
|
|
5115
|
-
.mech-pages__preview[data-v-
|
|
5139
|
+
.mech-pages__preview[data-v-665bb42e] {
|
|
5116
5140
|
flex: none;
|
|
5117
5141
|
align-self: flex-start;
|
|
5118
5142
|
max-height: 100%;
|
|
@@ -5124,18 +5148,18 @@ from {
|
|
|
5124
5148
|
box-shadow: var(--mech-shadow-dialog);
|
|
5125
5149
|
overflow: hidden;
|
|
5126
5150
|
}
|
|
5127
|
-
.mech-pages__preview-frame[data-v-
|
|
5151
|
+
.mech-pages__preview-frame[data-v-665bb42e] {
|
|
5128
5152
|
flex: 0 1 auto;
|
|
5129
5153
|
min-height: 0;
|
|
5130
5154
|
overflow: hidden;
|
|
5131
5155
|
background: var(--mech-app-bg);
|
|
5132
5156
|
}
|
|
5133
|
-
.mech-pages__preview-frame img[data-v-
|
|
5157
|
+
.mech-pages__preview-frame img[data-v-665bb42e] {
|
|
5134
5158
|
display: block;
|
|
5135
5159
|
width: 100%;
|
|
5136
5160
|
height: auto;
|
|
5137
5161
|
}
|
|
5138
|
-
.mech-pages__preview-empty[data-v-
|
|
5162
|
+
.mech-pages__preview-empty[data-v-665bb42e] {
|
|
5139
5163
|
display: flex;
|
|
5140
5164
|
flex-direction: column;
|
|
5141
5165
|
align-items: center;
|
|
@@ -5144,16 +5168,16 @@ from {
|
|
|
5144
5168
|
padding: 48px 16px;
|
|
5145
5169
|
color: var(--mech-muted);
|
|
5146
5170
|
}
|
|
5147
|
-
.mech-pages__preview-empty p[data-v-
|
|
5171
|
+
.mech-pages__preview-empty p[data-v-665bb42e] {
|
|
5148
5172
|
margin: 8px 0 0;
|
|
5149
5173
|
font-size: 13px;
|
|
5150
5174
|
font-weight: 500;
|
|
5151
5175
|
}
|
|
5152
|
-
.mech-pages__preview-empty code[data-v-
|
|
5176
|
+
.mech-pages__preview-empty code[data-v-665bb42e] {
|
|
5153
5177
|
font-size: 11.5px;
|
|
5154
5178
|
color: var(--mech-placeholder);
|
|
5155
5179
|
}
|
|
5156
|
-
.mech-pages__preview-monogram[data-v-
|
|
5180
|
+
.mech-pages__preview-monogram[data-v-665bb42e] {
|
|
5157
5181
|
display: flex;
|
|
5158
5182
|
align-items: center;
|
|
5159
5183
|
justify-content: center;
|
|
@@ -5164,7 +5188,7 @@ from {
|
|
|
5164
5188
|
font-size: 22px;
|
|
5165
5189
|
font-weight: 600;
|
|
5166
5190
|
}
|
|
5167
|
-
.mech-pages__preview-caption[data-v-
|
|
5191
|
+
.mech-pages__preview-caption[data-v-665bb42e] {
|
|
5168
5192
|
flex: none;
|
|
5169
5193
|
display: flex;
|
|
5170
5194
|
flex-direction: column;
|
|
@@ -5172,14 +5196,14 @@ from {
|
|
|
5172
5196
|
padding: 12px 16px 14px;
|
|
5173
5197
|
border-top: 1px solid var(--mech-border);
|
|
5174
5198
|
}
|
|
5175
|
-
.mech-pages__preview-name[data-v-
|
|
5199
|
+
.mech-pages__preview-name[data-v-665bb42e] {
|
|
5176
5200
|
font-size: 13px;
|
|
5177
5201
|
font-weight: 600;
|
|
5178
5202
|
overflow: hidden;
|
|
5179
5203
|
text-overflow: ellipsis;
|
|
5180
5204
|
white-space: nowrap;
|
|
5181
5205
|
}
|
|
5182
|
-
.mech-pages__preview-path[data-v-
|
|
5206
|
+
.mech-pages__preview-path[data-v-665bb42e] {
|
|
5183
5207
|
font-size: 11.5px;
|
|
5184
5208
|
color: var(--mech-muted);
|
|
5185
5209
|
overflow: hidden;
|
|
@@ -5187,7 +5211,7 @@ from {
|
|
|
5187
5211
|
white-space: nowrap;
|
|
5188
5212
|
}
|
|
5189
5213
|
@media (max-width: 1160px) {
|
|
5190
|
-
.mech-pages__preview[data-v-
|
|
5214
|
+
.mech-pages__preview[data-v-665bb42e] {
|
|
5191
5215
|
display: none;
|
|
5192
5216
|
}
|
|
5193
5217
|
}.mech-pagebar[data-v-a0f85ad0] {
|