@fieldia/widgets 0.10.0 → 0.12.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 +2 -1
- package/package.json +2 -2
- package/src/index.d.mts +2 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +6 -1
- package/src/index.js.map +1 -1
- package/src/index.mjs +2 -0
- package/src/index.mjs.map +1 -1
- package/src/lib/badge.d.mts +8 -0
- package/src/lib/badge.d.ts +8 -0
- package/src/lib/badge.js +37 -0
- package/src/lib/badge.js.map +1 -0
- package/src/lib/badge.mjs +33 -0
- package/src/lib/badge.mjs.map +1 -0
- package/src/lib/calendar.d.mts +3 -1
- package/src/lib/calendar.d.ts +3 -1
- package/src/lib/calendar.js +17 -1
- package/src/lib/calendar.js.map +1 -1
- package/src/lib/calendar.mjs +17 -1
- package/src/lib/calendar.mjs.map +1 -1
- package/src/lib/cards.js +12 -4
- package/src/lib/cards.js.map +1 -1
- package/src/lib/cards.mjs +13 -5
- package/src/lib/cards.mjs.map +1 -1
- package/src/lib/choice-images.js +1 -1
- package/src/lib/choice-images.js.map +1 -1
- package/src/lib/choice-images.mjs +1 -1
- package/src/lib/choice-images.mjs.map +1 -1
- package/src/lib/choice-tags.js +2 -2
- package/src/lib/choice-tags.js.map +1 -1
- package/src/lib/choice-tags.mjs +2 -2
- package/src/lib/choice-tags.mjs.map +1 -1
- package/src/lib/colour.d.mts +11 -0
- package/src/lib/colour.d.ts +11 -0
- package/src/lib/colour.js +114 -0
- package/src/lib/colour.js.map +1 -0
- package/src/lib/colour.mjs +110 -0
- package/src/lib/colour.mjs.map +1 -0
- package/src/lib/copy.d.mts +8 -0
- package/src/lib/copy.d.ts +8 -0
- package/src/lib/copy.js +58 -0
- package/src/lib/copy.js.map +1 -0
- package/src/lib/copy.mjs +54 -0
- package/src/lib/copy.mjs.map +1 -0
- package/src/lib/date-range.d.mts +2 -0
- package/src/lib/date-range.d.ts +2 -0
- package/src/lib/date-range.js +220 -0
- package/src/lib/date-range.js.map +1 -0
- package/src/lib/date-range.mjs +216 -0
- package/src/lib/date-range.mjs.map +1 -0
- package/src/lib/display.d.mts +25 -1
- package/src/lib/display.d.ts +25 -1
- package/src/lib/display.js +42 -2
- package/src/lib/display.js.map +1 -1
- package/src/lib/display.mjs +39 -2
- package/src/lib/display.mjs.map +1 -1
- package/src/lib/distribution.d.mts +13 -0
- package/src/lib/distribution.d.ts +13 -0
- package/src/lib/distribution.js +159 -0
- package/src/lib/distribution.js.map +1 -0
- package/src/lib/distribution.mjs +152 -0
- package/src/lib/distribution.mjs.map +1 -0
- package/src/lib/duration.d.mts +18 -0
- package/src/lib/duration.d.ts +18 -0
- package/src/lib/duration.js +137 -0
- package/src/lib/duration.js.map +1 -0
- package/src/lib/duration.mjs +128 -0
- package/src/lib/duration.mjs.map +1 -0
- package/src/lib/embed.d.mts +3 -0
- package/src/lib/embed.d.ts +3 -0
- package/src/lib/embed.js +97 -0
- package/src/lib/embed.js.map +1 -0
- package/src/lib/embed.mjs +92 -0
- package/src/lib/embed.mjs.map +1 -0
- package/src/lib/extras.js +6 -0
- package/src/lib/extras.js.map +1 -1
- package/src/lib/extras.mjs +6 -0
- package/src/lib/extras.mjs.map +1 -1
- package/src/lib/files.d.mts +11 -0
- package/src/lib/files.d.ts +11 -0
- package/src/lib/files.js +86 -9
- package/src/lib/files.js.map +1 -1
- package/src/lib/files.mjs +85 -9
- package/src/lib/files.mjs.map +1 -1
- package/src/lib/kind-parts.d.mts +4 -3
- package/src/lib/kind-parts.d.ts +4 -3
- package/src/lib/kind-parts.js +5 -3
- package/src/lib/kind-parts.js.map +1 -1
- package/src/lib/kind-parts.mjs +5 -3
- package/src/lib/kind-parts.mjs.map +1 -1
- package/src/lib/labels.d.mts +42 -0
- package/src/lib/labels.d.ts +42 -0
- package/src/lib/labels.js +32 -0
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +32 -0
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/layout-styles.d.mts +1 -1
- package/src/lib/layout-styles.d.ts +1 -1
- package/src/lib/layout-styles.js +2 -0
- package/src/lib/layout-styles.js.map +1 -1
- package/src/lib/layout-styles.mjs +2 -0
- package/src/lib/layout-styles.mjs.map +1 -1
- package/src/lib/lines.d.mts +12 -2
- package/src/lib/lines.d.ts +12 -2
- package/src/lib/lines.js +251 -15
- package/src/lib/lines.js.map +1 -1
- package/src/lib/lines.mjs +250 -16
- package/src/lib/lines.mjs.map +1 -1
- package/src/lib/links-table.d.mts +11 -0
- package/src/lib/links-table.d.ts +11 -0
- package/src/lib/links-table.js +116 -0
- package/src/lib/links-table.js.map +1 -0
- package/src/lib/links-table.mjs +112 -0
- package/src/lib/links-table.mjs.map +1 -0
- package/src/lib/locales/ar.js +32 -0
- package/src/lib/locales/ar.js.map +1 -1
- package/src/lib/locales/ar.mjs +32 -0
- package/src/lib/locales/ar.mjs.map +1 -1
- package/src/lib/locales/de.js +32 -0
- package/src/lib/locales/de.js.map +1 -1
- package/src/lib/locales/de.mjs +32 -0
- package/src/lib/locales/de.mjs.map +1 -1
- package/src/lib/locales/fr.js +32 -0
- package/src/lib/locales/fr.js.map +1 -1
- package/src/lib/locales/fr.mjs +32 -0
- package/src/lib/locales/fr.mjs.map +1 -1
- package/src/lib/payments.d.mts +2 -0
- package/src/lib/payments.d.ts +2 -0
- package/src/lib/payments.js +94 -0
- package/src/lib/payments.js.map +1 -0
- package/src/lib/payments.mjs +90 -0
- package/src/lib/payments.mjs.map +1 -0
- package/src/lib/popup.d.mts +11 -0
- package/src/lib/popup.d.ts +11 -0
- package/src/lib/popup.js +48 -0
- package/src/lib/popup.js.map +1 -0
- package/src/lib/popup.mjs +45 -0
- package/src/lib/popup.mjs.map +1 -0
- package/src/lib/priority.d.mts +10 -0
- package/src/lib/priority.d.ts +10 -0
- package/src/lib/priority.js +59 -0
- package/src/lib/priority.js.map +1 -0
- package/src/lib/priority.mjs +55 -0
- package/src/lib/priority.mjs.map +1 -0
- package/src/lib/progress.js +3 -0
- package/src/lib/progress.js.map +1 -1
- package/src/lib/progress.mjs +3 -0
- package/src/lib/progress.mjs.map +1 -1
- package/src/lib/properties.js +100 -9
- package/src/lib/properties.js.map +1 -1
- package/src/lib/properties.mjs +100 -9
- package/src/lib/properties.mjs.map +1 -1
- package/src/lib/read-text.d.mts +25 -0
- package/src/lib/read-text.d.ts +25 -0
- package/src/lib/read-text.js +102 -0
- package/src/lib/read-text.js.map +1 -0
- package/src/lib/read-text.mjs +98 -0
- package/src/lib/read-text.mjs.map +1 -0
- package/src/lib/relations.d.mts +12 -0
- package/src/lib/relations.d.ts +12 -0
- package/src/lib/relations.js +99 -8
- package/src/lib/relations.js.map +1 -1
- package/src/lib/relations.mjs +97 -8
- package/src/lib/relations.mjs.map +1 -1
- package/src/lib/slider.js +1 -1
- package/src/lib/slider.js.map +1 -1
- package/src/lib/slider.mjs +1 -1
- package/src/lib/slider.mjs.map +1 -1
- package/src/lib/state-dot.d.mts +2 -0
- package/src/lib/state-dot.d.ts +2 -0
- package/src/lib/state-dot.js +107 -0
- package/src/lib/state-dot.js.map +1 -0
- package/src/lib/state-dot.mjs +103 -0
- package/src/lib/state-dot.mjs.map +1 -0
- package/src/lib/statusbar.js +151 -14
- package/src/lib/statusbar.js.map +1 -1
- package/src/lib/statusbar.mjs +151 -14
- package/src/lib/statusbar.mjs.map +1 -1
- package/src/lib/styles-business.d.mts +8 -0
- package/src/lib/styles-business.d.ts +8 -0
- package/src/lib/styles-business.js +120 -0
- package/src/lib/styles-business.js.map +1 -0
- package/src/lib/styles-business.mjs +117 -0
- package/src/lib/styles-business.mjs.map +1 -0
- package/src/lib/styles-kinds.d.mts +1 -1
- package/src/lib/styles-kinds.d.ts +1 -1
- package/src/lib/styles-kinds.js +1 -1
- package/src/lib/styles-kinds.mjs +1 -1
- package/src/lib/styles-parts.d.mts +16 -0
- package/src/lib/styles-parts.d.ts +16 -0
- package/src/lib/styles-parts.js +69 -0
- package/src/lib/styles-parts.js.map +1 -0
- package/src/lib/styles-parts.mjs +66 -0
- package/src/lib/styles-parts.mjs.map +1 -0
- package/src/lib/styles-sheet.d.mts +6 -0
- package/src/lib/styles-sheet.d.ts +6 -0
- package/src/lib/styles-sheet.js +123 -0
- package/src/lib/styles-sheet.js.map +1 -0
- package/src/lib/styles-sheet.mjs +120 -0
- package/src/lib/styles-sheet.mjs.map +1 -0
- package/src/lib/styles.d.mts +10 -0
- package/src/lib/styles.d.ts +10 -0
- package/src/lib/styles.js +234 -19
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +233 -18
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/tax-totals.d.mts +2 -0
- package/src/lib/tax-totals.d.ts +2 -0
- package/src/lib/tax-totals.js +92 -0
- package/src/lib/tax-totals.js.map +1 -0
- package/src/lib/tax-totals.mjs +88 -0
- package/src/lib/tax-totals.mjs.map +1 -0
- package/src/lib/timer.d.mts +4 -0
- package/src/lib/timer.d.ts +4 -0
- package/src/lib/timer.js +62 -0
- package/src/lib/timer.js.map +1 -0
- package/src/lib/timer.mjs +57 -0
- package/src/lib/timer.mjs.map +1 -0
- package/src/lib/widgets.d.mts +18 -3
- package/src/lib/widgets.d.ts +18 -3
- package/src/lib/widgets.js +63 -5
- package/src/lib/widgets.js.map +1 -1
- package/src/lib/widgets.mjs +63 -5
- package/src/lib/widgets.mjs.map +1 -1
- package/src/lib/yes-no.js +1 -1
- package/src/lib/yes-no.js.map +1 -1
- package/src/lib/yes-no.mjs +1 -1
- package/src/lib/yes-no.mjs.map +1 -1
package/src/lib/kind-parts.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Locale } from '@fieldia/core';
|
|
1
|
+
import type { FieldNode, Locale } from '@fieldia/core';
|
|
2
2
|
import { type WidgetLabels } from './labels.mjs';
|
|
3
3
|
import type { WidgetState } from './widgets.mjs';
|
|
4
4
|
/**
|
|
@@ -37,9 +37,10 @@ export declare function announcer(make: Make): {
|
|
|
37
37
|
export declare const rightToLeft: (element: Element) => boolean;
|
|
38
38
|
/**
|
|
39
39
|
* "Clear selection", as Google Forms has it: under a single choice that need not be answered, once something is
|
|
40
|
-
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid.
|
|
40
|
+
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid. Never shown where the
|
|
41
|
+
* page's node says `options.clear: false`, as an ERP's radios have none, or where `offered` is false.
|
|
41
42
|
*/
|
|
42
|
-
export declare function clearSelection(document: Document, words: WidgetLabels, clear: () => void): {
|
|
43
|
+
export declare function clearSelection(document: Document, words: WidgetLabels, clear: () => void, node: FieldNode, offered?: boolean): {
|
|
43
44
|
button: HTMLButtonElement;
|
|
44
45
|
/** Whether the answer may be left out: not required, and not read-only. */
|
|
45
46
|
allow(state: WidgetState): void;
|
package/src/lib/kind-parts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Locale } from '@fieldia/core';
|
|
1
|
+
import type { FieldNode, Locale } from '@fieldia/core';
|
|
2
2
|
import { type WidgetLabels } from './labels';
|
|
3
3
|
import type { WidgetState } from './widgets';
|
|
4
4
|
/**
|
|
@@ -37,9 +37,10 @@ export declare function announcer(make: Make): {
|
|
|
37
37
|
export declare const rightToLeft: (element: Element) => boolean;
|
|
38
38
|
/**
|
|
39
39
|
* "Clear selection", as Google Forms has it: under a single choice that need not be answered, once something is
|
|
40
|
-
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid.
|
|
40
|
+
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid. Never shown where the
|
|
41
|
+
* page's node says `options.clear: false`, as an ERP's radios have none, or where `offered` is false.
|
|
41
42
|
*/
|
|
42
|
-
export declare function clearSelection(document: Document, words: WidgetLabels, clear: () => void): {
|
|
43
|
+
export declare function clearSelection(document: Document, words: WidgetLabels, clear: () => void, node: FieldNode, offered?: boolean): {
|
|
43
44
|
button: HTMLButtonElement;
|
|
44
45
|
/** Whether the answer may be left out: not required, and not read-only. */
|
|
45
46
|
allow(state: WidgetState): void;
|
package/src/lib/kind-parts.js
CHANGED
|
@@ -73,17 +73,19 @@ const rightToLeft = (element) => element.closest('[dir]')?.getAttribute('dir') =
|
|
|
73
73
|
exports.rightToLeft = rightToLeft;
|
|
74
74
|
/**
|
|
75
75
|
* "Clear selection", as Google Forms has it: under a single choice that need not be answered, once something is
|
|
76
|
-
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid.
|
|
76
|
+
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid. Never shown where the
|
|
77
|
+
* page's node says `options.clear: false`, as an ERP's radios have none, or where `offered` is false.
|
|
77
78
|
*/
|
|
78
|
-
function clearSelection(document, words, clear) {
|
|
79
|
+
function clearSelection(document, words, clear, node, offered = true) {
|
|
79
80
|
const button = maker(document)('button', { type: 'button', class: 'fd-choice-clear', hidden: '' }, words.clearSelection);
|
|
80
81
|
button.addEventListener('click', clear);
|
|
82
|
+
const wanted = offered && node.options?.clear !== false;
|
|
81
83
|
let open = false;
|
|
82
84
|
return {
|
|
83
85
|
button,
|
|
84
86
|
/** Whether the answer may be left out: not required, and not read-only. */
|
|
85
87
|
allow(state) {
|
|
86
|
-
open = !state.required && !state.readonly;
|
|
88
|
+
open = wanted && !state.required && !state.readonly;
|
|
87
89
|
},
|
|
88
90
|
show(picked) {
|
|
89
91
|
setHidden(button, !(open && picked));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kind-parts.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/kind-parts.ts"],"names":[],"mappings":";;;AAYA,sBAOC;AAeD,0BAIC;AAGD,8BAEC;AAGD,0BAEC;AAGD,sCAGC;AAGD,8BAUC;
|
|
1
|
+
{"version":3,"file":"kind-parts.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/kind-parts.ts"],"names":[],"mappings":"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"}
|
package/src/lib/kind-parts.mjs
CHANGED
|
@@ -59,17 +59,19 @@ export function announcer(make) {
|
|
|
59
59
|
export const rightToLeft = (element) => element.closest('[dir]')?.getAttribute('dir') === 'rtl';
|
|
60
60
|
/**
|
|
61
61
|
* "Clear selection", as Google Forms has it: under a single choice that need not be answered, once something is
|
|
62
|
-
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid.
|
|
62
|
+
* picked — a radio, once picked, cannot be unpicked; nor can a slider, once slid. Never shown where the
|
|
63
|
+
* page's node says `options.clear: false`, as an ERP's radios have none, or where `offered` is false.
|
|
63
64
|
*/
|
|
64
|
-
export function clearSelection(document, words, clear) {
|
|
65
|
+
export function clearSelection(document, words, clear, node, offered = true) {
|
|
65
66
|
const button = maker(document)('button', { type: 'button', class: 'fd-choice-clear', hidden: '' }, words.clearSelection);
|
|
66
67
|
button.addEventListener('click', clear);
|
|
68
|
+
const wanted = offered && node.options?.clear !== false;
|
|
67
69
|
let open = false;
|
|
68
70
|
return {
|
|
69
71
|
button,
|
|
70
72
|
/** Whether the answer may be left out: not required, and not read-only. */
|
|
71
73
|
allow(state) {
|
|
72
|
-
open = !state.required && !state.readonly;
|
|
74
|
+
open = wanted && !state.required && !state.readonly;
|
|
73
75
|
},
|
|
74
76
|
show(picked) {
|
|
75
77
|
setHidden(button, !(open && picked));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kind-parts.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/kind-parts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"kind-parts.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/kind-parts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAU5D,gEAAgE;AAChE,MAAM,UAAU,KAAK,CAAC,QAAkB;IACtC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9G,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,sHAAsH;AACtH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAgC,EAAE,MAA0B,EAAgB,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC;AAEpK,uCAAuC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,MAAuC,EAAE,EAAE,CAClF,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAExG;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,IAAY,EAAE,KAAoB;IAC1E,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO;IACjD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;;QAC7C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAC,OAAoB,EAAE,MAAe;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACzD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,OAAO,CAAC,OAAa,EAAE,IAAY;IACjD,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;AAC/D,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,KAAiD;IACnG,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7F,OAAO;QACL,OAAO;QACP,GAAG,CAAC,IAAY;YACd,oEAAoE;YACpE,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AAEzG;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,KAAmB,EAAE,KAAiB,EAAE,IAAe,EAAE,OAAO,GAAG,IAAI;IACxH,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACzH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC;IACxD,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO;QACL,MAAM;QACN,2EAA2E;QAC3E,KAAK,CAAC,KAAkB;YACtB,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,MAAe;YAClB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU,EAAE,KAAmB;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,SAAiB,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAE,EAAE;QACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,CAAC,CAAC;IACF,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,OAAO;QACL,OAAO;QACP,GAAG,CAAC,IAAY,EAAE,MAAiC;YACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,IAAI,GAAG,MAAM,CAAC;YACd,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/src/lib/labels.d.mts
CHANGED
|
@@ -25,6 +25,13 @@ export interface WidgetLabels {
|
|
|
25
25
|
openNamed: string;
|
|
26
26
|
/** The button that opens a line of a table in a dialog. */
|
|
27
27
|
openLine: string;
|
|
28
|
+
/** A table's lines chosen for its buttons: the tick on a line (`{name}`), the tick choosing every line, and how many are chosen (`{n}`). */
|
|
29
|
+
chooseLine: string;
|
|
30
|
+
chooseAllLines: string;
|
|
31
|
+
linesChosen: string;
|
|
32
|
+
/** The button at a statusbar's end that holds its folded steps, and what it says of the time spent in a step (`{time}`). */
|
|
33
|
+
moreSteps: string;
|
|
34
|
+
timeInStep: string;
|
|
28
35
|
/** The button that lets a person hide or show a table's optional columns. */
|
|
29
36
|
chooseColumns: string;
|
|
30
37
|
/** The button beside a date that opens its calendar. */
|
|
@@ -87,6 +94,11 @@ export interface WidgetLabels {
|
|
|
87
94
|
close: string;
|
|
88
95
|
fileAt: string;
|
|
89
96
|
noPreview: string;
|
|
97
|
+
/** The switch over the files, when the page offers one: the files as a list, as cards, or as thumbnails. */
|
|
98
|
+
showFilesAs: string;
|
|
99
|
+
asList: string;
|
|
100
|
+
asCards: string;
|
|
101
|
+
asThumbnails: string;
|
|
90
102
|
invalidJson: string;
|
|
91
103
|
/** A signature: the pad, the words on it while it is blank, the box to type a name in instead, and wiping it. */
|
|
92
104
|
signaturePad: string;
|
|
@@ -130,6 +142,36 @@ export interface WidgetLabels {
|
|
|
130
142
|
ofMax: string;
|
|
131
143
|
/** How many more characters a box with a most takes, said to a screen reader once typing pauses. */
|
|
132
144
|
charactersLeft: string;
|
|
145
|
+
/** Flectra's twelve tag colours, kept by their number from 0 (none) to 11, split by |. */
|
|
146
|
+
colourNames: string;
|
|
147
|
+
/** The button that copies a value, and what it says once it has. */
|
|
148
|
+
copyValue: string;
|
|
149
|
+
copied: string;
|
|
150
|
+
/** A document shown inline, while there is none; a page shown inline, opened in a tab of its own. */
|
|
151
|
+
noDocument: string;
|
|
152
|
+
openInNewTab: string;
|
|
153
|
+
/** An analytic distribution: a line's account, its share, adding an account, and shares that do not add up to 100 % ({n}). */
|
|
154
|
+
account: string;
|
|
155
|
+
share: string;
|
|
156
|
+
addAccount: string;
|
|
157
|
+
sharesOff: string;
|
|
158
|
+
/** Tax totals: the amount before tax. */
|
|
159
|
+
untaxed: string;
|
|
160
|
+
/** A list of payments: each one's date ({date}), the amount still due, a payment's details ({amount}), and opening it. */
|
|
161
|
+
paidOn: string;
|
|
162
|
+
amountDue: string;
|
|
163
|
+
paymentOf: string;
|
|
164
|
+
journal: string;
|
|
165
|
+
memo: string;
|
|
166
|
+
openPayment: string;
|
|
167
|
+
/** Properties: adding one in place — its name, its kind (the kinds split by |: text, long text, whole number, number, yes or no, date), Add and Cancel — and while their definitions load. */
|
|
168
|
+
addProperty: string;
|
|
169
|
+
propertyName: string;
|
|
170
|
+
propertyType: string;
|
|
171
|
+
propertyTypes: string;
|
|
172
|
+
add: string;
|
|
173
|
+
cancel: string;
|
|
174
|
+
loading: string;
|
|
133
175
|
}
|
|
134
176
|
/**
|
|
135
177
|
* The widgets' words in every language Fieldia has. This package holds all
|
package/src/lib/labels.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ export interface WidgetLabels {
|
|
|
25
25
|
openNamed: string;
|
|
26
26
|
/** The button that opens a line of a table in a dialog. */
|
|
27
27
|
openLine: string;
|
|
28
|
+
/** A table's lines chosen for its buttons: the tick on a line (`{name}`), the tick choosing every line, and how many are chosen (`{n}`). */
|
|
29
|
+
chooseLine: string;
|
|
30
|
+
chooseAllLines: string;
|
|
31
|
+
linesChosen: string;
|
|
32
|
+
/** The button at a statusbar's end that holds its folded steps, and what it says of the time spent in a step (`{time}`). */
|
|
33
|
+
moreSteps: string;
|
|
34
|
+
timeInStep: string;
|
|
28
35
|
/** The button that lets a person hide or show a table's optional columns. */
|
|
29
36
|
chooseColumns: string;
|
|
30
37
|
/** The button beside a date that opens its calendar. */
|
|
@@ -87,6 +94,11 @@ export interface WidgetLabels {
|
|
|
87
94
|
close: string;
|
|
88
95
|
fileAt: string;
|
|
89
96
|
noPreview: string;
|
|
97
|
+
/** The switch over the files, when the page offers one: the files as a list, as cards, or as thumbnails. */
|
|
98
|
+
showFilesAs: string;
|
|
99
|
+
asList: string;
|
|
100
|
+
asCards: string;
|
|
101
|
+
asThumbnails: string;
|
|
90
102
|
invalidJson: string;
|
|
91
103
|
/** A signature: the pad, the words on it while it is blank, the box to type a name in instead, and wiping it. */
|
|
92
104
|
signaturePad: string;
|
|
@@ -130,6 +142,36 @@ export interface WidgetLabels {
|
|
|
130
142
|
ofMax: string;
|
|
131
143
|
/** How many more characters a box with a most takes, said to a screen reader once typing pauses. */
|
|
132
144
|
charactersLeft: string;
|
|
145
|
+
/** Flectra's twelve tag colours, kept by their number from 0 (none) to 11, split by |. */
|
|
146
|
+
colourNames: string;
|
|
147
|
+
/** The button that copies a value, and what it says once it has. */
|
|
148
|
+
copyValue: string;
|
|
149
|
+
copied: string;
|
|
150
|
+
/** A document shown inline, while there is none; a page shown inline, opened in a tab of its own. */
|
|
151
|
+
noDocument: string;
|
|
152
|
+
openInNewTab: string;
|
|
153
|
+
/** An analytic distribution: a line's account, its share, adding an account, and shares that do not add up to 100 % ({n}). */
|
|
154
|
+
account: string;
|
|
155
|
+
share: string;
|
|
156
|
+
addAccount: string;
|
|
157
|
+
sharesOff: string;
|
|
158
|
+
/** Tax totals: the amount before tax. */
|
|
159
|
+
untaxed: string;
|
|
160
|
+
/** A list of payments: each one's date ({date}), the amount still due, a payment's details ({amount}), and opening it. */
|
|
161
|
+
paidOn: string;
|
|
162
|
+
amountDue: string;
|
|
163
|
+
paymentOf: string;
|
|
164
|
+
journal: string;
|
|
165
|
+
memo: string;
|
|
166
|
+
openPayment: string;
|
|
167
|
+
/** Properties: adding one in place — its name, its kind (the kinds split by |: text, long text, whole number, number, yes or no, date), Add and Cancel — and while their definitions load. */
|
|
168
|
+
addProperty: string;
|
|
169
|
+
propertyName: string;
|
|
170
|
+
propertyType: string;
|
|
171
|
+
propertyTypes: string;
|
|
172
|
+
add: string;
|
|
173
|
+
cancel: string;
|
|
174
|
+
loading: string;
|
|
133
175
|
}
|
|
134
176
|
/**
|
|
135
177
|
* The widgets' words in every language Fieldia has. This package holds all
|
package/src/lib/labels.js
CHANGED
|
@@ -22,6 +22,11 @@ const en = {
|
|
|
22
22
|
searchMore: 'Search more…',
|
|
23
23
|
openNamed: 'Open {name}',
|
|
24
24
|
openLine: 'Open line',
|
|
25
|
+
chooseLine: 'Choose {name}',
|
|
26
|
+
chooseAllLines: 'Choose every line',
|
|
27
|
+
linesChosen: '{n} chosen',
|
|
28
|
+
moreSteps: 'More',
|
|
29
|
+
timeInStep: '{time} in this step',
|
|
25
30
|
chooseDate: 'Choose a date',
|
|
26
31
|
other: 'Other:',
|
|
27
32
|
otherAnswer: 'Your own answer',
|
|
@@ -71,6 +76,10 @@ const en = {
|
|
|
71
76
|
close: 'Close',
|
|
72
77
|
fileAt: '{n} of {total}',
|
|
73
78
|
noPreview: 'No preview for this kind of file',
|
|
79
|
+
showFilesAs: 'Show files as',
|
|
80
|
+
asList: 'List',
|
|
81
|
+
asCards: 'Cards',
|
|
82
|
+
asThumbnails: 'Thumbnails',
|
|
74
83
|
invalidJson: 'Not valid JSON',
|
|
75
84
|
signaturePad: 'Signature pad: draw your signature',
|
|
76
85
|
signHere: 'Sign here',
|
|
@@ -101,6 +110,29 @@ const en = {
|
|
|
101
110
|
keepOrder: 'Keep this order',
|
|
102
111
|
ofMax: '{n} of {max}',
|
|
103
112
|
charactersLeft: 'Characters left: {n}',
|
|
113
|
+
colourNames: 'No colour|Red|Orange|Yellow|Cyan|Purple|Almond|Teal|Blue|Raspberry|Green|Violet',
|
|
114
|
+
copyValue: 'Copy',
|
|
115
|
+
copied: 'Copied',
|
|
116
|
+
noDocument: 'No document yet',
|
|
117
|
+
openInNewTab: 'Open in a new tab',
|
|
118
|
+
account: 'Account',
|
|
119
|
+
share: 'Percentage',
|
|
120
|
+
addAccount: 'Add an account',
|
|
121
|
+
sharesOff: 'The shares add up to {n}, not 100%',
|
|
122
|
+
untaxed: 'Untaxed amount',
|
|
123
|
+
paidOn: 'Paid on {date}',
|
|
124
|
+
amountDue: 'Amount due',
|
|
125
|
+
paymentOf: 'Payment of {amount}',
|
|
126
|
+
journal: 'Journal',
|
|
127
|
+
memo: 'Memo',
|
|
128
|
+
openPayment: 'Open',
|
|
129
|
+
addProperty: 'Add a property',
|
|
130
|
+
propertyName: 'Property name',
|
|
131
|
+
propertyType: 'Kind',
|
|
132
|
+
propertyTypes: 'Text|Long text|Whole number|Number|Yes or no|Date',
|
|
133
|
+
add: 'Add',
|
|
134
|
+
cancel: 'Cancel',
|
|
135
|
+
loading: 'Loading…',
|
|
104
136
|
};
|
|
105
137
|
/**
|
|
106
138
|
* The widgets' words in every language Fieldia has. This package holds all
|
package/src/lib/labels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":";;;AACA,uCAA0C;
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"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"}
|
package/src/lib/labels.mjs
CHANGED
|
@@ -19,6 +19,11 @@ const en = {
|
|
|
19
19
|
searchMore: 'Search more…',
|
|
20
20
|
openNamed: 'Open {name}',
|
|
21
21
|
openLine: 'Open line',
|
|
22
|
+
chooseLine: 'Choose {name}',
|
|
23
|
+
chooseAllLines: 'Choose every line',
|
|
24
|
+
linesChosen: '{n} chosen',
|
|
25
|
+
moreSteps: 'More',
|
|
26
|
+
timeInStep: '{time} in this step',
|
|
22
27
|
chooseDate: 'Choose a date',
|
|
23
28
|
other: 'Other:',
|
|
24
29
|
otherAnswer: 'Your own answer',
|
|
@@ -68,6 +73,10 @@ const en = {
|
|
|
68
73
|
close: 'Close',
|
|
69
74
|
fileAt: '{n} of {total}',
|
|
70
75
|
noPreview: 'No preview for this kind of file',
|
|
76
|
+
showFilesAs: 'Show files as',
|
|
77
|
+
asList: 'List',
|
|
78
|
+
asCards: 'Cards',
|
|
79
|
+
asThumbnails: 'Thumbnails',
|
|
71
80
|
invalidJson: 'Not valid JSON',
|
|
72
81
|
signaturePad: 'Signature pad: draw your signature',
|
|
73
82
|
signHere: 'Sign here',
|
|
@@ -98,6 +107,29 @@ const en = {
|
|
|
98
107
|
keepOrder: 'Keep this order',
|
|
99
108
|
ofMax: '{n} of {max}',
|
|
100
109
|
charactersLeft: 'Characters left: {n}',
|
|
110
|
+
colourNames: 'No colour|Red|Orange|Yellow|Cyan|Purple|Almond|Teal|Blue|Raspberry|Green|Violet',
|
|
111
|
+
copyValue: 'Copy',
|
|
112
|
+
copied: 'Copied',
|
|
113
|
+
noDocument: 'No document yet',
|
|
114
|
+
openInNewTab: 'Open in a new tab',
|
|
115
|
+
account: 'Account',
|
|
116
|
+
share: 'Percentage',
|
|
117
|
+
addAccount: 'Add an account',
|
|
118
|
+
sharesOff: 'The shares add up to {n}, not 100%',
|
|
119
|
+
untaxed: 'Untaxed amount',
|
|
120
|
+
paidOn: 'Paid on {date}',
|
|
121
|
+
amountDue: 'Amount due',
|
|
122
|
+
paymentOf: 'Payment of {amount}',
|
|
123
|
+
journal: 'Journal',
|
|
124
|
+
memo: 'Memo',
|
|
125
|
+
openPayment: 'Open',
|
|
126
|
+
addProperty: 'Add a property',
|
|
127
|
+
propertyName: 'Property name',
|
|
128
|
+
propertyType: 'Kind',
|
|
129
|
+
propertyTypes: 'Text|Long text|Whole number|Number|Yes or no|Date',
|
|
130
|
+
add: 'Add',
|
|
131
|
+
cancel: 'Cancel',
|
|
132
|
+
loading: 'Loading…',
|
|
101
133
|
};
|
|
102
134
|
/**
|
|
103
135
|
* The widgets' words in every language Fieldia has. This package holds all
|
package/src/lib/labels.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"labels.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Logical properties throughout, so right to left mirrors on its own.
|
|
10
10
|
*/
|
|
11
|
-
export declare const LAYOUT_CSS = "\n/* ---- arrangements: parts side by side or one under another, nothing drawn round them ---- */\n/* On its grid's columns: the grid's own tracks and gaps, so its parts line up with everything above and below. */\n.fd-grid > .fd-section[data-place=\"tracks\"] {\n /* The columns it covers: its span, never more than its grid has at this width. */\n --fd-tracks: min(var(--fd-span, 1), var(--fd-cols));\n grid-template-columns: subgrid;\n column-gap: var(--fd-gap-x);\n}\n.fd-form .fd-section[data-place=\"tracks\"] > .fd-grid { --fd-cols: var(--fd-tracks); grid-column: 1 / -1; grid-template-columns: subgrid; }\n.fd-section[data-place] > .fd-section-description { grid-column: 1 / -1; }\n/* Parts sharing one cell, side by side; one under the other where the cell is too narrow for that. */\n.fd-grid > .fd-section[data-place=\"shared\"] { container-type: inline-size; }\n.fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: var(--fd-columns, 1); }\n@container (max-width: 330px) {\n .fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: 1; }\n}\n\n/* ---- how a group is drawn: a card, plain, a line under its title, or a frame round it ---- */\n/* A group of its own paints the ground it stands on, so nothing of the grid round it shows through. */\n.fd-form { --fd-ground: transparent; }\n.fd-card, .fd-form[data-fd-skin=\"outlined\"] .fd-section[data-style=\"card\"][data-on-page] { --fd-ground: var(--fd-surface); }\nfieldset.fd-section[data-style] { background-color: var(--fd-ground); }\n.fd-form .fd-section[data-style=\"line\"] > .fd-section-title { border-block-end: 1px solid var(--fd-border); padding-block-end: 8px; }\n.fd-form .fd-section[data-style=\"plain\"] > .fd-section-title { border-block-end: 0; padding-block-end: 0; }\n.fd-form .fd-section[data-style=\"framed\"] {\n border: 1px solid var(--fd-border); border-radius: var(--fd-control-radius); padding: 6px 18px 18px;\n}\n/* The title sits on the frame, as a fieldset's legend does: the frame breaks round it. */\n.fd-form .fd-section[data-style=\"framed\"] > .fd-section-title {\n float: none; width: auto; max-width: 100%; padding: 0 6px; margin-inline-start: -6px; border: 0;\n}\n\n/* ---- where labels sit: as the page, a group or the field itself says (data-labels), in either skin ---- */\n.fd-form .fd-field[data-labels] { grid-template-columns: minmax(0, 1fr); }\n.fd-form .fd-field[data-labels] > * { grid-column: 1 / -1; }\n/* Beside: the label in a column of its own while the field has room for both. In a cell narrower\n than that the label goes back above its box, so the box is never crushed. */\n.fd-form .fd-field[data-labels=\"beside\"] {\n container-type: inline-size;\n grid-template-columns: minmax(0, var(--fd-label-width, 140px)) minmax(0, 1fr);\n column-gap: 14px;\n}\n@container (min-width: 300px) {\n .fd-form .fd-field[data-labels=\"beside\"] > .fd-label {\n grid-column: 1; align-self: start; padding-block-start: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n }\n .fd-form .fd-field[data-labels=\"beside\"] > :not(.fd-label) { grid-column: 2; }\n}\n/* Hidden: out of sight, still the box's name for a screen reader; the empty box shows it instead. */\n.fd-form .fd-field[data-labels=\"hidden\"] > .fd-label {\n position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;\n}\n/* After: a tick box, then its words on the same line, as a sentence; its help and messages under the words. They\n drop to sit level with the boxes beside them in a row, by margins: the field's own padding is left to whoever\n draws round it (a designer's canvas rings a part there). */\n.fd-form .fd-field[data-labels=\"after\"] {\n grid-template-columns: auto minmax(0, 1fr); column-gap: 9px; align-items: start;\n --fd-tick-drop: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n}\n/* The box, or what holds it (a designer's canvas wraps each answer box). */\n.fd-form .fd-field[data-labels=\"after\"] > :is(.fd-tick, :has(> .fd-tick)) { grid-column: 1; grid-row: 1; display: flex; margin-block-start: calc(var(--fd-tick-drop) + (1.45em - 17px) / 2); }\n.fd-form .fd-field[data-labels=\"after\"] .fd-tick { width: 17px; height: 17px; }\n.fd-form .fd-field[data-labels=\"after\"] > :not(.fd-tick, :has(> .fd-tick)) { grid-column: 2; }\n.fd-form .fd-field[data-labels=\"after\"] > .fd-label { grid-row: 1; margin-block-start: var(--fd-tick-drop); font-weight: inherit; line-height: 1.45; cursor: pointer; }\n/* A field or a cell that measures itself is drawn over its neighbours while it is worked in: its lists and calendars open over them. */\n.fd-form .fd-field[data-labels=\"beside\"]:focus-within, .fd-grid > .fd-section[data-place=\"shared\"]:focus-within { z-index: 3; }\n\n/* ---- widths for tabs, words and buttons: they span columns like fields; a button stays as wide as its words ---- */\n:is(.fd-grid, .fd-sections) > .fd-button { justify-self: start; }\n/* A note: words set apart in a soft panel, a shade off whatever it stands on \u2014 a card, the page, or the dark. */\n.fd-form .fd-text-note { background: color-mix(in srgb, var(--fd-text) 6%, transparent); color: var(--fd-text); border-radius: var(--fd-control-radius, 6px); padding: 10px 12px; }\n\n/* ---- the page's look: worn by the form, and by a dialog it opens (its box and the page in it) ---- */\n:is(.fd-form, .fd-form-dialog)[data-font=\"serif\"] { --fd-font: \"Source Serif 4\", Georgia, serif; }\n:is(.fd-form, .fd-form-dialog)[data-font=\"rounded\"] { --fd-font: Nunito, \"Varela Round\", system-ui; }\n/* Room between and inside parts: gaps, the height of a box, a group's padding, the space between groups. */\n:is(.fd-form, .fd-form-dialog)[data-density=\"compact\"] { --fd-gap-y: 10px; --fd-gap-x: 16px; --fd-control-height: 30px; --fd-gap-block: 16px; --fd-group-pad: 14px 16px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"comfortable\"] { --fd-gap-y: 16px; --fd-gap-x: 20px; --fd-control-height: 36px; --fd-gap-block: 22px; --fd-group-pad: 18px 22px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"roomy\"] { --fd-gap-y: 22px; --fd-gap-x: 28px; --fd-control-height: 42px; --fd-gap-block: 30px; --fd-group-pad: 24px 30px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"square\"] { --fd-radius: 0px; --fd-control-radius: 0px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"soft\"] { --fd-radius: 10px; --fd-control-radius: 6px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"round\"] { --fd-radius: 16px; --fd-control-radius: 12px; }\n\n/* Light or dark: a page that names its scheme paints its own ground, so it reads the same on any page round it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); --fd-ground: var(--fd-page); }\n.fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 20px; }\n/* A page in a dialog paints no ground of its own and adds no room: the dialog is its ground. */\n.fd-form-dialog-body > .fd-form[data-scheme] { background: none; border-radius: 0; }\n.fd-form-dialog-body > .fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 0; }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n}\n/* Auto follows the reader's system: the same dark tokens, when it is dark. */\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n }\n}\n\n/* The page's accent, and the softer and hover shades mixed from it on whatever surface the scheme has. */\n:is(.fd-form, .fd-form-dialog)[data-accent] {\n --fd-accent: var(--fd-look-accent);\n --fd-accent-text: var(--fd-look-accent-text);\n --fd-focus: var(--fd-look-accent);\n --fd-accent-soft: color-mix(in srgb, var(--fd-accent) 12%, var(--fd-surface));\n --fd-accent-hover: color-mix(in srgb, var(--fd-accent) 84%, var(--fd-text));\n}\n/* On a dark page, the accent the viewer lightened, when it had to be, so it still reads there. */\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n}\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n }\n}\n:is(.fd-form, .fd-form-dialog)[data-fd-skin=\"outlined\"][data-accent] { --fd-focus-ring: 0 0 0 2px color-mix(in srgb, var(--fd-accent) 22%, transparent); }\n:is(.fd-form, .fd-form-dialog)[data-accent] .fd-button-primary:hover { filter: none; background: var(--fd-accent-hover); border-color: var(--fd-accent-hover); }\n/* A band of the accent under the page's title. */\n.fd-form[data-accent] .fd-page-head { border-block-end: 3px solid var(--fd-accent); padding-block-end: 14px; }\n";
|
|
11
|
+
export declare const LAYOUT_CSS = "\n/* ---- arrangements: parts side by side or one under another, nothing drawn round them ---- */\n/* On its grid's columns: the grid's own tracks and gaps, so its parts line up with everything above and below. */\n.fd-grid > .fd-section[data-place=\"tracks\"] {\n /* The columns it covers: its span, never more than its grid has at this width. */\n --fd-tracks: min(var(--fd-span, 1), var(--fd-cols));\n grid-template-columns: subgrid;\n column-gap: var(--fd-gap-x);\n}\n.fd-form .fd-section[data-place=\"tracks\"] > .fd-grid { --fd-cols: var(--fd-tracks); grid-column: 1 / -1; grid-template-columns: subgrid; }\n.fd-section[data-place] > .fd-section-description { grid-column: 1 / -1; }\n/* Parts sharing one cell, side by side; one under the other where the cell is too narrow for that. */\n.fd-grid > .fd-section[data-place=\"shared\"] { container-type: inline-size; }\n.fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: var(--fd-columns, 1); }\n@container (max-width: 330px) {\n .fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: 1; }\n}\n\n/* ---- how a group is drawn: a card, plain, a line under its title, or a frame round it ---- */\n/* A group of its own paints the ground it stands on, so nothing of the grid round it shows through. */\n.fd-form { --fd-ground: transparent; }\n.fd-card, .fd-form[data-fd-skin=\"outlined\"] .fd-section[data-style=\"card\"][data-on-page] { --fd-ground: var(--fd-surface); }\nfieldset.fd-section[data-style] { background-color: var(--fd-ground); }\n.fd-form .fd-section[data-style=\"line\"] > .fd-section-title { border-block-end: 1px solid var(--fd-border); padding-block-end: 8px; }\n.fd-form .fd-section[data-style=\"plain\"] > .fd-section-title { border-block-end: 0; padding-block-end: 0; }\n.fd-form .fd-section[data-style=\"framed\"] {\n border: 1px solid var(--fd-border); border-radius: var(--fd-control-radius); padding: 6px 18px 18px;\n}\n/* The title sits on the frame, as a fieldset's legend does: the frame breaks round it. */\n.fd-form .fd-section[data-style=\"framed\"] > .fd-section-title {\n float: none; width: auto; max-width: 100%; padding: 0 6px; margin-inline-start: -6px; border: 0;\n}\n\n/* ---- where labels sit: as the page, a group or the field itself says (data-labels), in either skin ---- */\n.fd-form .fd-field[data-labels] { grid-template-columns: minmax(0, 1fr); }\n.fd-form .fd-field[data-labels] > * { grid-column: 1 / -1; }\n/* Beside: the label in a column of its own while the field has room for both. In a cell narrower\n than that the label goes back above its box, so the box is never crushed. */\n.fd-form .fd-field[data-labels=\"beside\"] {\n container-type: inline-size;\n grid-template-columns: minmax(0, var(--fd-label-width, 140px)) minmax(0, 1fr);\n column-gap: 14px;\n}\n@container (min-width: 300px) {\n .fd-form .fd-field[data-labels=\"beside\"] > .fd-label {\n grid-column: 1; align-self: start; padding-block-start: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n }\n .fd-form .fd-field[data-labels=\"beside\"] > :not(.fd-label) { grid-column: 2; }\n}\n/* Hidden: out of sight, still the box's name for a screen reader; the empty box shows it instead. */\n.fd-form .fd-field[data-labels=\"hidden\"] > .fd-label {\n position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;\n}\n/* After: a tick box, then its words on the same line, as a sentence; its help and messages under the words. They\n drop to sit level with the boxes beside them in a row, by margins: the field's own padding is left to whoever\n draws round it (a designer's canvas rings a part there). */\n.fd-form .fd-field[data-labels=\"after\"] {\n grid-template-columns: auto minmax(0, 1fr); column-gap: 9px; align-items: start;\n --fd-tick-drop: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n}\n/* The box, or what holds it (a designer's canvas wraps each answer box). */\n.fd-form .fd-field[data-labels=\"after\"] > :is(.fd-tick, :has(> .fd-tick)) { grid-column: 1; grid-row: 1; display: flex; margin-block-start: calc(var(--fd-tick-drop) + (1.45em - 17px) / 2); }\n.fd-form .fd-field[data-labels=\"after\"] .fd-tick { width: 17px; height: 17px; }\n.fd-form .fd-field[data-labels=\"after\"] > :not(.fd-tick, :has(> .fd-tick)) { grid-column: 2; }\n.fd-form .fd-field[data-labels=\"after\"] > .fd-label { grid-row: 1; margin-block-start: var(--fd-tick-drop); font-weight: inherit; line-height: 1.45; cursor: pointer; }\n/* A field or a cell that measures itself is drawn over its neighbours while it is worked in: its lists and calendars open over them. */\n.fd-form .fd-field[data-labels=\"beside\"]:focus-within, .fd-grid > .fd-section[data-place=\"shared\"]:focus-within { z-index: 3; }\n\n/* ---- widths for tabs, words and buttons: they span columns like fields; a button stays as wide as its words ---- */\n:is(.fd-grid, .fd-sections) > .fd-button { justify-self: start; }\n/* A note: words set apart in a soft panel, a shade off whatever it stands on \u2014 a card, the page, or the dark. */\n.fd-form .fd-text-note { background: color-mix(in srgb, var(--fd-text) 6%, transparent); color: var(--fd-text); border-radius: var(--fd-control-radius, 6px); padding: 10px 12px; }\n\n/* ---- the page's look: worn by the form, and by a dialog it opens (its box and the page in it) ---- */\n:is(.fd-form, .fd-form-dialog)[data-font=\"serif\"] { --fd-font: \"Source Serif 4\", Georgia, serif; }\n:is(.fd-form, .fd-form-dialog)[data-font=\"rounded\"] { --fd-font: Nunito, \"Varela Round\", system-ui; }\n/* Room between and inside parts: gaps, the height of a box, a group's padding, the space between groups. */\n:is(.fd-form, .fd-form-dialog)[data-density=\"compact\"] { --fd-gap-y: 10px; --fd-gap-x: 16px; --fd-control-height: 30px; --fd-gap-block: 16px; --fd-group-pad: 14px 16px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"comfortable\"] { --fd-gap-y: 16px; --fd-gap-x: 20px; --fd-control-height: 36px; --fd-gap-block: 22px; --fd-group-pad: 18px 22px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"roomy\"] { --fd-gap-y: 22px; --fd-gap-x: 28px; --fd-control-height: 42px; --fd-gap-block: 30px; --fd-group-pad: 24px 30px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"square\"] { --fd-radius: 0px; --fd-control-radius: 0px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"soft\"] { --fd-radius: 10px; --fd-control-radius: 6px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"round\"] { --fd-radius: 16px; --fd-control-radius: 12px; }\n\n/* Light or dark: a page that names its scheme paints its own ground, so it reads the same on any page round it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); --fd-ground: var(--fd-page); }\n.fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 20px; }\n/* A page in a dialog paints no ground of its own and adds no room: the dialog is its ground. */\n.fd-form-dialog-body > .fd-form[data-scheme] { background: none; border-radius: 0; }\n.fd-form-dialog-body > .fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 0; }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n --fd-edge: #59616c;\n}\n/* Auto follows the reader's system: the same dark tokens, when it is dark. */\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n --fd-edge: #59616c;\n }\n}\n\n/* The page's accent, and the softer and hover shades mixed from it on whatever surface the scheme has. */\n:is(.fd-form, .fd-form-dialog)[data-accent] {\n --fd-accent: var(--fd-look-accent);\n --fd-accent-text: var(--fd-look-accent-text);\n --fd-focus: var(--fd-look-accent);\n --fd-accent-soft: color-mix(in srgb, var(--fd-accent) 12%, var(--fd-surface));\n --fd-accent-hover: color-mix(in srgb, var(--fd-accent) 84%, var(--fd-text));\n}\n/* On a dark page, the accent the viewer lightened, when it had to be, so it still reads there. */\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n}\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n }\n}\n:is(.fd-form, .fd-form-dialog)[data-fd-skin=\"outlined\"][data-accent] { --fd-focus-ring: 0 0 0 2px color-mix(in srgb, var(--fd-accent) 22%, transparent); }\n:is(.fd-form, .fd-form-dialog)[data-accent] .fd-button-primary:hover { filter: none; background: var(--fd-accent-hover); border-color: var(--fd-accent-hover); }\n/* A band of the accent under the page's title. */\n.fd-form[data-accent] .fd-page-head { border-block-end: 3px solid var(--fd-accent); padding-block-end: 14px; }\n";
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Logical properties throughout, so right to left mirrors on its own.
|
|
10
10
|
*/
|
|
11
|
-
export declare const LAYOUT_CSS = "\n/* ---- arrangements: parts side by side or one under another, nothing drawn round them ---- */\n/* On its grid's columns: the grid's own tracks and gaps, so its parts line up with everything above and below. */\n.fd-grid > .fd-section[data-place=\"tracks\"] {\n /* The columns it covers: its span, never more than its grid has at this width. */\n --fd-tracks: min(var(--fd-span, 1), var(--fd-cols));\n grid-template-columns: subgrid;\n column-gap: var(--fd-gap-x);\n}\n.fd-form .fd-section[data-place=\"tracks\"] > .fd-grid { --fd-cols: var(--fd-tracks); grid-column: 1 / -1; grid-template-columns: subgrid; }\n.fd-section[data-place] > .fd-section-description { grid-column: 1 / -1; }\n/* Parts sharing one cell, side by side; one under the other where the cell is too narrow for that. */\n.fd-grid > .fd-section[data-place=\"shared\"] { container-type: inline-size; }\n.fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: var(--fd-columns, 1); }\n@container (max-width: 330px) {\n .fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: 1; }\n}\n\n/* ---- how a group is drawn: a card, plain, a line under its title, or a frame round it ---- */\n/* A group of its own paints the ground it stands on, so nothing of the grid round it shows through. */\n.fd-form { --fd-ground: transparent; }\n.fd-card, .fd-form[data-fd-skin=\"outlined\"] .fd-section[data-style=\"card\"][data-on-page] { --fd-ground: var(--fd-surface); }\nfieldset.fd-section[data-style] { background-color: var(--fd-ground); }\n.fd-form .fd-section[data-style=\"line\"] > .fd-section-title { border-block-end: 1px solid var(--fd-border); padding-block-end: 8px; }\n.fd-form .fd-section[data-style=\"plain\"] > .fd-section-title { border-block-end: 0; padding-block-end: 0; }\n.fd-form .fd-section[data-style=\"framed\"] {\n border: 1px solid var(--fd-border); border-radius: var(--fd-control-radius); padding: 6px 18px 18px;\n}\n/* The title sits on the frame, as a fieldset's legend does: the frame breaks round it. */\n.fd-form .fd-section[data-style=\"framed\"] > .fd-section-title {\n float: none; width: auto; max-width: 100%; padding: 0 6px; margin-inline-start: -6px; border: 0;\n}\n\n/* ---- where labels sit: as the page, a group or the field itself says (data-labels), in either skin ---- */\n.fd-form .fd-field[data-labels] { grid-template-columns: minmax(0, 1fr); }\n.fd-form .fd-field[data-labels] > * { grid-column: 1 / -1; }\n/* Beside: the label in a column of its own while the field has room for both. In a cell narrower\n than that the label goes back above its box, so the box is never crushed. */\n.fd-form .fd-field[data-labels=\"beside\"] {\n container-type: inline-size;\n grid-template-columns: minmax(0, var(--fd-label-width, 140px)) minmax(0, 1fr);\n column-gap: 14px;\n}\n@container (min-width: 300px) {\n .fd-form .fd-field[data-labels=\"beside\"] > .fd-label {\n grid-column: 1; align-self: start; padding-block-start: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n }\n .fd-form .fd-field[data-labels=\"beside\"] > :not(.fd-label) { grid-column: 2; }\n}\n/* Hidden: out of sight, still the box's name for a screen reader; the empty box shows it instead. */\n.fd-form .fd-field[data-labels=\"hidden\"] > .fd-label {\n position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;\n}\n/* After: a tick box, then its words on the same line, as a sentence; its help and messages under the words. They\n drop to sit level with the boxes beside them in a row, by margins: the field's own padding is left to whoever\n draws round it (a designer's canvas rings a part there). */\n.fd-form .fd-field[data-labels=\"after\"] {\n grid-template-columns: auto minmax(0, 1fr); column-gap: 9px; align-items: start;\n --fd-tick-drop: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n}\n/* The box, or what holds it (a designer's canvas wraps each answer box). */\n.fd-form .fd-field[data-labels=\"after\"] > :is(.fd-tick, :has(> .fd-tick)) { grid-column: 1; grid-row: 1; display: flex; margin-block-start: calc(var(--fd-tick-drop) + (1.45em - 17px) / 2); }\n.fd-form .fd-field[data-labels=\"after\"] .fd-tick { width: 17px; height: 17px; }\n.fd-form .fd-field[data-labels=\"after\"] > :not(.fd-tick, :has(> .fd-tick)) { grid-column: 2; }\n.fd-form .fd-field[data-labels=\"after\"] > .fd-label { grid-row: 1; margin-block-start: var(--fd-tick-drop); font-weight: inherit; line-height: 1.45; cursor: pointer; }\n/* A field or a cell that measures itself is drawn over its neighbours while it is worked in: its lists and calendars open over them. */\n.fd-form .fd-field[data-labels=\"beside\"]:focus-within, .fd-grid > .fd-section[data-place=\"shared\"]:focus-within { z-index: 3; }\n\n/* ---- widths for tabs, words and buttons: they span columns like fields; a button stays as wide as its words ---- */\n:is(.fd-grid, .fd-sections) > .fd-button { justify-self: start; }\n/* A note: words set apart in a soft panel, a shade off whatever it stands on \u2014 a card, the page, or the dark. */\n.fd-form .fd-text-note { background: color-mix(in srgb, var(--fd-text) 6%, transparent); color: var(--fd-text); border-radius: var(--fd-control-radius, 6px); padding: 10px 12px; }\n\n/* ---- the page's look: worn by the form, and by a dialog it opens (its box and the page in it) ---- */\n:is(.fd-form, .fd-form-dialog)[data-font=\"serif\"] { --fd-font: \"Source Serif 4\", Georgia, serif; }\n:is(.fd-form, .fd-form-dialog)[data-font=\"rounded\"] { --fd-font: Nunito, \"Varela Round\", system-ui; }\n/* Room between and inside parts: gaps, the height of a box, a group's padding, the space between groups. */\n:is(.fd-form, .fd-form-dialog)[data-density=\"compact\"] { --fd-gap-y: 10px; --fd-gap-x: 16px; --fd-control-height: 30px; --fd-gap-block: 16px; --fd-group-pad: 14px 16px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"comfortable\"] { --fd-gap-y: 16px; --fd-gap-x: 20px; --fd-control-height: 36px; --fd-gap-block: 22px; --fd-group-pad: 18px 22px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"roomy\"] { --fd-gap-y: 22px; --fd-gap-x: 28px; --fd-control-height: 42px; --fd-gap-block: 30px; --fd-group-pad: 24px 30px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"square\"] { --fd-radius: 0px; --fd-control-radius: 0px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"soft\"] { --fd-radius: 10px; --fd-control-radius: 6px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"round\"] { --fd-radius: 16px; --fd-control-radius: 12px; }\n\n/* Light or dark: a page that names its scheme paints its own ground, so it reads the same on any page round it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); --fd-ground: var(--fd-page); }\n.fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 20px; }\n/* A page in a dialog paints no ground of its own and adds no room: the dialog is its ground. */\n.fd-form-dialog-body > .fd-form[data-scheme] { background: none; border-radius: 0; }\n.fd-form-dialog-body > .fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 0; }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n}\n/* Auto follows the reader's system: the same dark tokens, when it is dark. */\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n }\n}\n\n/* The page's accent, and the softer and hover shades mixed from it on whatever surface the scheme has. */\n:is(.fd-form, .fd-form-dialog)[data-accent] {\n --fd-accent: var(--fd-look-accent);\n --fd-accent-text: var(--fd-look-accent-text);\n --fd-focus: var(--fd-look-accent);\n --fd-accent-soft: color-mix(in srgb, var(--fd-accent) 12%, var(--fd-surface));\n --fd-accent-hover: color-mix(in srgb, var(--fd-accent) 84%, var(--fd-text));\n}\n/* On a dark page, the accent the viewer lightened, when it had to be, so it still reads there. */\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n}\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n }\n}\n:is(.fd-form, .fd-form-dialog)[data-fd-skin=\"outlined\"][data-accent] { --fd-focus-ring: 0 0 0 2px color-mix(in srgb, var(--fd-accent) 22%, transparent); }\n:is(.fd-form, .fd-form-dialog)[data-accent] .fd-button-primary:hover { filter: none; background: var(--fd-accent-hover); border-color: var(--fd-accent-hover); }\n/* A band of the accent under the page's title. */\n.fd-form[data-accent] .fd-page-head { border-block-end: 3px solid var(--fd-accent); padding-block-end: 14px; }\n";
|
|
11
|
+
export declare const LAYOUT_CSS = "\n/* ---- arrangements: parts side by side or one under another, nothing drawn round them ---- */\n/* On its grid's columns: the grid's own tracks and gaps, so its parts line up with everything above and below. */\n.fd-grid > .fd-section[data-place=\"tracks\"] {\n /* The columns it covers: its span, never more than its grid has at this width. */\n --fd-tracks: min(var(--fd-span, 1), var(--fd-cols));\n grid-template-columns: subgrid;\n column-gap: var(--fd-gap-x);\n}\n.fd-form .fd-section[data-place=\"tracks\"] > .fd-grid { --fd-cols: var(--fd-tracks); grid-column: 1 / -1; grid-template-columns: subgrid; }\n.fd-section[data-place] > .fd-section-description { grid-column: 1 / -1; }\n/* Parts sharing one cell, side by side; one under the other where the cell is too narrow for that. */\n.fd-grid > .fd-section[data-place=\"shared\"] { container-type: inline-size; }\n.fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: var(--fd-columns, 1); }\n@container (max-width: 330px) {\n .fd-form .fd-section[data-place=\"shared\"] > .fd-grid { --fd-cols: 1; }\n}\n\n/* ---- how a group is drawn: a card, plain, a line under its title, or a frame round it ---- */\n/* A group of its own paints the ground it stands on, so nothing of the grid round it shows through. */\n.fd-form { --fd-ground: transparent; }\n.fd-card, .fd-form[data-fd-skin=\"outlined\"] .fd-section[data-style=\"card\"][data-on-page] { --fd-ground: var(--fd-surface); }\nfieldset.fd-section[data-style] { background-color: var(--fd-ground); }\n.fd-form .fd-section[data-style=\"line\"] > .fd-section-title { border-block-end: 1px solid var(--fd-border); padding-block-end: 8px; }\n.fd-form .fd-section[data-style=\"plain\"] > .fd-section-title { border-block-end: 0; padding-block-end: 0; }\n.fd-form .fd-section[data-style=\"framed\"] {\n border: 1px solid var(--fd-border); border-radius: var(--fd-control-radius); padding: 6px 18px 18px;\n}\n/* The title sits on the frame, as a fieldset's legend does: the frame breaks round it. */\n.fd-form .fd-section[data-style=\"framed\"] > .fd-section-title {\n float: none; width: auto; max-width: 100%; padding: 0 6px; margin-inline-start: -6px; border: 0;\n}\n\n/* ---- where labels sit: as the page, a group or the field itself says (data-labels), in either skin ---- */\n.fd-form .fd-field[data-labels] { grid-template-columns: minmax(0, 1fr); }\n.fd-form .fd-field[data-labels] > * { grid-column: 1 / -1; }\n/* Beside: the label in a column of its own while the field has room for both. In a cell narrower\n than that the label goes back above its box, so the box is never crushed. */\n.fd-form .fd-field[data-labels=\"beside\"] {\n container-type: inline-size;\n grid-template-columns: minmax(0, var(--fd-label-width, 140px)) minmax(0, 1fr);\n column-gap: 14px;\n}\n@container (min-width: 300px) {\n .fd-form .fd-field[data-labels=\"beside\"] > .fd-label {\n grid-column: 1; align-self: start; padding-block-start: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n }\n .fd-form .fd-field[data-labels=\"beside\"] > :not(.fd-label) { grid-column: 2; }\n}\n/* Hidden: out of sight, still the box's name for a screen reader; the empty box shows it instead. */\n.fd-form .fd-field[data-labels=\"hidden\"] > .fd-label {\n position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;\n}\n/* After: a tick box, then its words on the same line, as a sentence; its help and messages under the words. They\n drop to sit level with the boxes beside them in a row, by margins: the field's own padding is left to whoever\n draws round it (a designer's canvas rings a part there). */\n.fd-form .fd-field[data-labels=\"after\"] {\n grid-template-columns: auto minmax(0, 1fr); column-gap: 9px; align-items: start;\n --fd-tick-drop: max(0px, calc((var(--fd-control-height, 30px) - 1.45em) / 2));\n}\n/* The box, or what holds it (a designer's canvas wraps each answer box). */\n.fd-form .fd-field[data-labels=\"after\"] > :is(.fd-tick, :has(> .fd-tick)) { grid-column: 1; grid-row: 1; display: flex; margin-block-start: calc(var(--fd-tick-drop) + (1.45em - 17px) / 2); }\n.fd-form .fd-field[data-labels=\"after\"] .fd-tick { width: 17px; height: 17px; }\n.fd-form .fd-field[data-labels=\"after\"] > :not(.fd-tick, :has(> .fd-tick)) { grid-column: 2; }\n.fd-form .fd-field[data-labels=\"after\"] > .fd-label { grid-row: 1; margin-block-start: var(--fd-tick-drop); font-weight: inherit; line-height: 1.45; cursor: pointer; }\n/* A field or a cell that measures itself is drawn over its neighbours while it is worked in: its lists and calendars open over them. */\n.fd-form .fd-field[data-labels=\"beside\"]:focus-within, .fd-grid > .fd-section[data-place=\"shared\"]:focus-within { z-index: 3; }\n\n/* ---- widths for tabs, words and buttons: they span columns like fields; a button stays as wide as its words ---- */\n:is(.fd-grid, .fd-sections) > .fd-button { justify-self: start; }\n/* A note: words set apart in a soft panel, a shade off whatever it stands on \u2014 a card, the page, or the dark. */\n.fd-form .fd-text-note { background: color-mix(in srgb, var(--fd-text) 6%, transparent); color: var(--fd-text); border-radius: var(--fd-control-radius, 6px); padding: 10px 12px; }\n\n/* ---- the page's look: worn by the form, and by a dialog it opens (its box and the page in it) ---- */\n:is(.fd-form, .fd-form-dialog)[data-font=\"serif\"] { --fd-font: \"Source Serif 4\", Georgia, serif; }\n:is(.fd-form, .fd-form-dialog)[data-font=\"rounded\"] { --fd-font: Nunito, \"Varela Round\", system-ui; }\n/* Room between and inside parts: gaps, the height of a box, a group's padding, the space between groups. */\n:is(.fd-form, .fd-form-dialog)[data-density=\"compact\"] { --fd-gap-y: 10px; --fd-gap-x: 16px; --fd-control-height: 30px; --fd-gap-block: 16px; --fd-group-pad: 14px 16px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"comfortable\"] { --fd-gap-y: 16px; --fd-gap-x: 20px; --fd-control-height: 36px; --fd-gap-block: 22px; --fd-group-pad: 18px 22px; }\n:is(.fd-form, .fd-form-dialog)[data-density=\"roomy\"] { --fd-gap-y: 22px; --fd-gap-x: 28px; --fd-control-height: 42px; --fd-gap-block: 30px; --fd-group-pad: 24px 30px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"square\"] { --fd-radius: 0px; --fd-control-radius: 0px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"soft\"] { --fd-radius: 10px; --fd-control-radius: 6px; }\n:is(.fd-form, .fd-form-dialog)[data-corners=\"round\"] { --fd-radius: 16px; --fd-control-radius: 12px; }\n\n/* Light or dark: a page that names its scheme paints its own ground, so it reads the same on any page round it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); --fd-ground: var(--fd-page); }\n.fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 20px; }\n/* A page in a dialog paints no ground of its own and adds no room: the dialog is its ground. */\n.fd-form-dialog-body > .fd-form[data-scheme] { background: none; border-radius: 0; }\n.fd-form-dialog-body > .fd-form[data-scheme] > .fd-content:not(:has(> .fd-sheet-page)) { padding: 0; }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n --fd-edge: #59616c;\n}\n/* Auto follows the reader's system: the same dark tokens, when it is dark. */\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] {\n color-scheme: dark;\n --fd-text: #e8eaed;\n --fd-muted: #a3a9b2;\n --fd-page: #16191e;\n --fd-surface: #1f2329;\n --fd-border: #3a4048;\n --fd-border-strong: #59616c;\n --fd-accent: #5aa2ff;\n --fd-accent-text: #0b1220;\n --fd-accent-soft: rgba(90, 162, 255, 0.16);\n --fd-focus: #5aa2ff;\n --fd-error: #ff8a7a;\n --fd-error-soft: rgba(255, 138, 122, 0.13);\n --fd-success: #6fd08e;\n --fd-success-soft: rgba(111, 208, 142, 0.14);\n --fd-warning: #f2b55c;\n --fd-warning-soft: rgba(242, 181, 92, 0.13);\n --fd-info: #7db7ff;\n --fd-info-soft: rgba(90, 162, 255, 0.14);\n --fd-edge: #59616c;\n }\n}\n\n/* The page's accent, and the softer and hover shades mixed from it on whatever surface the scheme has. */\n:is(.fd-form, .fd-form-dialog)[data-accent] {\n --fd-accent: var(--fd-look-accent);\n --fd-accent-text: var(--fd-look-accent-text);\n --fd-focus: var(--fd-look-accent);\n --fd-accent-soft: color-mix(in srgb, var(--fd-accent) 12%, var(--fd-surface));\n --fd-accent-hover: color-mix(in srgb, var(--fd-accent) 84%, var(--fd-text));\n}\n/* On a dark page, the accent the viewer lightened, when it had to be, so it still reads there. */\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n}\n@media (prefers-color-scheme: dark) {\n :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"][data-accent] {\n --fd-accent: var(--fd-look-accent-dark);\n --fd-accent-text: var(--fd-look-accent-dark-text);\n --fd-focus: var(--fd-look-accent-dark);\n }\n}\n:is(.fd-form, .fd-form-dialog)[data-fd-skin=\"outlined\"][data-accent] { --fd-focus-ring: 0 0 0 2px color-mix(in srgb, var(--fd-accent) 22%, transparent); }\n:is(.fd-form, .fd-form-dialog)[data-accent] .fd-button-primary:hover { filter: none; background: var(--fd-accent-hover); border-color: var(--fd-accent-hover); }\n/* A band of the accent under the page's title. */\n.fd-form[data-accent] .fd-page-head { border-block-end: 3px solid var(--fd-accent); padding-block-end: 14px; }\n";
|
package/src/lib/layout-styles.js
CHANGED
|
@@ -121,6 +121,7 @@ fieldset.fd-section[data-style] { background-color: var(--fd-ground); }
|
|
|
121
121
|
--fd-warning-soft: rgba(242, 181, 92, 0.13);
|
|
122
122
|
--fd-info: #7db7ff;
|
|
123
123
|
--fd-info-soft: rgba(90, 162, 255, 0.14);
|
|
124
|
+
--fd-edge: #59616c;
|
|
124
125
|
}
|
|
125
126
|
/* Auto follows the reader's system: the same dark tokens, when it is dark. */
|
|
126
127
|
@media (prefers-color-scheme: dark) {
|
|
@@ -144,6 +145,7 @@ fieldset.fd-section[data-style] { background-color: var(--fd-ground); }
|
|
|
144
145
|
--fd-warning-soft: rgba(242, 181, 92, 0.13);
|
|
145
146
|
--fd-info: #7db7ff;
|
|
146
147
|
--fd-info-soft: rgba(90, 162, 255, 0.14);
|
|
148
|
+
--fd-edge: #59616c;
|
|
147
149
|
}
|
|
148
150
|
}
|
|
149
151
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-styles.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/layout-styles.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,UAAU,GAAa
|
|
1
|
+
{"version":3,"file":"layout-styles.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/layout-styles.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,UAAU,GAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmKnC,CAAC"}
|
|
@@ -118,6 +118,7 @@ fieldset.fd-section[data-style] { background-color: var(--fd-ground); }
|
|
|
118
118
|
--fd-warning-soft: rgba(242, 181, 92, 0.13);
|
|
119
119
|
--fd-info: #7db7ff;
|
|
120
120
|
--fd-info-soft: rgba(90, 162, 255, 0.14);
|
|
121
|
+
--fd-edge: #59616c;
|
|
121
122
|
}
|
|
122
123
|
/* Auto follows the reader's system: the same dark tokens, when it is dark. */
|
|
123
124
|
@media (prefers-color-scheme: dark) {
|
|
@@ -141,6 +142,7 @@ fieldset.fd-section[data-style] { background-color: var(--fd-ground); }
|
|
|
141
142
|
--fd-warning-soft: rgba(242, 181, 92, 0.13);
|
|
142
143
|
--fd-info: #7db7ff;
|
|
143
144
|
--fd-info-soft: rgba(90, 162, 255, 0.14);
|
|
145
|
+
--fd-edge: #59616c;
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-styles.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/layout-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"layout-styles.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/layout-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmKnC,CAAC"}
|
package/src/lib/lines.d.mts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { type Form, type LineField } from '@fieldia/core';
|
|
2
|
-
import { type WidgetFactory } from './widgets.mjs';
|
|
1
|
+
import { type FieldNode, type Form, type Line, type LineField, type Values } from '@fieldia/core';
|
|
2
|
+
import { type WidgetDialogs, type WidgetFactory } from './widgets.mjs';
|
|
3
3
|
/** The field a section or note is typed into: one line for a heading, a growing box for a note. */
|
|
4
4
|
export declare function kindTextField(def: LineField, kind: 'section' | 'note'): LineField;
|
|
5
5
|
/** The form a cell sees: the line's values, written back into the line. Shared with @fieldia/grid. */
|
|
6
6
|
export declare function lineForm(form: Form, field: string, key: string): Form;
|
|
7
|
+
/** A line's money in its record's currency (`parent.…`), as a field of its own: in that currency, fixed — for a dialog with no record round it. */
|
|
8
|
+
export declare function ownCurrency(sub: LineField, parent: Readonly<Values>): LineField;
|
|
9
|
+
/**
|
|
10
|
+
* A line opened in a dialog: with `lineOpens: "record"`, a saved line's own
|
|
11
|
+
* record by the table's model — what its page saved is written back to the
|
|
12
|
+
* line's fields of the same names — else, or for a line not saved yet, every
|
|
13
|
+
* one of its fields, recalculated as they change and written back on Save &
|
|
14
|
+
* Close. Shared with @fieldia/grid.
|
|
15
|
+
*/
|
|
16
|
+
export declare function openLineDialog(form: Form, name: string, node: FieldNode, line: Line, dialogs: WidgetDialogs, readonly: boolean): Promise<void>;
|
|
7
17
|
export declare const linesWidget: WidgetFactory;
|
package/src/lib/lines.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { type Form, type LineField } from '@fieldia/core';
|
|
2
|
-
import { type WidgetFactory } from './widgets';
|
|
1
|
+
import { type FieldNode, type Form, type Line, type LineField, type Values } from '@fieldia/core';
|
|
2
|
+
import { type WidgetDialogs, type WidgetFactory } from './widgets';
|
|
3
3
|
/** The field a section or note is typed into: one line for a heading, a growing box for a note. */
|
|
4
4
|
export declare function kindTextField(def: LineField, kind: 'section' | 'note'): LineField;
|
|
5
5
|
/** The form a cell sees: the line's values, written back into the line. Shared with @fieldia/grid. */
|
|
6
6
|
export declare function lineForm(form: Form, field: string, key: string): Form;
|
|
7
|
+
/** A line's money in its record's currency (`parent.…`), as a field of its own: in that currency, fixed — for a dialog with no record round it. */
|
|
8
|
+
export declare function ownCurrency(sub: LineField, parent: Readonly<Values>): LineField;
|
|
9
|
+
/**
|
|
10
|
+
* A line opened in a dialog: with `lineOpens: "record"`, a saved line's own
|
|
11
|
+
* record by the table's model — what its page saved is written back to the
|
|
12
|
+
* line's fields of the same names — else, or for a line not saved yet, every
|
|
13
|
+
* one of its fields, recalculated as they change and written back on Save &
|
|
14
|
+
* Close. Shared with @fieldia/grid.
|
|
15
|
+
*/
|
|
16
|
+
export declare function openLineDialog(form: Form, name: string, node: FieldNode, line: Line, dialogs: WidgetDialogs, readonly: boolean): Promise<void>;
|
|
7
17
|
export declare const linesWidget: WidgetFactory;
|