@xiwebdesign/xicms-core 7.23.0 → 7.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminApp.js +2 -1
- package/dist/admin/AdminApp.js.map +1 -1
- package/dist/admin/CoreVersion.d.ts +6 -0
- package/dist/admin/CoreVersion.js +42 -1
- package/dist/admin/CoreVersion.js.map +1 -1
- package/dist/admin/SuperadminPanel.js +19 -3
- package/dist/admin/SuperadminPanel.js.map +1 -1
- package/dist/admin/dashboard/DashboardPanel.js +46 -9
- package/dist/admin/dashboard/DashboardPanel.js.map +1 -1
- package/dist/admin/forms/FormsPanel.d.ts +9 -0
- package/dist/admin/forms/FormsPanel.js +102 -16
- package/dist/admin/forms/FormsPanel.js.map +1 -1
- package/dist/admin/forms/gezien.d.ts +3 -0
- package/dist/admin/forms/gezien.js +22 -0
- package/dist/admin/forms/gezien.js.map +1 -0
- package/dist/admin/lib/kleur.d.ts +32 -0
- package/dist/admin/lib/kleur.js +60 -0
- package/dist/admin/lib/kleur.js.map +1 -0
- package/dist/admin/lib/pagesClient.d.ts +32 -0
- package/dist/admin/lib/pagesClient.js +60 -1
- package/dist/admin/lib/pagesClient.js.map +1 -1
- package/dist/admin/lib/seoHulp.d.ts +28 -0
- package/dist/admin/lib/seoHulp.js +33 -0
- package/dist/admin/lib/seoHulp.js.map +1 -0
- package/dist/admin/media/MediaManager.js +133 -51
- package/dist/admin/media/MediaManager.js.map +1 -1
- package/dist/admin/pages/PageEditor.d.ts +14 -0
- package/dist/admin/pages/PageEditor.js +192 -123
- package/dist/admin/pages/PageEditor.js.map +1 -1
- package/dist/admin/pages/PagesPanel.js +88 -40
- package/dist/admin/pages/PagesPanel.js.map +1 -1
- package/dist/admin/settings/SettingsPanel.js +100 -19
- package/dist/admin/settings/SettingsPanel.js.map +1 -1
- package/dist/admin/shop/OrdersTab.js +171 -3
- package/dist/admin/shop/OrdersTab.js.map +1 -1
- package/dist/admin/shop/ProductsTab.js +1 -1
- package/dist/admin/shop/ProductsTab.js.map +1 -1
- package/dist/admin/shop/ShopPanel.js +5 -2
- package/dist/admin/shop/ShopPanel.js.map +1 -1
- package/dist/admin/stats/StatsPanel.js +30 -2
- package/dist/admin/stats/StatsPanel.js.map +1 -1
- package/dist/admin/stats/lib.d.ts +14 -1
- package/dist/admin/stats/lib.js +46 -2
- package/dist/admin/stats/lib.js.map +1 -1
- package/dist/admin/visual/VisualEditor.js +80 -4
- package/dist/admin/visual/VisualEditor.js.map +1 -1
- package/dist/admin.css +1 -1
- package/dist/blocks/builtins/FormBlockRender.js +8 -2
- package/dist/blocks/builtins/FormBlockRender.js.map +1 -1
- package/dist/blocks/builtins/lib/submitForm.d.ts +3 -1
- package/dist/blocks/builtins/lib/submitForm.js +2 -2
- package/dist/blocks/builtins/lib/submitForm.js.map +1 -1
- package/dist/components/EditBar.d.ts +3 -1
- package/dist/components/EditBar.js +30 -4
- package/dist/components/EditBar.js.map +1 -1
- package/dist/components/News.js +8 -4
- package/dist/components/News.js.map +1 -1
- package/dist/components/PageView.d.ts +5 -0
- package/dist/components/PageView.js +24 -2
- package/dist/components/PageView.js.map +1 -1
- package/dist/components/ResponsiveImage.d.ts +1 -1
- package/dist/components/ResponsiveImage.js +3 -1
- package/dist/components/ResponsiveImage.js.map +1 -1
- package/dist/components/site/SiteNav.d.ts +29 -0
- package/dist/components/site/SiteNav.js +82 -0
- package/dist/components/site/SiteNav.js.map +1 -0
- package/dist/content/types.d.ts +8 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/media/ImageContext.d.ts +1 -6
- package/dist/media/ImageContext.js +6 -1
- package/dist/media/ImageContext.js.map +1 -1
- package/dist/releaseNotes.d.ts +15 -0
- package/dist/releaseNotes.js +28 -0
- package/dist/releaseNotes.js.map +1 -0
- package/dist/schema/mail.d.ts +20 -0
- package/dist/schema/mail.js +14 -0
- package/dist/schema/mail.js.map +1 -1
- package/dist/schema/settings.d.ts +105 -0
- package/dist/schema/settings.js +45 -5
- package/dist/schema/settings.js.map +1 -1
- package/dist/schema/shop.d.ts +2 -0
- package/dist/schema/shop.js +12 -2
- package/dist/schema/shop.js.map +1 -1
- package/dist/schema/siteConfig.d.ts +9 -0
- package/dist/server/blockData.js +6 -2
- package/dist/server/blockData.js.map +1 -1
- package/dist/server/draft.d.ts +11 -0
- package/dist/server/draft.js +20 -1
- package/dist/server/draft.js.map +1 -1
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.js +7 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/pages.js +4 -1
- package/dist/server/pages.js.map +1 -1
- package/dist/server/previewToken.d.ts +34 -0
- package/dist/server/previewToken.js +44 -0
- package/dist/server/previewToken.js.map +1 -0
- package/dist/server/redirects.d.ts +15 -0
- package/dist/server/redirects.js +15 -0
- package/dist/server/redirects.js.map +1 -0
- package/dist/styles.css +110 -0
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "server-only";
|
|
2
|
+
import { zoekRedirect } from "../schema/settings.js";
|
|
3
|
+
import { getPublicSiteSettings } from "./pages.js";
|
|
4
|
+
async function resolveRedirect(siteId, path) {
|
|
5
|
+
try {
|
|
6
|
+
const settings = await getPublicSiteSettings(siteId);
|
|
7
|
+
return zoekRedirect(path, settings?.redirects);
|
|
8
|
+
} catch {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
resolveRedirect
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=redirects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/server/redirects.ts"],"sourcesContent":["import \"server-only\";\n\nimport { zoekRedirect } from \"../schema/settings\";\nimport { getPublicSiteSettings } from \"./pages\";\n\n/**\n * Doorverwijzing voor een pad (7.24) — voor de catch-all van de klantsite.\n *\n * Wijzigt een klant het pad van een pagina, dan bewaart het beheer automatisch `oud → nieuw` in\n * `settings.redirects` (publiek, dus bundle-first/tagged gecached zoals de rest van de settings).\n * De route roept dit aan vlak vóór `notFound()`:\n *\n * const doel = await resolveRedirect(siteConfig.siteId, path);\n * if (doel) permanentRedirect(doel);\n *\n * Kost niets extra: de publieke settings staan toch al in de servercache voor thema/nav/footer.\n * Alleen intern (paden), nooit naar buiten — zie RedirectSchema.\n */\nexport async function resolveRedirect(siteId: string, path: string): Promise<string | null> {\n try {\n const settings = await getPublicSiteSettings(siteId);\n return zoekRedirect(path, settings?.redirects);\n } catch {\n return null; // een hik in de settings mag nooit een 500 worden op een gewone pagina\n }\n}\n"],"mappings":"AAAA,OAAO;AAEP,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAetC,eAAsB,gBAAgB,QAAgB,MAAsC;AAC1F,MAAI;AACF,UAAM,WAAW,MAAM,sBAAsB,MAAM;AACnD,WAAO,aAAa,MAAM,UAAU,SAAS;AAAA,EAC/C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/styles.css
CHANGED
|
@@ -3426,3 +3426,113 @@
|
|
|
3426
3426
|
font-size: 0.8rem;
|
|
3427
3427
|
opacity: 0.9;
|
|
3428
3428
|
}
|
|
3429
|
+
|
|
3430
|
+
|
|
3431
|
+
/* ── Hoofdnavigatie (SiteNav, 7.24) ───────────────────────────────────────────
|
|
3432
|
+
* Unstyled-by-default: alleen de structuur die een submenu nodig heeft. Kleuren/afstanden komen
|
|
3433
|
+
* uit de site zelf (.site-header nav a in de template) of uit een eigen `.xicms-nav`-laag. */
|
|
3434
|
+
.xicms-nav__list,
|
|
3435
|
+
.xicms-nav__sub {
|
|
3436
|
+
list-style: none;
|
|
3437
|
+
margin: 0;
|
|
3438
|
+
padding: 0;
|
|
3439
|
+
}
|
|
3440
|
+
.xicms-nav__list {
|
|
3441
|
+
display: flex;
|
|
3442
|
+
flex-wrap: wrap;
|
|
3443
|
+
align-items: center;
|
|
3444
|
+
gap: 1rem;
|
|
3445
|
+
}
|
|
3446
|
+
.xicms-nav__item {
|
|
3447
|
+
position: relative;
|
|
3448
|
+
}
|
|
3449
|
+
.xicms-nav__pair {
|
|
3450
|
+
display: inline-flex;
|
|
3451
|
+
align-items: center;
|
|
3452
|
+
gap: 0.15rem;
|
|
3453
|
+
}
|
|
3454
|
+
.xicms-nav__toggle {
|
|
3455
|
+
appearance: none;
|
|
3456
|
+
display: inline-grid;
|
|
3457
|
+
place-items: center;
|
|
3458
|
+
width: 1.6rem;
|
|
3459
|
+
height: 1.6rem;
|
|
3460
|
+
border: 0;
|
|
3461
|
+
border-radius: 999px;
|
|
3462
|
+
background: transparent;
|
|
3463
|
+
color: inherit;
|
|
3464
|
+
cursor: pointer;
|
|
3465
|
+
transition: transform 0.15s, background 0.15s;
|
|
3466
|
+
}
|
|
3467
|
+
.xicms-nav__toggle:hover,
|
|
3468
|
+
.xicms-nav__toggle:focus-visible {
|
|
3469
|
+
background: color-mix(in srgb, currentColor 10%, transparent);
|
|
3470
|
+
outline: none;
|
|
3471
|
+
}
|
|
3472
|
+
.xicms-nav__toggle:focus-visible {
|
|
3473
|
+
box-shadow: 0 0 0 2px var(--xicms-primary, #4f46e5);
|
|
3474
|
+
}
|
|
3475
|
+
.xicms-nav__item--sub.is-open > .xicms-nav__pair .xicms-nav__toggle {
|
|
3476
|
+
transform: rotate(180deg);
|
|
3477
|
+
}
|
|
3478
|
+
.xicms-nav__sub {
|
|
3479
|
+
position: absolute;
|
|
3480
|
+
top: calc(100% + 0.5rem);
|
|
3481
|
+
left: 0;
|
|
3482
|
+
z-index: 30;
|
|
3483
|
+
min-width: 12rem;
|
|
3484
|
+
display: grid;
|
|
3485
|
+
gap: 0.15rem;
|
|
3486
|
+
padding: 0.4rem;
|
|
3487
|
+
border-radius: var(--xicms-radius-md, 12px);
|
|
3488
|
+
background: var(--color-background-card, var(--color-background-body, #fff));
|
|
3489
|
+
color: var(--color-text-primary, #0f172a);
|
|
3490
|
+
border: 1px solid var(--color-border, rgba(0, 0, 0, 0.08));
|
|
3491
|
+
box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
|
|
3492
|
+
}
|
|
3493
|
+
.xicms-nav__sub[hidden] {
|
|
3494
|
+
display: none;
|
|
3495
|
+
}
|
|
3496
|
+
.xicms-nav__sublink {
|
|
3497
|
+
display: block;
|
|
3498
|
+
padding: 0.45rem 0.7rem;
|
|
3499
|
+
border-radius: 8px;
|
|
3500
|
+
text-decoration: none;
|
|
3501
|
+
color: inherit;
|
|
3502
|
+
white-space: nowrap;
|
|
3503
|
+
}
|
|
3504
|
+
.xicms-nav__sublink:hover,
|
|
3505
|
+
.xicms-nav__sublink:focus-visible {
|
|
3506
|
+
background: color-mix(in srgb, var(--xicms-primary, #4f46e5) 10%, transparent);
|
|
3507
|
+
outline: none;
|
|
3508
|
+
}
|
|
3509
|
+
/* Smal scherm: het submenu klapt in de flow uit i.p.v. te zweven — zwevend valt hij buiten beeld
|
|
3510
|
+
* of onder een hamburger-laag van de site. */
|
|
3511
|
+
@media (max-width: 720px) {
|
|
3512
|
+
.xicms-nav__sub {
|
|
3513
|
+
position: static;
|
|
3514
|
+
box-shadow: none;
|
|
3515
|
+
border: 0;
|
|
3516
|
+
padding: 0.2rem 0 0.2rem 0.8rem;
|
|
3517
|
+
background: transparent;
|
|
3518
|
+
min-width: 0;
|
|
3519
|
+
}
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3522
|
+
/* ── "Nog niet live"-stip op de beheerbalk (7.24) ────────────────────────────
|
|
3523
|
+
* Een werkversie die afwijkt van wat er live staat, kreeg buiten de editor nergens een signaal.
|
|
3524
|
+
* Dit stipje op "Bewerken" zegt: hier ligt nog iets dat niemand ziet. */
|
|
3525
|
+
.xicms-editbar__btn.heeft-wijzigingen {
|
|
3526
|
+
position: relative;
|
|
3527
|
+
}
|
|
3528
|
+
.xicms-editbar__btn.heeft-wijzigingen::after {
|
|
3529
|
+
content: "";
|
|
3530
|
+
position: absolute;
|
|
3531
|
+
top: 4px;
|
|
3532
|
+
right: 6px;
|
|
3533
|
+
width: 8px;
|
|
3534
|
+
height: 8px;
|
|
3535
|
+
border-radius: 999px;
|
|
3536
|
+
background: #f59e0b;
|
|
3537
|
+
box-shadow: 0 0 0 2px #0f172a;
|
|
3538
|
+
}
|
package/dist/version.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const CORE_VERSION = true ? "7.
|
|
1
|
+
const CORE_VERSION = true ? "7.25.0" : "0.0.0-dev";
|
|
2
2
|
const CORE_PACKAGE = "@xiwebdesign/xicms-core";
|
|
3
3
|
function isNieuwer(beschikbaar, huidig) {
|
|
4
4
|
const delen = (v) => v.split("-")[0].split(".").map((n) => Number.parseInt(n, 10) || 0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xiwebdesign/xicms-core",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.25.0",
|
|
4
4
|
"description": "XiCMS engine: gestructureerde content, pagina's, draft/publish, admin (TipTap+Radix), SEO en beveiliging voor klantsites.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|