@fieldia/widgets 0.11.0 → 0.13.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.
Files changed (243) hide show
  1. package/package.json +2 -2
  2. package/src/index.d.mts +2 -0
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +6 -1
  5. package/src/index.js.map +1 -1
  6. package/src/index.mjs +2 -0
  7. package/src/index.mjs.map +1 -1
  8. package/src/lib/badge.d.mts +8 -0
  9. package/src/lib/badge.d.ts +8 -0
  10. package/src/lib/badge.js +37 -0
  11. package/src/lib/badge.js.map +1 -0
  12. package/src/lib/badge.mjs +33 -0
  13. package/src/lib/badge.mjs.map +1 -0
  14. package/src/lib/calendar.d.mts +3 -1
  15. package/src/lib/calendar.d.ts +3 -1
  16. package/src/lib/calendar.js +17 -1
  17. package/src/lib/calendar.js.map +1 -1
  18. package/src/lib/calendar.mjs +17 -1
  19. package/src/lib/calendar.mjs.map +1 -1
  20. package/src/lib/cards.js +12 -4
  21. package/src/lib/cards.js.map +1 -1
  22. package/src/lib/cards.mjs +13 -5
  23. package/src/lib/cards.mjs.map +1 -1
  24. package/src/lib/choice-images.js +1 -1
  25. package/src/lib/choice-images.js.map +1 -1
  26. package/src/lib/choice-images.mjs +1 -1
  27. package/src/lib/choice-images.mjs.map +1 -1
  28. package/src/lib/choice-tags.js +6 -4
  29. package/src/lib/choice-tags.js.map +1 -1
  30. package/src/lib/choice-tags.mjs +6 -4
  31. package/src/lib/choice-tags.mjs.map +1 -1
  32. package/src/lib/colour.d.mts +11 -0
  33. package/src/lib/colour.d.ts +11 -0
  34. package/src/lib/colour.js +114 -0
  35. package/src/lib/colour.js.map +1 -0
  36. package/src/lib/colour.mjs +110 -0
  37. package/src/lib/colour.mjs.map +1 -0
  38. package/src/lib/copy.d.mts +8 -0
  39. package/src/lib/copy.d.ts +8 -0
  40. package/src/lib/copy.js +58 -0
  41. package/src/lib/copy.js.map +1 -0
  42. package/src/lib/copy.mjs +54 -0
  43. package/src/lib/copy.mjs.map +1 -0
  44. package/src/lib/date-range.d.mts +2 -0
  45. package/src/lib/date-range.d.ts +2 -0
  46. package/src/lib/date-range.js +220 -0
  47. package/src/lib/date-range.js.map +1 -0
  48. package/src/lib/date-range.mjs +216 -0
  49. package/src/lib/date-range.mjs.map +1 -0
  50. package/src/lib/display.d.mts +25 -1
  51. package/src/lib/display.d.ts +25 -1
  52. package/src/lib/display.js +42 -2
  53. package/src/lib/display.js.map +1 -1
  54. package/src/lib/display.mjs +39 -2
  55. package/src/lib/display.mjs.map +1 -1
  56. package/src/lib/distribution.d.mts +13 -0
  57. package/src/lib/distribution.d.ts +13 -0
  58. package/src/lib/distribution.js +159 -0
  59. package/src/lib/distribution.js.map +1 -0
  60. package/src/lib/distribution.mjs +152 -0
  61. package/src/lib/distribution.mjs.map +1 -0
  62. package/src/lib/duration.d.mts +18 -0
  63. package/src/lib/duration.d.ts +18 -0
  64. package/src/lib/duration.js +137 -0
  65. package/src/lib/duration.js.map +1 -0
  66. package/src/lib/duration.mjs +128 -0
  67. package/src/lib/duration.mjs.map +1 -0
  68. package/src/lib/embed.d.mts +3 -0
  69. package/src/lib/embed.d.ts +3 -0
  70. package/src/lib/embed.js +97 -0
  71. package/src/lib/embed.js.map +1 -0
  72. package/src/lib/embed.mjs +92 -0
  73. package/src/lib/embed.mjs.map +1 -0
  74. package/src/lib/extras.js +6 -0
  75. package/src/lib/extras.js.map +1 -1
  76. package/src/lib/extras.mjs +6 -0
  77. package/src/lib/extras.mjs.map +1 -1
  78. package/src/lib/files.d.mts +11 -0
  79. package/src/lib/files.d.ts +11 -0
  80. package/src/lib/files.js +19 -0
  81. package/src/lib/files.js.map +1 -1
  82. package/src/lib/files.mjs +18 -0
  83. package/src/lib/files.mjs.map +1 -1
  84. package/src/lib/float.d.mts +14 -0
  85. package/src/lib/float.d.ts +14 -0
  86. package/src/lib/float.js +91 -0
  87. package/src/lib/float.js.map +1 -0
  88. package/src/lib/float.mjs +88 -0
  89. package/src/lib/float.mjs.map +1 -0
  90. package/src/lib/kind-parts.d.mts +4 -3
  91. package/src/lib/kind-parts.d.ts +4 -3
  92. package/src/lib/kind-parts.js +5 -3
  93. package/src/lib/kind-parts.js.map +1 -1
  94. package/src/lib/kind-parts.mjs +5 -3
  95. package/src/lib/kind-parts.mjs.map +1 -1
  96. package/src/lib/labels.d.mts +39 -0
  97. package/src/lib/labels.d.ts +39 -0
  98. package/src/lib/labels.js +29 -0
  99. package/src/lib/labels.js.map +1 -1
  100. package/src/lib/labels.mjs +29 -0
  101. package/src/lib/labels.mjs.map +1 -1
  102. package/src/lib/layout-styles.d.mts +1 -1
  103. package/src/lib/layout-styles.d.ts +1 -1
  104. package/src/lib/layout-styles.js +12 -5
  105. package/src/lib/layout-styles.js.map +1 -1
  106. package/src/lib/layout-styles.mjs +12 -5
  107. package/src/lib/layout-styles.mjs.map +1 -1
  108. package/src/lib/lines.d.mts +12 -2
  109. package/src/lib/lines.d.ts +12 -2
  110. package/src/lib/lines.js +372 -25
  111. package/src/lib/lines.js.map +1 -1
  112. package/src/lib/lines.mjs +371 -26
  113. package/src/lib/lines.mjs.map +1 -1
  114. package/src/lib/links-table.d.mts +11 -0
  115. package/src/lib/links-table.d.ts +11 -0
  116. package/src/lib/links-table.js +116 -0
  117. package/src/lib/links-table.js.map +1 -0
  118. package/src/lib/links-table.mjs +112 -0
  119. package/src/lib/links-table.mjs.map +1 -0
  120. package/src/lib/locales/ar.js +29 -0
  121. package/src/lib/locales/ar.js.map +1 -1
  122. package/src/lib/locales/ar.mjs +29 -0
  123. package/src/lib/locales/ar.mjs.map +1 -1
  124. package/src/lib/locales/de.js +29 -0
  125. package/src/lib/locales/de.js.map +1 -1
  126. package/src/lib/locales/de.mjs +29 -0
  127. package/src/lib/locales/de.mjs.map +1 -1
  128. package/src/lib/locales/fr.js +29 -0
  129. package/src/lib/locales/fr.js.map +1 -1
  130. package/src/lib/locales/fr.mjs +29 -0
  131. package/src/lib/locales/fr.mjs.map +1 -1
  132. package/src/lib/numbers.d.mts +5 -1
  133. package/src/lib/numbers.d.ts +5 -1
  134. package/src/lib/numbers.js +15 -2
  135. package/src/lib/numbers.js.map +1 -1
  136. package/src/lib/numbers.mjs +13 -2
  137. package/src/lib/numbers.mjs.map +1 -1
  138. package/src/lib/payments.d.mts +2 -0
  139. package/src/lib/payments.d.ts +2 -0
  140. package/src/lib/payments.js +94 -0
  141. package/src/lib/payments.js.map +1 -0
  142. package/src/lib/payments.mjs +90 -0
  143. package/src/lib/payments.mjs.map +1 -0
  144. package/src/lib/popup.d.mts +11 -0
  145. package/src/lib/popup.d.ts +11 -0
  146. package/src/lib/popup.js +48 -0
  147. package/src/lib/popup.js.map +1 -0
  148. package/src/lib/popup.mjs +45 -0
  149. package/src/lib/popup.mjs.map +1 -0
  150. package/src/lib/priority.d.mts +10 -0
  151. package/src/lib/priority.d.ts +10 -0
  152. package/src/lib/priority.js +59 -0
  153. package/src/lib/priority.js.map +1 -0
  154. package/src/lib/priority.mjs +55 -0
  155. package/src/lib/priority.mjs.map +1 -0
  156. package/src/lib/progress.js +3 -0
  157. package/src/lib/progress.js.map +1 -1
  158. package/src/lib/progress.mjs +3 -0
  159. package/src/lib/progress.mjs.map +1 -1
  160. package/src/lib/properties.js +100 -9
  161. package/src/lib/properties.js.map +1 -1
  162. package/src/lib/properties.mjs +100 -9
  163. package/src/lib/properties.mjs.map +1 -1
  164. package/src/lib/read-text.d.mts +25 -0
  165. package/src/lib/read-text.d.ts +25 -0
  166. package/src/lib/read-text.js +102 -0
  167. package/src/lib/read-text.js.map +1 -0
  168. package/src/lib/read-text.mjs +98 -0
  169. package/src/lib/read-text.mjs.map +1 -0
  170. package/src/lib/relations.d.mts +12 -0
  171. package/src/lib/relations.d.ts +12 -0
  172. package/src/lib/relations.js +110 -10
  173. package/src/lib/relations.js.map +1 -1
  174. package/src/lib/relations.mjs +108 -10
  175. package/src/lib/relations.mjs.map +1 -1
  176. package/src/lib/slider.js +1 -1
  177. package/src/lib/slider.js.map +1 -1
  178. package/src/lib/slider.mjs +1 -1
  179. package/src/lib/slider.mjs.map +1 -1
  180. package/src/lib/state-dot.d.mts +2 -0
  181. package/src/lib/state-dot.d.ts +2 -0
  182. package/src/lib/state-dot.js +107 -0
  183. package/src/lib/state-dot.js.map +1 -0
  184. package/src/lib/state-dot.mjs +103 -0
  185. package/src/lib/state-dot.mjs.map +1 -0
  186. package/src/lib/statusbar.js +151 -14
  187. package/src/lib/statusbar.js.map +1 -1
  188. package/src/lib/statusbar.mjs +151 -14
  189. package/src/lib/statusbar.mjs.map +1 -1
  190. package/src/lib/styles-business.d.mts +8 -0
  191. package/src/lib/styles-business.d.ts +8 -0
  192. package/src/lib/styles-business.js +120 -0
  193. package/src/lib/styles-business.js.map +1 -0
  194. package/src/lib/styles-business.mjs +117 -0
  195. package/src/lib/styles-business.mjs.map +1 -0
  196. package/src/lib/styles-inputs.d.mts +1 -1
  197. package/src/lib/styles-inputs.d.ts +1 -1
  198. package/src/lib/styles-inputs.js +2 -0
  199. package/src/lib/styles-inputs.js.map +1 -1
  200. package/src/lib/styles-inputs.mjs +2 -0
  201. package/src/lib/styles-inputs.mjs.map +1 -1
  202. package/src/lib/styles-kinds.d.mts +1 -1
  203. package/src/lib/styles-kinds.d.ts +1 -1
  204. package/src/lib/styles-kinds.js +2 -2
  205. package/src/lib/styles-kinds.mjs +2 -2
  206. package/src/lib/styles-sheet.d.mts +6 -0
  207. package/src/lib/styles-sheet.d.ts +6 -0
  208. package/src/lib/styles-sheet.js +139 -0
  209. package/src/lib/styles-sheet.js.map +1 -0
  210. package/src/lib/styles-sheet.mjs +136 -0
  211. package/src/lib/styles-sheet.mjs.map +1 -0
  212. package/src/lib/styles.js +223 -27
  213. package/src/lib/styles.js.map +1 -1
  214. package/src/lib/styles.mjs +223 -27
  215. package/src/lib/styles.mjs.map +1 -1
  216. package/src/lib/tax-totals.d.mts +2 -0
  217. package/src/lib/tax-totals.d.ts +2 -0
  218. package/src/lib/tax-totals.js +92 -0
  219. package/src/lib/tax-totals.js.map +1 -0
  220. package/src/lib/tax-totals.mjs +88 -0
  221. package/src/lib/tax-totals.mjs.map +1 -0
  222. package/src/lib/themes.d.mts +29 -0
  223. package/src/lib/themes.d.ts +29 -0
  224. package/src/lib/themes.js +180 -0
  225. package/src/lib/themes.js.map +1 -0
  226. package/src/lib/themes.mjs +177 -0
  227. package/src/lib/themes.mjs.map +1 -0
  228. package/src/lib/timer.d.mts +4 -0
  229. package/src/lib/timer.d.ts +4 -0
  230. package/src/lib/timer.js +62 -0
  231. package/src/lib/timer.js.map +1 -0
  232. package/src/lib/timer.mjs +57 -0
  233. package/src/lib/timer.mjs.map +1 -0
  234. package/src/lib/widgets.d.mts +18 -3
  235. package/src/lib/widgets.d.ts +18 -3
  236. package/src/lib/widgets.js +89 -10
  237. package/src/lib/widgets.js.map +1 -1
  238. package/src/lib/widgets.mjs +90 -11
  239. package/src/lib/widgets.mjs.map +1 -1
  240. package/src/lib/yes-no.js +1 -1
  241. package/src/lib/yes-no.js.map +1 -1
  242. package/src/lib/yes-no.mjs +1 -1
  243. package/src/lib/yes-no.mjs.map +1 -1
@@ -0,0 +1,88 @@
1
+ /**
2
+ * A list floating under the control it belongs to, over everything else: in
3
+ * the page's top layer where the browser has one, so no scrolling table, grid
4
+ * cell or folded part clips it. At least as wide as its control, above it when
5
+ * there is more room there, kept on the screen, and following the control
6
+ * wherever it goes while the list is open: a scroll, a resize, or the page
7
+ * moving it some other way (a line added above, a screenshot's resize).
8
+ */
9
+ export function floatUnder(anchor, box) {
10
+ const doc = anchor.ownerDocument;
11
+ const win = doc.defaultView;
12
+ const topLayer = typeof box.showPopover === 'function';
13
+ if (topLayer)
14
+ box.setAttribute('popover', 'manual');
15
+ let shown = false;
16
+ /** Where the control was when the list was last placed, watched each frame while it is open. */
17
+ let placedAt = '';
18
+ let watching = 0;
19
+ function place() {
20
+ const at = anchor.getBoundingClientRect();
21
+ const width = doc.documentElement.clientWidth;
22
+ const height = doc.documentElement.clientHeight;
23
+ const [below, above] = [height - at.bottom - 10, at.top - 10];
24
+ const up = below < 160 && above > below;
25
+ Object.assign(box.style, {
26
+ position: 'fixed',
27
+ inset: 'auto',
28
+ margin: '0',
29
+ minWidth: `${Math.min(Math.max(at.width, 224), width - 16)}px`,
30
+ maxWidth: `${Math.max(at.width, Math.min(448, width - 16))}px`,
31
+ maxHeight: `${Math.max(96, Math.min(240, up ? above : below))}px`,
32
+ });
33
+ placedAt = `${at.left},${at.top},${at.width},${width},${height}`;
34
+ const own = box.offsetWidth;
35
+ const rtl = win?.getComputedStyle(anchor).direction === 'rtl';
36
+ const left = Math.max(8, Math.min(rtl ? at.right - own : at.left, width - own - 8));
37
+ Object.assign(box.style, { left: `${left}px`, top: `${up ? at.top - 2 - box.offsetHeight : at.bottom + 2}px` });
38
+ }
39
+ // Its control gone (a grid's cell closed under it), it goes too.
40
+ const follow = () => {
41
+ if (!shown)
42
+ return;
43
+ if (!anchor.isConnected)
44
+ return floating.hide();
45
+ place();
46
+ };
47
+ // Moved by anything but a scroll or a resize, it is placed again on the next frame.
48
+ const watch = () => {
49
+ if (!shown)
50
+ return;
51
+ const at = anchor.getBoundingClientRect();
52
+ if (`${at.left},${at.top},${at.width},${doc.documentElement.clientWidth},${doc.documentElement.clientHeight}` !== placedAt)
53
+ follow();
54
+ watching = win?.requestAnimationFrame(watch) ?? 0;
55
+ };
56
+ const floating = {
57
+ show() {
58
+ box.hidden = false;
59
+ if (topLayer && !box.matches(':popover-open'))
60
+ box.showPopover();
61
+ place();
62
+ if (!shown) {
63
+ doc.addEventListener('scroll', follow, true);
64
+ win?.addEventListener('resize', follow);
65
+ }
66
+ shown = true;
67
+ if (!watching && win?.requestAnimationFrame)
68
+ watching = win.requestAnimationFrame(watch);
69
+ },
70
+ /** Placed again: its words changed, and with them its height. */
71
+ place: follow,
72
+ hide() {
73
+ if (topLayer && box.matches(':popover-open'))
74
+ box.hidePopover();
75
+ box.hidden = true;
76
+ if (shown) {
77
+ doc.removeEventListener('scroll', follow, true);
78
+ win?.removeEventListener('resize', follow);
79
+ }
80
+ if (watching)
81
+ win?.cancelAnimationFrame(watching);
82
+ watching = 0;
83
+ shown = false;
84
+ },
85
+ };
86
+ return floating;
87
+ }
88
+ //# sourceMappingURL=float.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"float.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/float.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -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;
@@ -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":"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"}
1
+ {"version":3,"file":"kind-parts.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/kind-parts.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -11,6 +11,8 @@ export interface WidgetLabels {
11
11
  deleteLine: string;
12
12
  /** A line of a table, as a person is told of it: `{n}` counts from 1. */
13
13
  lineN: string;
14
+ /** Said in a table with no lines yet, unless the page has words of its own (`emptyLabel`). */
15
+ noLines: string;
14
16
  /** Heads the row that adds up a table's number columns. */
15
17
  total: string;
16
18
  /** A problem on one line of a table, under the table. `{n}` counts from 1. */
@@ -25,6 +27,13 @@ export interface WidgetLabels {
25
27
  openNamed: string;
26
28
  /** The button that opens a line of a table in a dialog. */
27
29
  openLine: string;
30
+ /** 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}`). */
31
+ chooseLine: string;
32
+ chooseAllLines: string;
33
+ linesChosen: string;
34
+ /** The button at a statusbar's end that holds its folded steps, and what it says of the time spent in a step (`{time}`). */
35
+ moreSteps: string;
36
+ timeInStep: string;
28
37
  /** The button that lets a person hide or show a table's optional columns. */
29
38
  chooseColumns: string;
30
39
  /** The button beside a date that opens its calendar. */
@@ -135,6 +144,36 @@ export interface WidgetLabels {
135
144
  ofMax: string;
136
145
  /** How many more characters a box with a most takes, said to a screen reader once typing pauses. */
137
146
  charactersLeft: string;
147
+ /** Flectra's twelve tag colours, kept by their number from 0 (none) to 11, split by |. */
148
+ colourNames: string;
149
+ /** The button that copies a value, and what it says once it has. */
150
+ copyValue: string;
151
+ copied: string;
152
+ /** A document shown inline, while there is none; a page shown inline, opened in a tab of its own. */
153
+ noDocument: string;
154
+ openInNewTab: string;
155
+ /** An analytic distribution: a line's account, its share, adding an account, and shares that do not add up to 100 % ({n}). */
156
+ account: string;
157
+ share: string;
158
+ addAccount: string;
159
+ sharesOff: string;
160
+ /** Tax totals: the amount before tax. */
161
+ untaxed: string;
162
+ /** A list of payments: each one's date ({date}), the amount still due, a payment's details ({amount}), and opening it. */
163
+ paidOn: string;
164
+ amountDue: string;
165
+ paymentOf: string;
166
+ journal: string;
167
+ memo: string;
168
+ openPayment: string;
169
+ /** 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. */
170
+ addProperty: string;
171
+ propertyName: string;
172
+ propertyType: string;
173
+ propertyTypes: string;
174
+ add: string;
175
+ cancel: string;
176
+ loading: string;
138
177
  }
139
178
  /**
140
179
  * The widgets' words in every language Fieldia has. This package holds all
@@ -11,6 +11,8 @@ export interface WidgetLabels {
11
11
  deleteLine: string;
12
12
  /** A line of a table, as a person is told of it: `{n}` counts from 1. */
13
13
  lineN: string;
14
+ /** Said in a table with no lines yet, unless the page has words of its own (`emptyLabel`). */
15
+ noLines: string;
14
16
  /** Heads the row that adds up a table's number columns. */
15
17
  total: string;
16
18
  /** A problem on one line of a table, under the table. `{n}` counts from 1. */
@@ -25,6 +27,13 @@ export interface WidgetLabels {
25
27
  openNamed: string;
26
28
  /** The button that opens a line of a table in a dialog. */
27
29
  openLine: string;
30
+ /** 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}`). */
31
+ chooseLine: string;
32
+ chooseAllLines: string;
33
+ linesChosen: string;
34
+ /** The button at a statusbar's end that holds its folded steps, and what it says of the time spent in a step (`{time}`). */
35
+ moreSteps: string;
36
+ timeInStep: string;
28
37
  /** The button that lets a person hide or show a table's optional columns. */
29
38
  chooseColumns: string;
30
39
  /** The button beside a date that opens its calendar. */
@@ -135,6 +144,36 @@ export interface WidgetLabels {
135
144
  ofMax: string;
136
145
  /** How many more characters a box with a most takes, said to a screen reader once typing pauses. */
137
146
  charactersLeft: string;
147
+ /** Flectra's twelve tag colours, kept by their number from 0 (none) to 11, split by |. */
148
+ colourNames: string;
149
+ /** The button that copies a value, and what it says once it has. */
150
+ copyValue: string;
151
+ copied: string;
152
+ /** A document shown inline, while there is none; a page shown inline, opened in a tab of its own. */
153
+ noDocument: string;
154
+ openInNewTab: string;
155
+ /** An analytic distribution: a line's account, its share, adding an account, and shares that do not add up to 100 % ({n}). */
156
+ account: string;
157
+ share: string;
158
+ addAccount: string;
159
+ sharesOff: string;
160
+ /** Tax totals: the amount before tax. */
161
+ untaxed: string;
162
+ /** A list of payments: each one's date ({date}), the amount still due, a payment's details ({amount}), and opening it. */
163
+ paidOn: string;
164
+ amountDue: string;
165
+ paymentOf: string;
166
+ journal: string;
167
+ memo: string;
168
+ openPayment: string;
169
+ /** 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. */
170
+ addProperty: string;
171
+ propertyName: string;
172
+ propertyType: string;
173
+ propertyTypes: string;
174
+ add: string;
175
+ cancel: string;
176
+ loading: string;
138
177
  }
139
178
  /**
140
179
  * The widgets' words in every language Fieldia has. This package holds all
package/src/lib/labels.js CHANGED
@@ -13,6 +13,7 @@ const en = {
13
13
  addNote: 'Add a note',
14
14
  deleteLine: 'Delete line',
15
15
  lineN: 'line {n}',
16
+ noLines: 'No lines yet',
16
17
  total: 'Total',
17
18
  lineProblem: 'Line {n}: {message}',
18
19
  moreProblems: 'and {n} more',
@@ -22,6 +23,11 @@ const en = {
22
23
  searchMore: 'Search more…',
23
24
  openNamed: 'Open {name}',
24
25
  openLine: 'Open line',
26
+ chooseLine: 'Choose {name}',
27
+ chooseAllLines: 'Choose every line',
28
+ linesChosen: '{n} chosen',
29
+ moreSteps: 'More',
30
+ timeInStep: '{time} in this step',
25
31
  chooseDate: 'Choose a date',
26
32
  other: 'Other:',
27
33
  otherAnswer: 'Your own answer',
@@ -105,6 +111,29 @@ const en = {
105
111
  keepOrder: 'Keep this order',
106
112
  ofMax: '{n} of {max}',
107
113
  charactersLeft: 'Characters left: {n}',
114
+ colourNames: 'No colour|Red|Orange|Yellow|Cyan|Purple|Almond|Teal|Blue|Raspberry|Green|Violet',
115
+ copyValue: 'Copy',
116
+ copied: 'Copied',
117
+ noDocument: 'No document yet',
118
+ openInNewTab: 'Open in a new tab',
119
+ account: 'Account',
120
+ share: 'Percentage',
121
+ addAccount: 'Add an account',
122
+ sharesOff: 'The shares add up to {n}, not 100%',
123
+ untaxed: 'Untaxed amount',
124
+ paidOn: 'Paid on {date}',
125
+ amountDue: 'Amount due',
126
+ paymentOf: 'Payment of {amount}',
127
+ journal: 'Journal',
128
+ memo: 'Memo',
129
+ openPayment: 'Open',
130
+ addProperty: 'Add a property',
131
+ propertyName: 'Property name',
132
+ propertyType: 'Kind',
133
+ propertyTypes: 'Text|Long text|Whole number|Number|Yes or no|Date',
134
+ add: 'Add',
135
+ cancel: 'Cancel',
136
+ loading: 'Loading…',
108
137
  };
109
138
  /**
110
139
  * The widgets' words in every language Fieldia has. This package holds all
@@ -1 +1 @@
1
- {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const en = {
10
10
  addNote: 'Add a note',
11
11
  deleteLine: 'Delete line',
12
12
  lineN: 'line {n}',
13
+ noLines: 'No lines yet',
13
14
  total: 'Total',
14
15
  lineProblem: 'Line {n}: {message}',
15
16
  moreProblems: 'and {n} more',
@@ -19,6 +20,11 @@ const en = {
19
20
  searchMore: 'Search more…',
20
21
  openNamed: 'Open {name}',
21
22
  openLine: 'Open line',
23
+ chooseLine: 'Choose {name}',
24
+ chooseAllLines: 'Choose every line',
25
+ linesChosen: '{n} chosen',
26
+ moreSteps: 'More',
27
+ timeInStep: '{time} in this step',
22
28
  chooseDate: 'Choose a date',
23
29
  other: 'Other:',
24
30
  otherAnswer: 'Your own answer',
@@ -102,6 +108,29 @@ const en = {
102
108
  keepOrder: 'Keep this order',
103
109
  ofMax: '{n} of {max}',
104
110
  charactersLeft: 'Characters left: {n}',
111
+ colourNames: 'No colour|Red|Orange|Yellow|Cyan|Purple|Almond|Teal|Blue|Raspberry|Green|Violet',
112
+ copyValue: 'Copy',
113
+ copied: 'Copied',
114
+ noDocument: 'No document yet',
115
+ openInNewTab: 'Open in a new tab',
116
+ account: 'Account',
117
+ share: 'Percentage',
118
+ addAccount: 'Add an account',
119
+ sharesOff: 'The shares add up to {n}, not 100%',
120
+ untaxed: 'Untaxed amount',
121
+ paidOn: 'Paid on {date}',
122
+ amountDue: 'Amount due',
123
+ paymentOf: 'Payment of {amount}',
124
+ journal: 'Journal',
125
+ memo: 'Memo',
126
+ openPayment: 'Open',
127
+ addProperty: 'Add a property',
128
+ propertyName: 'Property name',
129
+ propertyType: 'Kind',
130
+ propertyTypes: 'Text|Long text|Whole number|Number|Yes or no|Date',
131
+ add: 'Add',
132
+ cancel: 'Cancel',
133
+ loading: 'Loading…',
105
134
  };
106
135
  /**
107
136
  * The widgets' words in every language Fieldia has. This package holds all
@@ -1 +1 @@
1
- {"version":3,"file":"labels.mjs","sourceRoot":"","sources":["../../../../../libs/widgets/src/lib/labels.ts"],"names":[],"mappings":"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"}
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 --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";
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 Its tokens in Fieldia's tokens' layer (styles.ts): a host's own rule sets them over the page's. */\n@layer fieldia-tokens {\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.fd-form[data-scheme] { --fd-ground: var(--fd-page); }\n}\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 Its native controls (scroll bars, date pickers) follow it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] { color-scheme: dark; }\n@media (prefers-color-scheme: dark) { :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] { color-scheme: dark; } }\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@layer fieldia-tokens {\n:is(.fd-form, .fd-form-dialog)[data-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 --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}\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 --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";
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 Its tokens in Fieldia's tokens' layer (styles.ts): a host's own rule sets them over the page's. */\n@layer fieldia-tokens {\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.fd-form[data-scheme] { --fd-ground: var(--fd-page); }\n}\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 Its native controls (scroll bars, date pickers) follow it. */\n.fd-form[data-scheme] { color-scheme: light; background: var(--fd-page); color: var(--fd-text); border-radius: var(--fd-radius); }\n:is(.fd-form, .fd-form-dialog)[data-scheme=\"dark\"] { color-scheme: dark; }\n@media (prefers-color-scheme: dark) { :is(.fd-form, .fd-form-dialog)[data-scheme=\"auto\"] { color-scheme: dark; } }\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@layer fieldia-tokens {\n:is(.fd-form, .fd-form-dialog)[data-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 --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}\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";