@trebired/frontend 12.17.1 → 13.0.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/CHANGELOG.md +14 -0
- package/dist/config/default/component-tokens.d.ts +37 -0
- package/dist/config/default/component-tokens.d.ts.map +1 -1
- package/dist/config/default/component-tokens.js +2 -0
- package/dist/config/default/component-tokens.js.map +1 -1
- package/dist/config/default/media-tokens.d.ts +39 -0
- package/dist/config/default/media-tokens.d.ts.map +1 -0
- package/dist/config/default/media-tokens.js +37 -0
- package/dist/config/default/media-tokens.js.map +1 -0
- package/dist/config/types.d.ts +6 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/inputs/advanced/tabs/manager/dom.js.map +1 -1
- package/dist/language/routing/boot.d.ts.map +1 -1
- package/dist/language/routing/boot.js +22 -16
- package/dist/language/routing/boot.js.map +1 -1
- package/dist/language/routing/document.d.ts +10 -0
- package/dist/language/routing/document.d.ts.map +1 -0
- package/dist/language/routing/document.js +63 -0
- package/dist/language/routing/document.js.map +1 -0
- package/dist/language/routing/index.d.ts +6 -4
- package/dist/language/routing/index.d.ts.map +1 -1
- package/dist/language/routing/index.js +4 -3
- package/dist/language/routing/index.js.map +1 -1
- package/dist/language/routing/options.d.ts +4 -1
- package/dist/language/routing/options.d.ts.map +1 -1
- package/dist/language/routing/options.js +3 -1
- package/dist/language/routing/options.js.map +1 -1
- package/dist/language/routing/runtime.d.ts +1 -2
- package/dist/language/routing/runtime.d.ts.map +1 -1
- package/dist/language/routing/runtime.js +20 -14
- package/dist/language/routing/runtime.js.map +1 -1
- package/dist/language/routing/view.d.ts +16 -0
- package/dist/language/routing/view.d.ts.map +1 -0
- package/dist/language/routing/view.js +66 -0
- package/dist/language/routing/view.js.map +1 -0
- package/dist/media/carousel-state.js.map +1 -1
- package/dist/media/carousel.d.ts.map +1 -1
- package/dist/media/carousel.js +16 -4
- package/dist/media/carousel.js.map +1 -1
- package/dist/media/expandable-image.js +2 -1
- package/dist/media/expandable-image.js.map +1 -1
- package/dist/media/gallery-state.js.map +1 -1
- package/dist/media/lightbox.d.ts.map +1 -1
- package/dist/media/lightbox.js +10 -8
- package/dist/media/lightbox.js.map +1 -1
- package/dist/media/map-embed.d.ts.map +1 -1
- package/dist/media/map-embed.js +2 -1
- package/dist/media/map-embed.js.map +1 -1
- package/dist/media/styles/carousel.scss +26 -21
- package/dist/media/styles/index.scss +2 -2
- package/dist/media/styles/lightbox.scss +57 -46
- package/dist/react/locale.d.ts.map +1 -1
- package/dist/react/locale.js +13 -9
- package/dist/react/locale.js.map +1 -1
- package/dist/server/language.d.ts.map +1 -1
- package/dist/server/language.js +2 -1
- package/dist/server/language.js.map +1 -1
- package/dist/spa/fetch-document.d.ts +6 -0
- package/dist/spa/fetch-document.d.ts.map +1 -0
- package/dist/spa/fetch-document.js +23 -0
- package/dist/spa/fetch-document.js.map +1 -0
- package/dist/spa/navigate.d.ts.map +1 -1
- package/dist/spa/navigate.js +2 -21
- package/dist/spa/navigate.js.map +1 -1
- package/dist/src/config/default/component-tokens.d.ts +37 -0
- package/dist/src/config/default/component-tokens.d.ts.map +1 -1
- package/dist/src/config/default/component-tokens.js +2 -0
- package/dist/src/config/default/component-tokens.js.map +1 -1
- package/dist/src/config/default/media-tokens.d.ts +39 -0
- package/dist/src/config/default/media-tokens.d.ts.map +1 -0
- package/dist/src/config/default/media-tokens.js +37 -0
- package/dist/src/config/default/media-tokens.js.map +1 -0
- package/dist/src/config/types.d.ts +6 -0
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/inputs/advanced/tabs/manager/dom.js.map +1 -1
- package/dist/src/language/routing/boot.d.ts.map +1 -1
- package/dist/src/language/routing/boot.js +22 -16
- package/dist/src/language/routing/boot.js.map +1 -1
- package/dist/src/language/routing/document.d.ts +10 -0
- package/dist/src/language/routing/document.d.ts.map +1 -0
- package/dist/src/language/routing/document.js +63 -0
- package/dist/src/language/routing/document.js.map +1 -0
- package/dist/src/language/routing/index.d.ts +6 -4
- package/dist/src/language/routing/index.d.ts.map +1 -1
- package/dist/src/language/routing/index.js +4 -3
- package/dist/src/language/routing/index.js.map +1 -1
- package/dist/src/language/routing/options.d.ts +4 -1
- package/dist/src/language/routing/options.d.ts.map +1 -1
- package/dist/src/language/routing/options.js +3 -1
- package/dist/src/language/routing/options.js.map +1 -1
- package/dist/src/language/routing/runtime.d.ts +1 -2
- package/dist/src/language/routing/runtime.d.ts.map +1 -1
- package/dist/src/language/routing/runtime.js +20 -14
- package/dist/src/language/routing/runtime.js.map +1 -1
- package/dist/src/language/routing/view.d.ts +16 -0
- package/dist/src/language/routing/view.d.ts.map +1 -0
- package/dist/src/language/routing/view.js +66 -0
- package/dist/src/language/routing/view.js.map +1 -0
- package/dist/src/media/carousel-state.js.map +1 -1
- package/dist/src/media/carousel.d.ts.map +1 -1
- package/dist/src/media/carousel.js +16 -4
- package/dist/src/media/carousel.js.map +1 -1
- package/dist/src/media/expandable-image.js +2 -1
- package/dist/src/media/expandable-image.js.map +1 -1
- package/dist/src/media/gallery-state.js.map +1 -1
- package/dist/src/media/lightbox.d.ts.map +1 -1
- package/dist/src/media/lightbox.js +10 -8
- package/dist/src/media/lightbox.js.map +1 -1
- package/dist/src/media/map-embed.d.ts.map +1 -1
- package/dist/src/media/map-embed.js +2 -1
- package/dist/src/media/map-embed.js.map +1 -1
- package/dist/src/react/locale.d.ts.map +1 -1
- package/dist/src/react/locale.js +13 -9
- package/dist/src/react/locale.js.map +1 -1
- package/dist/src/server/language.d.ts.map +1 -1
- package/dist/src/server/language.js +2 -1
- package/dist/src/server/language.js.map +1 -1
- package/dist/src/spa/fetch-document.d.ts +6 -0
- package/dist/src/spa/fetch-document.d.ts.map +1 -0
- package/dist/src/spa/fetch-document.js +23 -0
- package/dist/src/spa/fetch-document.js.map +1 -0
- package/dist/src/spa/navigate.d.ts.map +1 -1
- package/dist/src/spa/navigate.js +2 -21
- package/dist/src/spa/navigate.js.map +1 -1
- package/dist/surface/styles/index.scss +6 -0
- package/package.json +1 -1
- package/dist/language/routing/path.d.ts +0 -20
- package/dist/language/routing/path.d.ts.map +0 -1
- package/dist/language/routing/path.js +0 -43
- package/dist/language/routing/path.js.map +0 -1
- package/dist/src/language/routing/path.d.ts +0 -20
- package/dist/src/language/routing/path.d.ts.map +0 -1
- package/dist/src/language/routing/path.js +0 -43
- package/dist/src/language/routing/path.js.map +0 -1
|
@@ -4,9 +4,8 @@ declare function configureLocaleRouting(options: LocaleRoutingOptions): LocaleRo
|
|
|
4
4
|
declare function getLocaleRouting(): LocaleRouting;
|
|
5
5
|
declare function currentLocale(): string;
|
|
6
6
|
declare function persistLocale(locale: string): void;
|
|
7
|
-
declare function localeHref(locale: string): string;
|
|
8
7
|
declare function setCurrentLocale(locale: unknown): boolean;
|
|
9
8
|
declare function onLocaleChanged(listener: LocaleListener): () => void;
|
|
10
|
-
export { configureLocaleRouting, currentLocale, getLocaleRouting,
|
|
9
|
+
export { configureLocaleRouting, currentLocale, getLocaleRouting, onLocaleChanged, persistLocale, setCurrentLocale, };
|
|
11
10
|
export type { LocaleListener };
|
|
12
11
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/language/routing/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/language/routing/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAQ/C,iBAAS,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAI5E;AAED,iBAAS,gBAAgB,IAAI,aAAa,CAEzC;AAMD,iBAAS,aAAa,IAAI,MAAM,CAG/B;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS3C;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAWlD;AAED,iBAAS,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,IAAI,CAK7D;AAED,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
import { matchLocale, normalizeLocaleRouting } from "./options.js";
|
|
2
|
-
import {
|
|
1
|
+
import { cleanLocale, matchLocale, normalizeLocaleRouting } from "./options.js";
|
|
2
|
+
import { LOCALE_RENDERED_ATTR, applyLocaleMeta } from "./view.js";
|
|
3
3
|
const listeners = new Set();
|
|
4
|
+
const COOKIE_MAX_AGE = 60 * 60 * 24 * 365;
|
|
4
5
|
let routing = normalizeLocaleRouting();
|
|
6
|
+
let configured = false;
|
|
5
7
|
function configureLocaleRouting(options) {
|
|
6
8
|
routing = normalizeLocaleRouting(options);
|
|
9
|
+
configured = true;
|
|
7
10
|
return routing;
|
|
8
11
|
}
|
|
9
12
|
function getLocaleRouting() {
|
|
10
13
|
return routing;
|
|
11
14
|
}
|
|
15
|
+
function resolveLocale(value) {
|
|
16
|
+
return configured ? matchLocale(value, routing) : cleanLocale(value);
|
|
17
|
+
}
|
|
12
18
|
function currentLocale() {
|
|
13
|
-
if (typeof
|
|
19
|
+
if (typeof document === "undefined")
|
|
14
20
|
return routing.defaultLocale;
|
|
15
|
-
return
|
|
21
|
+
return resolveLocale(document.documentElement.lang) || routing.defaultLocale;
|
|
16
22
|
}
|
|
17
23
|
function persistLocale(locale) {
|
|
18
|
-
if (typeof
|
|
24
|
+
if (typeof document === "undefined")
|
|
19
25
|
return;
|
|
26
|
+
const name = encodeURIComponent(routing.cookieName);
|
|
27
|
+
document.cookie = `${name}=${encodeURIComponent(locale)}; Path=/; Max-Age=${COOKIE_MAX_AGE}; SameSite=Lax`;
|
|
20
28
|
try {
|
|
21
29
|
window.localStorage.setItem(routing.storageKey, locale);
|
|
22
30
|
}
|
|
@@ -24,21 +32,19 @@ function persistLocale(locale) {
|
|
|
24
32
|
return;
|
|
25
33
|
}
|
|
26
34
|
}
|
|
27
|
-
function localeHref(locale) {
|
|
28
|
-
const parsed = parseLocalePathname(window.location.pathname, routing);
|
|
29
|
-
const pathname = buildLocalePathname(parsed.pathname, locale, routing);
|
|
30
|
-
return `${pathname}${window.location.search}${window.location.hash}`;
|
|
31
|
-
}
|
|
32
35
|
function setCurrentLocale(locale) {
|
|
33
|
-
const next =
|
|
34
|
-
if (!next || typeof
|
|
36
|
+
const next = resolveLocale(locale);
|
|
37
|
+
if (!next || typeof document === "undefined")
|
|
35
38
|
return false;
|
|
36
39
|
persistLocale(next);
|
|
37
40
|
if (next === currentLocale())
|
|
38
41
|
return false;
|
|
42
|
+
const root = document.documentElement;
|
|
43
|
+
root.lang = next;
|
|
44
|
+
root.setAttribute(LOCALE_RENDERED_ATTR, next);
|
|
45
|
+
applyLocaleMeta(document, next);
|
|
39
46
|
for (const listener of listeners)
|
|
40
47
|
listener(next);
|
|
41
|
-
window.location.assign(localeHref(next));
|
|
42
48
|
return true;
|
|
43
49
|
}
|
|
44
50
|
function onLocaleChanged(listener) {
|
|
@@ -47,5 +53,5 @@ function onLocaleChanged(listener) {
|
|
|
47
53
|
listeners.delete(listener);
|
|
48
54
|
};
|
|
49
55
|
}
|
|
50
|
-
export { configureLocaleRouting, currentLocale, getLocaleRouting,
|
|
56
|
+
export { configureLocaleRouting, currentLocale, getLocaleRouting, onLocaleChanged, persistLocale, setCurrentLocale, };
|
|
51
57
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/language/routing/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/language/routing/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIlE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC5C,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE1C,IAAI,OAAO,GAAkB,sBAAsB,EAAE,CAAC;AACtD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,SAAS,sBAAsB,CAAC,OAA6B;IAC3D,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC1C,UAAU,GAAG,IAAI,CAAC;IAClB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,aAAa,CAAC;IAClE,OAAO,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,qBAAqB,cAAc,gBAAgB,CAAC;IAC3G,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC3D,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,aAAa,EAAE;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;IACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB;IAC/C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type LocaleMeta = {
|
|
2
|
+
description?: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
};
|
|
5
|
+
declare const LOCALE_VIEW_ATTR: `data-${string}`;
|
|
6
|
+
declare const LOCALE_META_ATTR: `data-${string}`;
|
|
7
|
+
declare const LOCALE_RENDERED_ATTR: `data-${string}`;
|
|
8
|
+
declare const LOCALE_PENDING_ATTR: `data-${string}`;
|
|
9
|
+
declare const LOCALE_START_MARK = "tbf:locale-start";
|
|
10
|
+
declare const LOCALE_END_MARK = "tbf:locale-end";
|
|
11
|
+
declare function readLocaleMeta(doc: Document): Record<string, LocaleMeta>;
|
|
12
|
+
declare function applyLocaleMeta(doc: Document, locale: string): void;
|
|
13
|
+
declare function applyLocaleView(doc: Document, locale: string): boolean;
|
|
14
|
+
export { LOCALE_END_MARK, LOCALE_META_ATTR, LOCALE_PENDING_ATTR, LOCALE_RENDERED_ATTR, LOCALE_START_MARK, LOCALE_VIEW_ATTR, applyLocaleMeta, applyLocaleView, readLocaleMeta, };
|
|
15
|
+
export type { LocaleMeta };
|
|
16
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/language/routing/view.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAOF,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,oBAAoB,kBAAsC,CAAC;AACjE,QAAA,MAAM,mBAAmB,kBAAqC,CAAC;AAC/D,QAAA,MAAM,iBAAiB,qBAAoC,CAAC;AAC5D,QAAA,MAAM,eAAe,mBAAkC,CAAC;AAcxD,iBAAS,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAQjE;AAED,iBAAS,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAK5D;AAYD,iBAAS,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAa/D;AAED,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,GACf,CAAC;AACF,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { FRONTEND_PREFIX, frontendDataAttr } from "../../namespace/index.js";
|
|
2
|
+
const LOCALE_VIEW_ATTR = frontendDataAttr("locale-view");
|
|
3
|
+
const LOCALE_META_ATTR = frontendDataAttr("locale-meta");
|
|
4
|
+
const LOCALE_RENDERED_ATTR = frontendDataAttr("locale-rendered");
|
|
5
|
+
const LOCALE_PENDING_ATTR = frontendDataAttr("locale-pending");
|
|
6
|
+
const LOCALE_START_MARK = `${FRONTEND_PREFIX}:locale-start`;
|
|
7
|
+
const LOCALE_END_MARK = `${FRONTEND_PREFIX}:locale-end`;
|
|
8
|
+
const COMMENT_NODE = 8;
|
|
9
|
+
function findLocaleMarkers(body) {
|
|
10
|
+
let start = null;
|
|
11
|
+
let end = null;
|
|
12
|
+
for (const node of Array.from(body.childNodes)) {
|
|
13
|
+
if (node.nodeType !== COMMENT_NODE)
|
|
14
|
+
continue;
|
|
15
|
+
if (node.nodeValue === LOCALE_START_MARK)
|
|
16
|
+
start = node;
|
|
17
|
+
if (node.nodeValue === LOCALE_END_MARK)
|
|
18
|
+
end = node;
|
|
19
|
+
}
|
|
20
|
+
return start && end ? { end, start } : null;
|
|
21
|
+
}
|
|
22
|
+
function readLocaleMeta(doc) {
|
|
23
|
+
const node = doc.querySelector(`script[${LOCALE_META_ATTR}]`);
|
|
24
|
+
try {
|
|
25
|
+
const parsed = JSON.parse(node?.textContent || "{}");
|
|
26
|
+
return parsed && typeof parsed === "object" ? parsed : {};
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function applyLocaleMeta(doc, locale) {
|
|
33
|
+
const meta = readLocaleMeta(doc)[locale];
|
|
34
|
+
if (!meta)
|
|
35
|
+
return;
|
|
36
|
+
if (meta.title)
|
|
37
|
+
doc.title = meta.title;
|
|
38
|
+
if (meta.description)
|
|
39
|
+
doc.querySelector('meta[name="description"]')?.setAttribute("content", meta.description);
|
|
40
|
+
}
|
|
41
|
+
function renderedLocale(doc) {
|
|
42
|
+
const root = doc.documentElement;
|
|
43
|
+
return root.getAttribute(LOCALE_RENDERED_ATTR) || root.lang;
|
|
44
|
+
}
|
|
45
|
+
function localeTemplate(doc, locale) {
|
|
46
|
+
const templates = Array.from(doc.querySelectorAll(`template[${LOCALE_VIEW_ATTR}]`));
|
|
47
|
+
return templates.find((template) => template.getAttribute(LOCALE_VIEW_ATTR) === locale) || null;
|
|
48
|
+
}
|
|
49
|
+
function applyLocaleView(doc, locale) {
|
|
50
|
+
if (!locale || !doc.body || renderedLocale(doc) === locale)
|
|
51
|
+
return false;
|
|
52
|
+
const markers = findLocaleMarkers(doc.body);
|
|
53
|
+
const template = localeTemplate(doc, locale);
|
|
54
|
+
if (!markers || !template)
|
|
55
|
+
return false;
|
|
56
|
+
while (markers.start.nextSibling && markers.start.nextSibling !== markers.end) {
|
|
57
|
+
markers.start.nextSibling.remove();
|
|
58
|
+
}
|
|
59
|
+
doc.body.insertBefore(doc.importNode(template.content, true), markers.end);
|
|
60
|
+
doc.documentElement.lang = locale;
|
|
61
|
+
doc.documentElement.setAttribute(LOCALE_RENDERED_ATTR, locale);
|
|
62
|
+
applyLocaleMeta(doc, locale);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
export { LOCALE_END_MARK, LOCALE_META_ATTR, LOCALE_PENDING_ATTR, LOCALE_RENDERED_ATTR, LOCALE_START_MARK, LOCALE_VIEW_ATTR, applyLocaleMeta, applyLocaleView, readLocaleMeta, };
|
|
66
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/language/routing/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-state.js","sourceRoot":"","sources":["../../../src/media/carousel-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWjE,SAAS,oBAAoB;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"carousel-state.js","sourceRoot":"","sources":["../../../src/media/carousel-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWjE,SAAS,oBAAoB;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAmB,SAAS,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEf,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEf,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACzC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,oBAAoB,EAAE;YAAE,OAAO,SAAS,CAAC;QACxF,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,MAAM;QACN,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/media/carousel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/media/carousel.tsx"],"names":[],"mappings":"AAQA,KAAK,aAAa,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,yBAAyB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;CAClC,CAAC;AA2DF,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,+BA8BrC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/media/carousel.js
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Icon } from "../icons/react/index.js";
|
|
3
|
+
import { frontendClassName, frontendModifierClass } from "../namespace/index.js";
|
|
3
4
|
import { sourceLanguageMessage } from "../language/messages.js";
|
|
4
5
|
import { ICON_MEDIA_CHEVRON_LEFT, ICON_MEDIA_CHEVRON_RIGHT } from "./icons.js";
|
|
5
6
|
import { useCarouselState } from "./carousel-state.js";
|
|
6
7
|
import { useResolvedLang } from "./lang.js";
|
|
8
|
+
function activeClass(name, active) {
|
|
9
|
+
return `${frontendClassName(name)}${active ? " is-active" : ""}`;
|
|
10
|
+
}
|
|
11
|
+
function rootClass(props) {
|
|
12
|
+
const placement = props.controlsPlacement === "bottom" ? frontendModifierClass("carousel", "controls-bottom") : "";
|
|
13
|
+
return [frontendClassName("carousel"), placement, props.className].filter(Boolean).join(" ");
|
|
14
|
+
}
|
|
15
|
+
function CarouselControls({ label, state }) {
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsx("button", { "aria-label": label("mediaSlidePrevious"), className: `${frontendClassName("carousel-nav")} ${frontendClassName("carousel-nav-prev")}`, onClick: state.showPrevious, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_LEFT }) }), _jsx("button", { "aria-label": label("mediaSlideNext"), className: `${frontendClassName("carousel-nav")} ${frontendClassName("carousel-nav-next")}`, onClick: state.showNext, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_RIGHT }) })] }));
|
|
17
|
+
}
|
|
18
|
+
function CarouselDots({ label, slides, state }) {
|
|
19
|
+
return (_jsx("div", { className: frontendClassName("carousel-dots"), children: slides.map((slide, index) => (_jsx("button", { "aria-current": index === state.activeIndex ? "true" : undefined, "aria-label": label("mediaSlide", { index: index + 1 }), className: activeClass("carousel-dot", index === state.activeIndex), onClick: () => state.showAt(index), type: "button" }, slide.src))) }));
|
|
20
|
+
}
|
|
7
21
|
function Carousel(props) {
|
|
8
22
|
const slides = props.slides ?? [];
|
|
9
23
|
const lang = useResolvedLang(props.lang);
|
|
10
24
|
const state = useCarouselState(slides.length, props.intervalMs ?? 5000);
|
|
11
25
|
const label = (key, vars) => sourceLanguageMessage(key, lang, vars);
|
|
12
|
-
const
|
|
13
|
-
const showIndicators = props.indicators !== false && slides.length > 1;
|
|
26
|
+
const parts = { label, slides, state };
|
|
14
27
|
if (!slides.length)
|
|
15
28
|
return null;
|
|
16
|
-
|
|
17
|
-
return (_jsxs("div", { className: [`tbf-carousel${placement}`, props.className].filter(Boolean).join(" "), onBlur: state.onLeave, onFocus: state.onEnter, onMouseEnter: state.onEnter, onMouseLeave: state.onLeave, children: [slides.map((slide, index) => (_jsx("img", { alt: slide.alt ?? "", "aria-hidden": index === state.activeIndex ? undefined : "true", className: `tbf-carousel-slide${index === state.activeIndex ? " is-active" : ""}`, src: slide.src }, slide.src))), showControls && (_jsxs(_Fragment, { children: [_jsx("button", { "aria-label": label("mediaSlidePrevious"), className: "tbf-carousel-nav tbf-carousel-nav-prev", onClick: state.showPrevious, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_LEFT }) }), _jsx("button", { "aria-label": label("mediaSlideNext"), className: "tbf-carousel-nav tbf-carousel-nav-next", onClick: state.showNext, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_RIGHT }) })] })), showIndicators && (_jsx("div", { className: "tbf-carousel-dots", children: slides.map((slide, index) => (_jsx("button", { "aria-current": index === state.activeIndex ? "true" : undefined, "aria-label": label("mediaSlide", { index: index + 1 }), className: `tbf-carousel-dot${index === state.activeIndex ? " is-active" : ""}`, onClick: () => state.showAt(index), type: "button" }, slide.src))) }))] }));
|
|
29
|
+
return (_jsxs("div", { className: rootClass(props), onBlur: state.onLeave, onFocus: state.onEnter, onMouseEnter: state.onEnter, onMouseLeave: state.onLeave, children: [slides.map((slide, index) => (_jsx("img", { alt: slide.alt ?? "", "aria-hidden": index === state.activeIndex ? undefined : "true", className: activeClass("carousel-slide", index === state.activeIndex), src: slide.src }, slide.src))), props.controls !== false && slides.length > 1 && _jsx(CarouselControls, { ...parts }), props.indicators !== false && slides.length > 1 && _jsx(CarouselDots, { ...parts })] }));
|
|
18
30
|
}
|
|
19
31
|
export { Carousel };
|
|
20
32
|
//# sourceMappingURL=carousel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/media/carousel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/media/carousel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useId } from "react";
|
|
3
3
|
import { Icon } from "../icons/react/index.js";
|
|
4
|
+
import { frontendClassName } from "../namespace/index.js";
|
|
4
5
|
import { sourceLanguageMessage } from "../language/messages.js";
|
|
5
6
|
import { ICON_MEDIA_MAXIMIZE } from "./icons.js";
|
|
6
7
|
import { useGalleryState } from "./gallery-state.js";
|
|
@@ -17,7 +18,7 @@ function ExpandableImage(props) {
|
|
|
17
18
|
const state = useGalleryState(gallery.length, start);
|
|
18
19
|
const thumbnailAlt = galleryAlt(props.alt, gallery.length, start);
|
|
19
20
|
const label = sourceLanguageMessage("mediaExpand", lang, { alt: thumbnailAlt });
|
|
20
|
-
return (_jsxs(_Fragment, { children: [_jsxs("button", { "aria-label": label, className: ["
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { "aria-label": label, className: [frontendClassName("expandable-image"), props.className].filter(Boolean).join(" "), onClick: () => state.expand(start), type: "button", children: [_jsx("img", { alt: thumbnailAlt, className: [frontendClassName("expandable-image-img"), props.imageClassName].filter(Boolean).join(" "), loading: "lazy", src: props.src }), _jsx("span", { className: frontendClassName("expandable-image-icon"), children: _jsx(Icon, { spec: ICON_MEDIA_MAXIMIZE }) })] }), state.open && (_jsx(Lightbox, { alt: galleryAlt(props.alt, gallery.length, state.activeIndex), close: state.close, hasNext: state.activeIndex < gallery.length - 1, hasPrevious: state.activeIndex > 0, lang: lang, showNext: state.showNext, showPrevious: state.showPrevious, src: gallery[state.activeIndex] ?? props.src, titleId: titleId, visible: state.visible }))] }));
|
|
21
22
|
}
|
|
22
23
|
export { ExpandableImage };
|
|
23
24
|
//# sourceMappingURL=expandable-image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable-image.js","sourceRoot":"","sources":["../../../src/media/expandable-image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"expandable-image.js","sourceRoot":"","sources":["../../../src/media/expandable-image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAYzC,SAAS,UAAU,CAAC,GAAW,EAAE,MAAc,EAAE,KAAa;IAC5D,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,qBAAqB,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IAEhF,OAAO,CACL,8BACA,gCACY,KAAK,EACjB,SAAS,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7F,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAClC,IAAI,EAAC,QAAQ,aAEb,cACA,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACtG,OAAO,EAAC,MAAM,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,GACZ,EACF,eAAM,SAAS,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,YAC3D,KAAC,IAAI,IAAC,IAAI,EAAE,mBAAmB,GAAI,GAC5B,IACE,EAER,KAAK,CAAC,IAAI,IAAI,CACX,KAAC,QAAQ,IACT,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,EAC7D,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAC/C,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,EAClC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,EAC5C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,KAAK,CAAC,OAAO,GACpB,CACL,IACE,CACJ,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery-state.js","sourceRoot":"","sources":["../../../src/media/gallery-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAY/B,SAAS,eAAe,CAAC,MAAc,EAAE,YAAoB;IAC3D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"gallery-state.js","sourceRoot":"","sources":["../../../src/media/gallery-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAY/B,SAAS,eAAe,CAAC,MAAc,EAAE,YAAoB;IAC3D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAmB,SAAS,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnF,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvG,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AAC/E,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox.d.ts","sourceRoot":"","sources":["../../../src/media/lightbox.tsx"],"names":[],"mappings":"AAWA,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"lightbox.d.ts","sourceRoot":"","sources":["../../../src/media/lightbox.tsx"],"names":[],"mappings":"AAWA,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA0DF,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAiCrC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/media/lightbox.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useRef } from "react";
|
|
3
3
|
import { createPortal } from "react-dom";
|
|
4
4
|
import { Icon } from "../icons/react/index.js";
|
|
5
|
+
import { frontendClassName } from "../namespace/index.js";
|
|
5
6
|
import { sourceLanguageMessage } from "../language/messages.js";
|
|
6
7
|
import { captureFocus, trapTabKey } from "./focus-trap.js";
|
|
7
8
|
import { ICON_MEDIA_CHEVRON_LEFT, ICON_MEDIA_CHEVRON_RIGHT, ICON_MEDIA_CLOSE } from "./icons.js";
|
|
@@ -37,18 +38,19 @@ function useLightboxShell(close, showNext, showPrevious) {
|
|
|
37
38
|
}, [close, showNext, showPrevious]);
|
|
38
39
|
return panel;
|
|
39
40
|
}
|
|
41
|
+
function LightboxNav(props) {
|
|
42
|
+
const icon = props.direction === "prev" ? ICON_MEDIA_CHEVRON_LEFT : ICON_MEDIA_CHEVRON_RIGHT;
|
|
43
|
+
return (_jsx("button", { "aria-label": props.label, className: `${frontendClassName("lightbox-nav")} ${frontendClassName(`lightbox-nav-${props.direction}`)}`, onClick: (event) => {
|
|
44
|
+
stop(event);
|
|
45
|
+
props.onClick();
|
|
46
|
+
}, type: "button", children: _jsx(Icon, { spec: icon }) }));
|
|
47
|
+
}
|
|
40
48
|
function Lightbox(props) {
|
|
41
49
|
const lang = useResolvedLang(props.lang);
|
|
42
50
|
const panel = useLightboxShell(props.close, props.showNext, props.showPrevious);
|
|
43
|
-
const label = (key
|
|
51
|
+
const label = (key) => sourceLanguageMessage(key, lang);
|
|
44
52
|
const state = props.visible ? " is-visible" : "";
|
|
45
|
-
const node = (_jsxs("div", { "aria-labelledby": props.titleId, "aria-modal": "true", className:
|
|
46
|
-
stop(event);
|
|
47
|
-
props.showPrevious();
|
|
48
|
-
}, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_LEFT }) })), props.hasNext && (_jsx("button", { "aria-label": label("mediaNext"), className: "tbf-lightbox-nav tbf-lightbox-nav-next", onClick: (event) => {
|
|
49
|
-
stop(event);
|
|
50
|
-
props.showNext();
|
|
51
|
-
}, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CHEVRON_RIGHT }) })), _jsxs("div", { className: `tbf-lightbox-viewer${state}`, onClick: stop, children: [_jsx("h2", { className: "sr-only", id: props.titleId, children: props.alt }), _jsx("img", { alt: props.alt, className: "tbf-lightbox-img", src: props.src }), _jsx("p", { className: "tbf-lightbox-caption", children: props.alt })] })] }));
|
|
53
|
+
const node = (_jsxs("div", { "aria-labelledby": props.titleId, "aria-modal": "true", className: `${frontendClassName("lightbox")}${state}`, onClick: props.close, ref: panel, role: "dialog", tabIndex: -1, children: [_jsx("button", { "aria-label": label("mediaClose"), className: frontendClassName("lightbox-close"), onClick: props.close, type: "button", children: _jsx(Icon, { spec: ICON_MEDIA_CLOSE }) }), props.hasPrevious && _jsx(LightboxNav, { direction: "prev", label: label("mediaPrevious"), onClick: props.showPrevious }), props.hasNext && _jsx(LightboxNav, { direction: "next", label: label("mediaNext"), onClick: props.showNext }), _jsxs("div", { className: `${frontendClassName("lightbox-viewer")}${state}`, onClick: stop, children: [_jsx("h2", { className: "sr-only", id: props.titleId, children: props.alt }), _jsx("img", { alt: props.alt, className: frontendClassName("lightbox-img"), src: props.src }), _jsx("p", { className: frontendClassName("lightbox-caption"), children: props.alt })] })] }));
|
|
52
54
|
if (typeof document === "undefined")
|
|
53
55
|
return null;
|
|
54
56
|
return createPortal(node, document.body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox.js","sourceRoot":"","sources":["../../../src/media/lightbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"lightbox.js","sourceRoot":"","sources":["../../../src/media/lightbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAqBlD,SAAS,IAAI,CAAC,KAAsC;IAClD,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB,EAAE,QAAoB,EAAE,YAAwB;IACzF,MAAM,KAAK,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,aAAa,GAAG,cAAc,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAExC,SAAS,SAAS,CAAC,KAAoB;YACrC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;gBAAE,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;gBAAE,YAAY,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY;gBAAE,QAAQ,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO;gBAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAE7F,OAAO,CACL,+BACY,KAAK,CAAC,KAAK,EACvB,SAAS,EAAE,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EACzG,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,EACD,IAAI,EAAC,QAAQ,YAEb,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GACX,CACV,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAoB;IACpC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,MAAM,IAAI,GAAG,CACX,kCACiB,KAAK,CAAC,OAAO,gBACnB,MAAM,EACjB,SAAS,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,EACrD,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,GAAG,EAAE,KAAK,EACV,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,aAEZ,+BAAoB,KAAK,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,QAAQ,YAC5H,KAAC,IAAI,IAAC,IAAI,EAAE,gBAAgB,GAAI,GACvB,EAER,KAAK,CAAC,WAAW,IAAI,KAAC,WAAW,IAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAI,EACjH,KAAK,CAAC,OAAO,IAAI,KAAC,WAAW,IAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,EAEtG,eAAK,SAAS,EAAE,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,aAChF,aAAI,SAAS,EAAC,SAAS,EAAC,EAAE,EAAE,KAAK,CAAC,OAAO,YAAG,KAAK,CAAC,GAAG,GAAM,EAC3D,cAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAI,EACrF,YAAG,SAAS,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,YAAG,KAAK,CAAC,GAAG,GAAK,IAC9D,IACA,CACP,CAAC;IAEF,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,aAAa,+BAczD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/media/map-embed.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { frontendClassName } from "../namespace/index.js";
|
|
2
3
|
function MapEmbed({ className, src, title }) {
|
|
3
|
-
return (_jsx("iframe", { allowFullScreen: true, className: ["
|
|
4
|
+
return (_jsx("iframe", { allowFullScreen: true, className: [frontendClassName("map-embed"), className].filter(Boolean).join(" "), height: "100%", loading: "lazy", referrerPolicy: "no-referrer-when-downgrade", src: src, style: { border: 0 }, title: title, width: "100%" }));
|
|
4
5
|
}
|
|
5
6
|
export { MapEmbed };
|
|
6
7
|
//# sourceMappingURL=map-embed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQlD,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAiB;IACxD,OAAO,CACL,iBACA,eAAe,QACf,SAAS,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAChF,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,MAAM,EACd,cAAc,EAAC,4BAA4B,EAC3C,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,MAAM,GACV,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
@use "@trebired/bundler/namespace" as ns;
|
|
2
|
+
|
|
3
|
+
$bottom: ns.modifier("carousel", "controls-bottom");
|
|
4
|
+
|
|
5
|
+
#{ns.class("carousel")} {
|
|
2
6
|
position: relative;
|
|
3
7
|
overflow: hidden;
|
|
4
8
|
}
|
|
5
9
|
|
|
6
|
-
.
|
|
10
|
+
#{ns.class("carousel-slide")} {
|
|
7
11
|
position: absolute;
|
|
8
12
|
inset: 0;
|
|
9
13
|
height: 100%;
|
|
@@ -13,12 +17,12 @@
|
|
|
13
17
|
transition: opacity 1000ms ease;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
|
-
.
|
|
20
|
+
#{ns.class("carousel-slide")}.is-active {
|
|
17
21
|
position: relative;
|
|
18
22
|
opacity: 1;
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
.
|
|
25
|
+
#{ns.class("carousel-nav")} {
|
|
22
26
|
position: absolute;
|
|
23
27
|
top: 50%;
|
|
24
28
|
display: flex;
|
|
@@ -35,19 +39,19 @@
|
|
|
35
39
|
transition: background 180ms ease;
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
.
|
|
42
|
+
#{ns.class("carousel-nav")}:hover {
|
|
39
43
|
background: oklch(14.5% 0 0 / 55%);
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
.
|
|
46
|
+
#{ns.class("carousel-nav-prev")} {
|
|
43
47
|
left: 0.75rem;
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
.
|
|
50
|
+
#{ns.class("carousel-nav-next")} {
|
|
47
51
|
right: 0.75rem;
|
|
48
52
|
}
|
|
49
53
|
|
|
50
|
-
.
|
|
54
|
+
#{ns.class("carousel-dots")} {
|
|
51
55
|
position: absolute;
|
|
52
56
|
bottom: 0.9rem;
|
|
53
57
|
left: 50%;
|
|
@@ -56,7 +60,7 @@
|
|
|
56
60
|
transform: translateX(-50%);
|
|
57
61
|
}
|
|
58
62
|
|
|
59
|
-
.
|
|
63
|
+
#{ns.class("carousel-dot")} {
|
|
60
64
|
height: 0.5rem;
|
|
61
65
|
width: 0.5rem;
|
|
62
66
|
border: none;
|
|
@@ -67,12 +71,12 @@
|
|
|
67
71
|
transition: background 180ms ease, width 180ms ease;
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
.
|
|
74
|
+
#{ns.class("carousel-dot")}.is-active {
|
|
71
75
|
width: 1.75rem;
|
|
72
76
|
background: oklch(100% 0 0 / 95%);
|
|
73
77
|
}
|
|
74
78
|
|
|
75
|
-
|
|
79
|
+
#{$bottom}::after {
|
|
76
80
|
position: absolute;
|
|
77
81
|
inset: 0;
|
|
78
82
|
z-index: 1;
|
|
@@ -81,12 +85,13 @@
|
|
|
81
85
|
pointer-events: none;
|
|
82
86
|
}
|
|
83
87
|
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
#{$bottom} #{ns.class("carousel-nav")},
|
|
89
|
+
|
|
90
|
+
#{$bottom} #{ns.class("carousel-dots")} {
|
|
86
91
|
z-index: 2;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
|
-
|
|
94
|
+
#{$bottom} #{ns.class("carousel-nav")} {
|
|
90
95
|
top: auto;
|
|
91
96
|
bottom: 1rem;
|
|
92
97
|
transform: none;
|
|
@@ -94,20 +99,20 @@
|
|
|
94
99
|
backdrop-filter: blur(12px);
|
|
95
100
|
}
|
|
96
101
|
|
|
97
|
-
|
|
102
|
+
#{$bottom} #{ns.class("carousel-nav")}:hover {
|
|
98
103
|
background: oklch(100% 0 0 / 26%);
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
|
|
106
|
+
#{$bottom} #{ns.class("carousel-nav-prev")} {
|
|
102
107
|
left: 1rem;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
|
-
|
|
110
|
+
#{$bottom} #{ns.class("carousel-nav-next")} {
|
|
106
111
|
right: auto;
|
|
107
112
|
left: 4.25rem;
|
|
108
113
|
}
|
|
109
114
|
|
|
110
|
-
|
|
115
|
+
#{$bottom} #{ns.class("carousel-dots")} {
|
|
111
116
|
bottom: 2.0625rem;
|
|
112
117
|
left: auto;
|
|
113
118
|
right: 1rem;
|
|
@@ -115,19 +120,19 @@
|
|
|
115
120
|
transform: none;
|
|
116
121
|
}
|
|
117
122
|
|
|
118
|
-
|
|
123
|
+
#{$bottom} #{ns.class("carousel-dot")} {
|
|
119
124
|
height: 0.625rem;
|
|
120
125
|
width: 0.625rem;
|
|
121
126
|
background: oklch(100% 0 0 / 45%);
|
|
122
127
|
}
|
|
123
128
|
|
|
124
|
-
|
|
129
|
+
#{$bottom} #{ns.class("carousel-dot")}.is-active {
|
|
125
130
|
width: 1.75rem;
|
|
126
131
|
background: oklch(100% 0 0 / 100%);
|
|
127
132
|
}
|
|
128
133
|
|
|
129
134
|
@media (prefers-reduced-motion: reduce) {
|
|
130
|
-
.
|
|
135
|
+
#{ns.class("carousel-slide")} {
|
|
131
136
|
transition: none;
|
|
132
137
|
}
|
|
133
138
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@use "./lightbox
|
|
2
|
-
@use "./carousel
|
|
1
|
+
@use "./lightbox";
|
|
2
|
+
@use "./carousel";
|