@fieldia/viewer 0.9.2 → 0.10.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/README.md +20 -1
- package/bundle/fieldia.ar.js +3 -0
- package/bundle/fieldia.ar.js.map +7 -0
- package/bundle/fieldia.de.js +3 -0
- package/bundle/fieldia.de.js.map +7 -0
- package/bundle/fieldia.fr.js +3 -0
- package/bundle/fieldia.fr.js.map +7 -0
- package/bundle/fieldia.js +4 -4
- package/bundle/fieldia.js.map +4 -4
- package/package.json +6 -3
- package/src/index.d.mts +4 -0
- package/src/index.d.ts +4 -0
- package/src/index.js +12 -0
- package/src/index.js.map +1 -1
- package/src/index.mjs +4 -0
- package/src/index.mjs.map +1 -1
- package/src/lib/add-language.d.mts +20 -0
- package/src/lib/add-language.d.ts +20 -0
- package/src/lib/add-language.js +19 -0
- package/src/lib/add-language.js.map +1 -0
- package/src/lib/add-language.mjs +16 -0
- package/src/lib/add-language.mjs.map +1 -0
- package/src/lib/dialog.d.mts +7 -2
- package/src/lib/dialog.d.ts +7 -2
- package/src/lib/dialog.js +16 -21
- package/src/lib/dialog.js.map +1 -1
- package/src/lib/dialog.mjs +16 -21
- package/src/lib/dialog.mjs.map +1 -1
- package/src/lib/dom.d.mts +10 -0
- package/src/lib/dom.d.ts +10 -0
- package/src/lib/dom.js +26 -0
- package/src/lib/dom.js.map +1 -1
- package/src/lib/dom.mjs +23 -1
- package/src/lib/dom.mjs.map +1 -1
- package/src/lib/focus-trap.d.mts +2 -0
- package/src/lib/focus-trap.d.ts +2 -0
- package/src/lib/focus-trap.js +7 -0
- package/src/lib/focus-trap.js.map +1 -0
- package/src/lib/focus-trap.mjs +3 -0
- package/src/lib/focus-trap.mjs.map +1 -0
- package/src/lib/labels.d.mts +13 -0
- package/src/lib/labels.d.ts +13 -0
- package/src/lib/labels.js +103 -277
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +102 -277
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/list-styles.d.mts +1 -1
- package/src/lib/list-styles.d.ts +1 -1
- package/src/lib/list-styles.js +3 -2
- package/src/lib/list-styles.js.map +1 -1
- package/src/lib/list-styles.mjs +3 -2
- package/src/lib/list-styles.mjs.map +1 -1
- package/src/lib/locales/all.d.mts +8 -0
- package/src/lib/locales/all.d.ts +8 -0
- package/src/lib/locales/all.js +13 -0
- package/src/lib/locales/all.js.map +1 -0
- package/src/lib/locales/all.mjs +10 -0
- package/src/lib/locales/all.mjs.map +1 -0
- package/src/lib/locales/ar.d.mts +3 -0
- package/src/lib/locales/ar.d.ts +3 -0
- package/src/lib/locales/ar.js +74 -0
- package/src/lib/locales/ar.js.map +1 -0
- package/src/lib/locales/ar.mjs +71 -0
- package/src/lib/locales/ar.mjs.map +1 -0
- package/src/lib/locales/de.d.mts +3 -0
- package/src/lib/locales/de.d.ts +3 -0
- package/src/lib/locales/de.js +74 -0
- package/src/lib/locales/de.js.map +1 -0
- package/src/lib/locales/de.mjs +71 -0
- package/src/lib/locales/de.mjs.map +1 -0
- package/src/lib/locales/fr.d.mts +3 -0
- package/src/lib/locales/fr.d.ts +3 -0
- package/src/lib/locales/fr.js +74 -0
- package/src/lib/locales/fr.js.map +1 -0
- package/src/lib/locales/fr.mjs +71 -0
- package/src/lib/locales/fr.mjs.map +1 -0
- package/src/lib/look.d.mts +21 -0
- package/src/lib/look.d.ts +21 -0
- package/src/lib/look.js +84 -0
- package/src/lib/look.js.map +1 -0
- package/src/lib/look.mjs +79 -0
- package/src/lib/look.mjs.map +1 -0
- package/src/lib/place.d.mts +35 -0
- package/src/lib/place.d.ts +35 -0
- package/src/lib/place.js +37 -0
- package/src/lib/place.js.map +1 -0
- package/src/lib/place.mjs +33 -0
- package/src/lib/place.mjs.map +1 -0
- package/src/lib/related.js +2 -1
- package/src/lib/related.js.map +1 -1
- package/src/lib/related.mjs +2 -1
- package/src/lib/related.mjs.map +1 -1
- package/src/lib/viewer.d.mts +10 -2
- package/src/lib/viewer.d.ts +10 -2
- package/src/lib/viewer.js +160 -57
- package/src/lib/viewer.js.map +1 -1
- package/src/lib/viewer.mjs +162 -59
- package/src/lib/viewer.mjs.map +1 -1
package/src/lib/look.mjs
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The page's look, worn by the form: what the page says about its accent,
|
|
3
|
+
* font, room, corners, labels and colour scheme becomes attributes and tokens
|
|
4
|
+
* on the form's root, and the stylesheet turns them into the form's own
|
|
5
|
+
* colours and sizes — so every widget follows, in either skin, light or dark.
|
|
6
|
+
* A page with no look is left exactly as its skin draws it.
|
|
7
|
+
*/
|
|
8
|
+
/** Words written on a light accent, and on the dark page's accent. */
|
|
9
|
+
const INK = '#111418';
|
|
10
|
+
/** The dark scheme's surface, which the dark page's accent has to read on. */
|
|
11
|
+
const DARK_SURFACE = '#1f2329';
|
|
12
|
+
/** The darkest ground of a light page (the underline skin's), which the light page's accent has to read on. */
|
|
13
|
+
const LIGHT_GROUND = '#f2f3f5';
|
|
14
|
+
/** WCAG's contrast for normal text (1.4.3, AA): the accent is words on the page, and has words on it. */
|
|
15
|
+
const READABLE = 4.5;
|
|
16
|
+
const channels = (hex) => [1, 3, 5].map((at) => parseInt(hex.slice(at, at + 2), 16));
|
|
17
|
+
const toHex = (rgb) => `#${rgb.map((c) => Math.round(c).toString(16).padStart(2, '0')).join('')}`;
|
|
18
|
+
/** How bright a colour looks, as WCAG measures it: 0 for black, 1 for white. */
|
|
19
|
+
function luminance(hex) {
|
|
20
|
+
const [r, g, b] = channels(hex).map((c) => {
|
|
21
|
+
const s = c / 255;
|
|
22
|
+
return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
|
|
23
|
+
});
|
|
24
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
25
|
+
}
|
|
26
|
+
/** How well one colour reads on another: 1 (not at all) to 21 (black on white). */
|
|
27
|
+
export function contrast(a, b) {
|
|
28
|
+
const [light, dark] = [luminance(a), luminance(b)].sort((x, y) => y - x);
|
|
29
|
+
return (light + 0.05) / (dark + 0.05);
|
|
30
|
+
}
|
|
31
|
+
/** White on a colour, as buttons are usually written; ink where white would read poorly. */
|
|
32
|
+
const textOn = (hex) => (contrast(hex, '#ffffff') >= READABLE ? '#ffffff' : INK);
|
|
33
|
+
/** On a dark page the accent is light: whichever of ink or white reads better on it. */
|
|
34
|
+
const textOnDark = (hex) => (contrast(hex, INK) >= contrast(hex, '#ffffff') ? INK : '#ffffff');
|
|
35
|
+
/** A colour taken towards white by `amount` (0 to 1). */
|
|
36
|
+
const lighten = (hex, amount) => toHex(channels(hex).map((c) => c + (255 - c) * amount));
|
|
37
|
+
/** A colour taken towards black by `amount` (0 to 1). */
|
|
38
|
+
const darken = (hex, amount) => toHex(channels(hex).map((c) => c * (1 - amount)));
|
|
39
|
+
/** The accent's softer shade on a surface, as the stylesheet mixes it: 12% of the accent. */
|
|
40
|
+
const softOn = (hex, surface) => toHex(channels(hex).map((c, i) => c * 0.12 + channels(surface)[i] * 0.88));
|
|
41
|
+
/** Reads as words on a surface, on the lightest ground there, and on its own softer shade (a picked tab, a chip). */
|
|
42
|
+
const readsOn = (hex, grounds) => [...grounds, softOn(hex, grounds[0])].every((ground) => contrast(hex, ground) >= READABLE);
|
|
43
|
+
/**
|
|
44
|
+
* The accent, and what goes with it in either scheme. Each is moved, in small
|
|
45
|
+
* steps and only as far as it has to be, until words in it and on it read at
|
|
46
|
+
* 4.5:1 — darker on a light page, lighter on a dark one. The softer and hover
|
|
47
|
+
* shades are mixed from these by the stylesheet.
|
|
48
|
+
*/
|
|
49
|
+
export function accentShades(hex) {
|
|
50
|
+
const given = hex.toLowerCase();
|
|
51
|
+
let accent = given;
|
|
52
|
+
for (let step = 1; step <= 40 && !readsOn(accent, ['#ffffff', LIGHT_GROUND]); step++)
|
|
53
|
+
accent = darken(given, step / 40);
|
|
54
|
+
let dark = given;
|
|
55
|
+
for (let step = 1; step <= 40 && !readsOn(dark, [DARK_SURFACE]); step++)
|
|
56
|
+
dark = lighten(given, step / 40);
|
|
57
|
+
return { accent, accentText: textOn(accent), dark, darkText: textOnDark(dark) };
|
|
58
|
+
}
|
|
59
|
+
/** Put the page's look on the form's root. */
|
|
60
|
+
export function applyLook(root, look) {
|
|
61
|
+
if (!look)
|
|
62
|
+
return;
|
|
63
|
+
for (const name of ['font', 'density', 'corners', 'scheme']) {
|
|
64
|
+
const value = look[name];
|
|
65
|
+
if (value)
|
|
66
|
+
root.setAttribute(`data-${name}`, value);
|
|
67
|
+
}
|
|
68
|
+
if (look.labelWidth)
|
|
69
|
+
root.style.setProperty('--fd-label-width', `${look.labelWidth}px`);
|
|
70
|
+
if (look.accent) {
|
|
71
|
+
const shades = accentShades(look.accent);
|
|
72
|
+
root.setAttribute('data-accent', '');
|
|
73
|
+
root.style.setProperty('--fd-look-accent', shades.accent);
|
|
74
|
+
root.style.setProperty('--fd-look-accent-text', shades.accentText);
|
|
75
|
+
root.style.setProperty('--fd-look-accent-dark', shades.dark);
|
|
76
|
+
root.style.setProperty('--fd-look-accent-dark-text', shades.darkText);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=look.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"look.mjs","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/look.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type FieldNode, type FieldType, type LabelPlace, type SectionNode } from '@fieldia/core';
|
|
2
|
+
/**
|
|
3
|
+
* Where a part sits, as the viewer lays a page out: how many columns the grid
|
|
4
|
+
* round it has, whether anything is drawn round it yet, and where labels go
|
|
5
|
+
* there. Worked out once, top down, so the stylesheet is handed plain facts.
|
|
6
|
+
*/
|
|
7
|
+
export interface Place {
|
|
8
|
+
/** The columns of the grid it sits in, at full width: one on the page, in a tab or in a step. */
|
|
9
|
+
columns: number;
|
|
10
|
+
/** Nothing is drawn round it yet: a card here is a box of its own. */
|
|
11
|
+
onPage: boolean;
|
|
12
|
+
/** Where labels sit here, as the page or a group round it says; undefined leaves them to the skin. */
|
|
13
|
+
labels?: LabelPlace;
|
|
14
|
+
}
|
|
15
|
+
export type SectionStyle = NonNullable<SectionNode['style']>;
|
|
16
|
+
export interface SectionPlan {
|
|
17
|
+
style: SectionStyle;
|
|
18
|
+
/**
|
|
19
|
+
* An arrangement: untitled and plain, it only holds parts side by side or
|
|
20
|
+
* one under another. In a grid with columns it lays them on the `tracks` it
|
|
21
|
+
* covers there; one column wide with columns of its own, they share that
|
|
22
|
+
* one cell (`shared`). Anywhere else it has a grid of its own.
|
|
23
|
+
*/
|
|
24
|
+
arrangement: boolean;
|
|
25
|
+
at?: 'tracks' | 'shared';
|
|
26
|
+
/** Where the parts inside it sit. */
|
|
27
|
+
inner: Place;
|
|
28
|
+
}
|
|
29
|
+
/** How a section is drawn where it sits, and where that leaves the parts inside it. */
|
|
30
|
+
export declare function planSection(node: SectionNode, place: Place): SectionPlan;
|
|
31
|
+
/**
|
|
32
|
+
* Where a field's label sits: its own place, else where it is put; a table's label beside it goes above.
|
|
33
|
+
* A tick box's words always come after the box: they are all it says, and beside or out of sight would part them from it.
|
|
34
|
+
*/
|
|
35
|
+
export declare function labelPlace(node: FieldNode, type: FieldType, place: LabelPlace | undefined): LabelPlace | 'after' | undefined;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type FieldNode, type FieldType, type LabelPlace, type SectionNode } from '@fieldia/core';
|
|
2
|
+
/**
|
|
3
|
+
* Where a part sits, as the viewer lays a page out: how many columns the grid
|
|
4
|
+
* round it has, whether anything is drawn round it yet, and where labels go
|
|
5
|
+
* there. Worked out once, top down, so the stylesheet is handed plain facts.
|
|
6
|
+
*/
|
|
7
|
+
export interface Place {
|
|
8
|
+
/** The columns of the grid it sits in, at full width: one on the page, in a tab or in a step. */
|
|
9
|
+
columns: number;
|
|
10
|
+
/** Nothing is drawn round it yet: a card here is a box of its own. */
|
|
11
|
+
onPage: boolean;
|
|
12
|
+
/** Where labels sit here, as the page or a group round it says; undefined leaves them to the skin. */
|
|
13
|
+
labels?: LabelPlace;
|
|
14
|
+
}
|
|
15
|
+
export type SectionStyle = NonNullable<SectionNode['style']>;
|
|
16
|
+
export interface SectionPlan {
|
|
17
|
+
style: SectionStyle;
|
|
18
|
+
/**
|
|
19
|
+
* An arrangement: untitled and plain, it only holds parts side by side or
|
|
20
|
+
* one under another. In a grid with columns it lays them on the `tracks` it
|
|
21
|
+
* covers there; one column wide with columns of its own, they share that
|
|
22
|
+
* one cell (`shared`). Anywhere else it has a grid of its own.
|
|
23
|
+
*/
|
|
24
|
+
arrangement: boolean;
|
|
25
|
+
at?: 'tracks' | 'shared';
|
|
26
|
+
/** Where the parts inside it sit. */
|
|
27
|
+
inner: Place;
|
|
28
|
+
}
|
|
29
|
+
/** How a section is drawn where it sits, and where that leaves the parts inside it. */
|
|
30
|
+
export declare function planSection(node: SectionNode, place: Place): SectionPlan;
|
|
31
|
+
/**
|
|
32
|
+
* Where a field's label sits: its own place, else where it is put; a table's label beside it goes above.
|
|
33
|
+
* A tick box's words always come after the box: they are all it says, and beside or out of sight would part them from it.
|
|
34
|
+
*/
|
|
35
|
+
export declare function labelPlace(node: FieldNode, type: FieldType, place: LabelPlace | undefined): LabelPlace | 'after' | undefined;
|
package/src/lib/place.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.planSection = planSection;
|
|
4
|
+
exports.labelPlace = labelPlace;
|
|
5
|
+
const core_1 = require("@fieldia/core");
|
|
6
|
+
/** How a section is drawn where it sits, and where that leaves the parts inside it. */
|
|
7
|
+
function planSection(node, place) {
|
|
8
|
+
const style = node.style ?? 'card';
|
|
9
|
+
const arrangement = style === 'plain' && !node.title;
|
|
10
|
+
const own = (0, core_1.wideColumns)(node.columns);
|
|
11
|
+
const span = node.colspan ?? 1;
|
|
12
|
+
const at = arrangement && place.columns > 1 ? (span === 1 && own > 1 ? 'shared' : 'tracks') : undefined;
|
|
13
|
+
return {
|
|
14
|
+
style,
|
|
15
|
+
arrangement,
|
|
16
|
+
at,
|
|
17
|
+
inner: {
|
|
18
|
+
columns: at === 'tracks' ? Math.min(span, place.columns) : own,
|
|
19
|
+
// A line under a title and a plain group draw no box: what is inside them still sits on the page.
|
|
20
|
+
onPage: place.onPage && (style === 'plain' || style === 'line'),
|
|
21
|
+
labels: node.labels ?? place.labels,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Kinds shown as a table: no room beside them for a label, which goes above. */
|
|
26
|
+
const TABLES = new Set(['one2many', 'matrix']);
|
|
27
|
+
/**
|
|
28
|
+
* Where a field's label sits: its own place, else where it is put; a table's label beside it goes above.
|
|
29
|
+
* A tick box's words always come after the box: they are all it says, and beside or out of sight would part them from it.
|
|
30
|
+
*/
|
|
31
|
+
function labelPlace(node, type, place) {
|
|
32
|
+
if (type === 'boolean' && node.widget === 'tick')
|
|
33
|
+
return 'after';
|
|
34
|
+
const chosen = node.labels ?? place;
|
|
35
|
+
return chosen === 'beside' && TABLES.has(type) ? 'above' : chosen;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=place.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/place.ts"],"names":[],"mappings":";;AAiCA,kCAiBC;AASD,gCAIC;AA/DD,wCAA+G;AAgC/G,uFAAuF;AACvF,SAAgB,WAAW,CAAC,IAAiB,EAAE,KAAY;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACrD,MAAM,GAAG,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,WAAW,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,OAAO;QACL,KAAK;QACL,WAAW;QACX,EAAE;QACF,KAAK,EAAE;YACL,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;YAC9D,kGAAkG;YAClG,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;SACpC;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAe,EAAE,IAAe,EAAE,KAA6B;IACxF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { wideColumns } from '@fieldia/core';
|
|
2
|
+
/** How a section is drawn where it sits, and where that leaves the parts inside it. */
|
|
3
|
+
export function planSection(node, place) {
|
|
4
|
+
const style = node.style ?? 'card';
|
|
5
|
+
const arrangement = style === 'plain' && !node.title;
|
|
6
|
+
const own = wideColumns(node.columns);
|
|
7
|
+
const span = node.colspan ?? 1;
|
|
8
|
+
const at = arrangement && place.columns > 1 ? (span === 1 && own > 1 ? 'shared' : 'tracks') : undefined;
|
|
9
|
+
return {
|
|
10
|
+
style,
|
|
11
|
+
arrangement,
|
|
12
|
+
at,
|
|
13
|
+
inner: {
|
|
14
|
+
columns: at === 'tracks' ? Math.min(span, place.columns) : own,
|
|
15
|
+
// A line under a title and a plain group draw no box: what is inside them still sits on the page.
|
|
16
|
+
onPage: place.onPage && (style === 'plain' || style === 'line'),
|
|
17
|
+
labels: node.labels ?? place.labels,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Kinds shown as a table: no room beside them for a label, which goes above. */
|
|
22
|
+
const TABLES = new Set(['one2many', 'matrix']);
|
|
23
|
+
/**
|
|
24
|
+
* Where a field's label sits: its own place, else where it is put; a table's label beside it goes above.
|
|
25
|
+
* A tick box's words always come after the box: they are all it says, and beside or out of sight would part them from it.
|
|
26
|
+
*/
|
|
27
|
+
export function labelPlace(node, type, place) {
|
|
28
|
+
if (type === 'boolean' && node.widget === 'tick')
|
|
29
|
+
return 'after';
|
|
30
|
+
const chosen = node.labels ?? place;
|
|
31
|
+
return chosen === 'beside' && TABLES.has(type) ? 'above' : chosen;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=place.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.mjs","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/place.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqE,MAAM,eAAe,CAAC;AAgC/G,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,KAAY;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACrD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,WAAW,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,OAAO;QACL,KAAK;QACL,WAAW;QACX,EAAE;QACF,KAAK,EAAE;YACL,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;YAC9D,kGAAkG;YAClG,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;SACpC;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe,EAAE,IAAe,EAAE,KAA6B;IACxF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC"}
|
package/src/lib/related.js
CHANGED
|
@@ -48,6 +48,7 @@ function pageDialogs(options) {
|
|
|
48
48
|
preferences: options.preferences,
|
|
49
49
|
relatedPages: options.relatedPages,
|
|
50
50
|
translate: options.translate,
|
|
51
|
+
look: options.page.look,
|
|
51
52
|
};
|
|
52
53
|
return {
|
|
53
54
|
canOpen: (model) => pageFor(model) !== null,
|
|
@@ -70,7 +71,7 @@ function pageDialogs(options) {
|
|
|
70
71
|
const name = nameField ? result.values[nameField] : null;
|
|
71
72
|
return { id: result.recordId, label: typeof name === 'string' && name ? name : request.name ?? request.title };
|
|
72
73
|
},
|
|
73
|
-
searchMore: (request) => (0, dialog_1.openSearchDialog)({ title: request.title, search: request.search, locale: options.locale, skin: options.skin, dir: options.dir }),
|
|
74
|
+
searchMore: (request) => (0, dialog_1.openSearchDialog)({ title: request.title, search: request.search, locale: options.locale, skin: options.skin, dir: options.dir, look: options.page.look }),
|
|
74
75
|
async editValues(request) {
|
|
75
76
|
const result = await (0, dialog_1.openFormDialog)({
|
|
76
77
|
...shared,
|
package/src/lib/related.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"related.js","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/related.ts"],"names":[],"mappings":";;AAMA,kCAIC;AA+BD,
|
|
1
|
+
{"version":3,"file":"related.js","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/related.ts"],"names":[],"mappings":"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"}
|
package/src/lib/related.mjs
CHANGED
|
@@ -44,6 +44,7 @@ export function pageDialogs(options) {
|
|
|
44
44
|
preferences: options.preferences,
|
|
45
45
|
relatedPages: options.relatedPages,
|
|
46
46
|
translate: options.translate,
|
|
47
|
+
look: options.page.look,
|
|
47
48
|
};
|
|
48
49
|
return {
|
|
49
50
|
canOpen: (model) => pageFor(model) !== null,
|
|
@@ -66,7 +67,7 @@ export function pageDialogs(options) {
|
|
|
66
67
|
const name = nameField ? result.values[nameField] : null;
|
|
67
68
|
return { id: result.recordId, label: typeof name === 'string' && name ? name : request.name ?? request.title };
|
|
68
69
|
},
|
|
69
|
-
searchMore: (request) => openSearchDialog({ title: request.title, search: request.search, locale: options.locale, skin: options.skin, dir: options.dir }),
|
|
70
|
+
searchMore: (request) => openSearchDialog({ title: request.title, search: request.search, locale: options.locale, skin: options.skin, dir: options.dir, look: options.page.look }),
|
|
70
71
|
async editValues(request) {
|
|
71
72
|
const result = await openFormDialog({
|
|
72
73
|
...shared,
|
package/src/lib/related.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"related.mjs","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/related.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"related.mjs","sourceRoot":"","sources":["../../../../../libs/viewer/src/lib/related.ts"],"names":[],"mappings":"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"}
|
package/src/lib/viewer.d.mts
CHANGED
|
@@ -16,8 +16,16 @@ export interface ViewerOptions extends Omit<FormOptions, 'page'> {
|
|
|
16
16
|
/** Widgets that replace or add to the built-in ones, by `type` or `type.widget`. */
|
|
17
17
|
widgets?: Record<string, WidgetFactory>;
|
|
18
18
|
slots?: Record<string, SlotRenderer>;
|
|
19
|
-
/**
|
|
20
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The page's language, as a language tag (`ar`, `es`, `pt-BR`): the page's
|
|
21
|
+
* own words in it when the page keeps them, and the viewer's labels,
|
|
22
|
+
* validation messages and widget words in it when Fieldia has them (English,
|
|
23
|
+
* Arabic, German, French; English otherwise — and in the one-tag script,
|
|
24
|
+
* English until the language's own script is loaded: `fieldia.ar.js`, …).
|
|
25
|
+
* A language written right to left runs right to left. The language the
|
|
26
|
+
* page is written in unless said.
|
|
27
|
+
*/
|
|
28
|
+
locale?: Locale | (string & {});
|
|
21
29
|
/** Labels that win over the language's defaults. */
|
|
22
30
|
labels?: Partial<ViewerLabels>;
|
|
23
31
|
dir?: 'ltr' | 'rtl';
|
package/src/lib/viewer.d.ts
CHANGED
|
@@ -16,8 +16,16 @@ export interface ViewerOptions extends Omit<FormOptions, 'page'> {
|
|
|
16
16
|
/** Widgets that replace or add to the built-in ones, by `type` or `type.widget`. */
|
|
17
17
|
widgets?: Record<string, WidgetFactory>;
|
|
18
18
|
slots?: Record<string, SlotRenderer>;
|
|
19
|
-
/**
|
|
20
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The page's language, as a language tag (`ar`, `es`, `pt-BR`): the page's
|
|
21
|
+
* own words in it when the page keeps them, and the viewer's labels,
|
|
22
|
+
* validation messages and widget words in it when Fieldia has them (English,
|
|
23
|
+
* Arabic, German, French; English otherwise — and in the one-tag script,
|
|
24
|
+
* English until the language's own script is loaded: `fieldia.ar.js`, …).
|
|
25
|
+
* A language written right to left runs right to left. The language the
|
|
26
|
+
* page is written in unless said.
|
|
27
|
+
*/
|
|
28
|
+
locale?: Locale | (string & {});
|
|
21
29
|
/** Labels that win over the language's defaults. */
|
|
22
30
|
labels?: Partial<ViewerLabels>;
|
|
23
31
|
dir?: 'ltr' | 'rtl';
|