@graview/core 0.1.36 → 0.1.37

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 (229) hide show
  1. package/README.md +7 -0
  2. package/dist/answer-seen.d.ts +1 -1
  3. package/dist/answer-seen.d.ts.map +1 -1
  4. package/dist/answer-seen.js.map +1 -1
  5. package/dist/arrange.d.ts +4 -2
  6. package/dist/arrange.d.ts.map +1 -1
  7. package/dist/arrange.js +2 -1
  8. package/dist/arrange.js.map +1 -1
  9. package/dist/arrangement.d.ts +10 -2
  10. package/dist/arrangement.d.ts.map +1 -1
  11. package/dist/arrangement.js +0 -1
  12. package/dist/arrangement.js.map +1 -1
  13. package/dist/blocks.d.ts +1 -1
  14. package/dist/blocks.d.ts.map +1 -1
  15. package/dist/blocks.js +1 -1
  16. package/dist/blocks.js.map +1 -1
  17. package/dist/cli/check/brand.d.ts.map +1 -1
  18. package/dist/cli/check/brand.js +6 -0
  19. package/dist/cli/check/brand.js.map +1 -1
  20. package/dist/cli/check/clock-rules.js +1 -1
  21. package/dist/cli/check/clock-rules.js.map +1 -1
  22. package/dist/cli/check/relations.d.ts +0 -1
  23. package/dist/cli/check/relations.d.ts.map +1 -1
  24. package/dist/cli/check/relations.js +0 -50
  25. package/dist/cli/check/relations.js.map +1 -1
  26. package/dist/cli/check.d.ts.map +1 -1
  27. package/dist/cli/check.js +4 -4
  28. package/dist/cli/check.js.map +1 -1
  29. package/dist/cli/describe.d.ts.map +1 -1
  30. package/dist/cli/describe.js +19 -0
  31. package/dist/cli/describe.js.map +1 -1
  32. package/dist/cli/types.d.ts.map +1 -1
  33. package/dist/cli/types.js +3 -2
  34. package/dist/cli/types.js.map +1 -1
  35. package/dist/clock.d.ts +23 -11
  36. package/dist/clock.d.ts.map +1 -1
  37. package/dist/clock.js +41 -18
  38. package/dist/clock.js.map +1 -1
  39. package/dist/conformance/fixtures.d.ts.map +1 -1
  40. package/dist/conformance/fixtures.js +47 -0
  41. package/dist/conformance/fixtures.js.map +1 -1
  42. package/dist/days.d.ts +67 -16
  43. package/dist/days.d.ts.map +1 -1
  44. package/dist/days.js +145 -22
  45. package/dist/days.js.map +1 -1
  46. package/dist/describe.d.ts +2 -1
  47. package/dist/describe.d.ts.map +1 -1
  48. package/dist/describe.js.map +1 -1
  49. package/dist/document/block-context.js +1 -1
  50. package/dist/document/block-context.js.map +1 -1
  51. package/dist/document/blocks.d.ts +1 -1
  52. package/dist/document/blocks.d.ts.map +1 -1
  53. package/dist/document/blocks.js +6 -6
  54. package/dist/document/blocks.js.map +1 -1
  55. package/dist/document/brand-check.d.ts.map +1 -1
  56. package/dist/document/brand-check.js +5 -0
  57. package/dist/document/brand-check.js.map +1 -1
  58. package/dist/document/brand.d.ts +2 -1
  59. package/dist/document/brand.d.ts.map +1 -1
  60. package/dist/document/brand.js +4 -3
  61. package/dist/document/brand.js.map +1 -1
  62. package/dist/document/compile.d.ts.map +1 -1
  63. package/dist/document/compile.js +3 -2
  64. package/dist/document/compile.js.map +1 -1
  65. package/dist/document/compiled.d.ts +1 -1
  66. package/dist/document/compiled.d.ts.map +1 -1
  67. package/dist/document/compiled.js +5 -2
  68. package/dist/document/compiled.js.map +1 -1
  69. package/dist/document/describe-coverage.d.ts +1 -1
  70. package/dist/document/describe-coverage.d.ts.map +1 -1
  71. package/dist/document/describe-place.d.ts +1 -110
  72. package/dist/document/describe-place.d.ts.map +1 -1
  73. package/dist/document/describe-place.js +3 -3
  74. package/dist/document/describe-place.js.map +1 -1
  75. package/dist/document/described.d.ts +111 -0
  76. package/dist/document/described.d.ts.map +1 -0
  77. package/dist/document/described.js +8 -0
  78. package/dist/document/described.js.map +1 -0
  79. package/dist/document/diff.d.ts +2 -0
  80. package/dist/document/diff.d.ts.map +1 -1
  81. package/dist/document/diff.js +4 -0
  82. package/dist/document/diff.js.map +1 -1
  83. package/dist/document/edit.d.ts.map +1 -1
  84. package/dist/document/edit.js +52 -7
  85. package/dist/document/edit.js.map +1 -1
  86. package/dist/document/field-spec.js +1 -1
  87. package/dist/document/field-spec.js.map +1 -1
  88. package/dist/document/framework-path.d.ts.map +1 -1
  89. package/dist/document/framework-path.js +5 -0
  90. package/dist/document/framework-path.js.map +1 -1
  91. package/dist/document/migrate.d.ts.map +1 -1
  92. package/dist/document/migrate.js +3 -2
  93. package/dist/document/migrate.js.map +1 -1
  94. package/dist/document/money.d.ts +4 -0
  95. package/dist/document/money.d.ts.map +1 -1
  96. package/dist/document/money.js.map +1 -1
  97. package/dist/document/policy-words.d.ts.map +1 -1
  98. package/dist/document/policy-words.js +12 -1
  99. package/dist/document/policy-words.js.map +1 -1
  100. package/dist/document/relation-acts.d.ts +25 -0
  101. package/dist/document/relation-acts.d.ts.map +1 -0
  102. package/dist/document/relation-acts.js +23 -0
  103. package/dist/document/relation-acts.js.map +1 -0
  104. package/dist/document/rule-line.d.ts +1 -1
  105. package/dist/document/rule-line.d.ts.map +1 -1
  106. package/dist/document/rule-line.js +3 -3
  107. package/dist/document/rule-line.js.map +1 -1
  108. package/dist/document/schema.d.ts +16 -2
  109. package/dist/document/schema.d.ts.map +1 -1
  110. package/dist/document/schema.js +7 -3
  111. package/dist/document/schema.js.map +1 -1
  112. package/dist/document/template.d.ts +2 -2
  113. package/dist/document/template.d.ts.map +1 -1
  114. package/dist/document/template.js +19 -6
  115. package/dist/document/template.js.map +1 -1
  116. package/dist/document/to-document.d.ts.map +1 -1
  117. package/dist/document/to-document.js +4 -2
  118. package/dist/document/to-document.js.map +1 -1
  119. package/dist/document/views.d.ts +1 -1
  120. package/dist/document/views.d.ts.map +1 -1
  121. package/dist/document/views.js +3 -3
  122. package/dist/document/views.js.map +1 -1
  123. package/dist/document.schema.json +13 -2
  124. package/dist/field-sight.d.ts +1 -1
  125. package/dist/field-sight.d.ts.map +1 -1
  126. package/dist/import/coerce.d.ts.map +1 -1
  127. package/dist/import/coerce.js +1 -0
  128. package/dist/import/coerce.js.map +1 -1
  129. package/dist/import/rows.js +1 -1
  130. package/dist/import/rows.js.map +1 -1
  131. package/dist/index.d.ts +5 -4
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +4 -4
  134. package/dist/index.js.map +1 -1
  135. package/dist/invariants/types.d.ts +2 -1
  136. package/dist/invariants/types.d.ts.map +1 -1
  137. package/dist/kind-list.d.ts +1 -11
  138. package/dist/kind-list.d.ts.map +1 -1
  139. package/dist/kind-list.js +13 -1
  140. package/dist/kind-list.js.map +1 -1
  141. package/dist/mutations/arg-shape.d.ts +2 -1
  142. package/dist/mutations/arg-shape.d.ts.map +1 -1
  143. package/dist/mutations/arg-shape.js +1 -1
  144. package/dist/mutations/arg-shape.js.map +1 -1
  145. package/dist/mutations/derive-edits.d.ts +1 -1
  146. package/dist/mutations/derive-edits.d.ts.map +1 -1
  147. package/dist/mutations/derive-edits.js +6 -4
  148. package/dist/mutations/derive-edits.js.map +1 -1
  149. package/dist/mutations/derive-relations.d.ts +36 -0
  150. package/dist/mutations/derive-relations.d.ts.map +1 -0
  151. package/dist/mutations/derive-relations.js +112 -0
  152. package/dist/mutations/derive-relations.js.map +1 -0
  153. package/dist/mutations/derived-names.d.ts +42 -0
  154. package/dist/mutations/derived-names.d.ts.map +1 -1
  155. package/dist/mutations/derived-names.js +46 -0
  156. package/dist/mutations/derived-names.js.map +1 -1
  157. package/dist/mutations/form.d.ts +1 -0
  158. package/dist/mutations/form.d.ts.map +1 -1
  159. package/dist/mutations/form.js +1 -1
  160. package/dist/mutations/form.js.map +1 -1
  161. package/dist/mutations/keep-link.d.ts +3 -1
  162. package/dist/mutations/keep-link.d.ts.map +1 -1
  163. package/dist/mutations/keep-link.js +3 -1
  164. package/dist/mutations/keep-link.js.map +1 -1
  165. package/dist/mutations/kept-arguments.d.ts +1 -1
  166. package/dist/mutations/kept-arguments.d.ts.map +1 -1
  167. package/dist/mutations/types.d.ts +3 -2
  168. package/dist/mutations/types.d.ts.map +1 -1
  169. package/dist/ops/digest.d.ts +1 -1
  170. package/dist/ops/digest.d.ts.map +1 -1
  171. package/dist/ops/digest.js +5 -4
  172. package/dist/ops/digest.js.map +1 -1
  173. package/dist/past.d.ts.map +1 -1
  174. package/dist/past.js +1 -0
  175. package/dist/past.js.map +1 -1
  176. package/dist/permissions/sight.d.ts +32 -2
  177. package/dist/permissions/sight.d.ts.map +1 -1
  178. package/dist/permissions/sight.js.map +1 -1
  179. package/dist/scaffold/project.d.ts.map +1 -1
  180. package/dist/scaffold/project.js +8 -1
  181. package/dist/scaffold/project.js.map +1 -1
  182. package/dist/scaffold/ui.d.ts.map +1 -1
  183. package/dist/scaffold/ui.js +10 -18
  184. package/dist/scaffold/ui.js.map +1 -1
  185. package/dist/schema/file-field.d.ts +2 -0
  186. package/dist/schema/file-field.d.ts.map +1 -1
  187. package/dist/schema/file-field.js +10 -5
  188. package/dist/schema/file-field.js.map +1 -1
  189. package/dist/schema/file-fields.d.ts +5 -1
  190. package/dist/schema/file-fields.d.ts.map +1 -1
  191. package/dist/schema/file-fields.js +13 -3
  192. package/dist/schema/file-fields.js.map +1 -1
  193. package/dist/schema/files.d.ts +42 -7
  194. package/dist/schema/files.d.ts.map +1 -1
  195. package/dist/schema/files.js +30 -5
  196. package/dist/schema/files.js.map +1 -1
  197. package/dist/schema/reading.d.ts +2 -0
  198. package/dist/schema/reading.d.ts.map +1 -1
  199. package/dist/schema/reading.js +20 -6
  200. package/dist/schema/reading.js.map +1 -1
  201. package/dist/schema/types.d.ts +13 -5
  202. package/dist/schema/types.d.ts.map +1 -1
  203. package/dist/seen.d.ts +31 -36
  204. package/dist/seen.d.ts.map +1 -1
  205. package/dist/seen.js +1 -1
  206. package/dist/seen.js.map +1 -1
  207. package/dist/store.d.ts +20 -4
  208. package/dist/store.d.ts.map +1 -1
  209. package/dist/store.js +79 -13
  210. package/dist/store.js.map +1 -1
  211. package/dist/theme/types.d.ts +9 -0
  212. package/dist/theme/types.d.ts.map +1 -1
  213. package/dist/theme/types.js.map +1 -1
  214. package/dist/typed.d.ts +2 -2
  215. package/dist/typed.d.ts.map +1 -1
  216. package/dist/version.d.ts +1 -1
  217. package/dist/version.js +1 -1
  218. package/dist/wall-time.d.ts +2 -2
  219. package/dist/wall-time.d.ts.map +1 -1
  220. package/dist/wall-time.js +17 -9
  221. package/dist/wall-time.js.map +1 -1
  222. package/dist/watched.d.ts +10 -0
  223. package/dist/watched.d.ts.map +1 -1
  224. package/dist/watched.js +9 -0
  225. package/dist/watched.js.map +1 -1
  226. package/dist/when-typed.d.ts.map +1 -1
  227. package/dist/when-typed.js +14 -3
  228. package/dist/when-typed.js.map +1 -1
  229. package/package.json +1 -1
package/dist/days.d.ts CHANGED
@@ -10,36 +10,87 @@ export declare const ISO_MOMENT: RegExp;
10
10
  * face asks which fields are dates (`fieldOf`): a kind's stop, its calendar.
11
11
  */
12
12
  export declare const isMoment: (s: string) => boolean;
13
- /** Today as a record keeps a day, by the clock's UTC date: what a rule, a template and a label read as today(). */
14
- export declare const isoToday: () => string;
15
13
  /**
16
- * Say days, times and numbers on this page in a reader's locale and an
17
- * app's (FR-178). Either may be left out. Every provider says it as it
18
- * draws, before anything under it does, so the page says what the app
19
- * drawn last says.
14
+ * TODAY AS A RECORD KEEPS A DAY: what a rule, a computed field, a template
15
+ * and a label read as today() (Roadmap f-app-time-zone). The date in the
16
+ * app's zone — `timeZone`, the app's `brand.timeZone` where the caller
17
+ * holds it, else the zone of the app this page draws (`sayIn`'s
18
+ * `appTimeZone`) — else the UTC date, as before an app could say one.
19
+ * Never the reader's zone and never the runtime's: a server and a page
20
+ * read the same day for the same app, and it turns at the app's midnight.
21
+ * `at` is the instant asked about; now when unsaid.
20
22
  */
21
- export declare function sayIn(locales: {
23
+ export declare const isoToday: (timeZone?: string, at?: number) => string;
24
+ /** The zone today() turns in: the app's (`app`, else the page's), never the reader's. Undefined is UTC. */
25
+ export declare const dayZoneFor: (app?: string) => string | undefined;
26
+ /** What a page says days, times and numbers in: a reader's locale and zone, and an app's. */
27
+ export interface Saying {
22
28
  readonly reader?: string | undefined;
23
29
  readonly app?: string | undefined;
24
- }): void;
30
+ /** The person's time zone, which a host passed: wins over the app's. */
31
+ readonly readerTimeZone?: string | undefined;
32
+ /** The app's time zone, `brand.timeZone`. */
33
+ readonly appTimeZone?: string | undefined;
34
+ }
35
+ /**
36
+ * Say days, times and numbers on this page in a reader's locale and zone
37
+ * and an app's (FR-178, Roadmap f-app-time-zone). Any may be left out.
38
+ * Every provider says it as it draws, before anything under it does, so
39
+ * the page says what the app drawn last says.
40
+ */
41
+ export declare function sayIn(saying: Saying): void;
42
+ /**
43
+ * Say what `run` says in an app's locale and zone, and give the page's back
44
+ * after: for a host that answers for an app away from any page — an agent's
45
+ * act, a server's reply — where no provider drew. What the call leaves out
46
+ * stays as the page had it, and a reader's a host passed still wins.
47
+ */
48
+ export declare function sayingIn<T>(saying: Saying, run: () => T): T;
25
49
  /** The locale a value is said in: the reader's when a host passed one, else the app's (`app`, else the page's), else en-US. */
26
50
  export declare const localeFor: (app?: string) => string;
51
+ /** The zone an instant is said in, when somebody said one: the person's, else the app's (`app`, else the page's). Undefined is the runtime's clock. */
52
+ export declare const zoneFor: (app?: string) => string | undefined;
53
+ /** The zone an instant is said in, by name: as `zoneFor`, else the runtime's own ("America/New_York"). What a view is handed. */
54
+ export declare const timeZoneFor: (app?: string) => string;
55
+ /**
56
+ * Why a time zone cannot be said in, as a sentence, or undefined when it
57
+ * can: an IANA name the runtime knows ("America/New_York", "Europe/London",
58
+ * "UTC"). An offset ("+05:00") is refused too, since it keeps no summer
59
+ * time. What `graview check`, a document's checker and `set-brand` say.
60
+ */
61
+ export declare function timeZoneProblem(zone: string): string | undefined;
62
+ /** The fix said beside a time zone refused. */
63
+ export declare const TIME_ZONE_FIX = "Use an IANA time zone, like \"America/New_York\", \"Europe/London\" or \"UTC\".";
27
64
  /** A `YYYY-MM-DD` day as a person reads it: "Aug 28, 2026" in en-US, "28 Aug 2026" in en-GB. Anything else is said as it is. */
28
65
  export declare function dayAsRead(day: string, locale?: string): string;
66
+ /**
67
+ * An instant as a wall time in a zone (the runtime's clock when none): its
68
+ * day and the minutes after midnight there. What the date editor, the day
69
+ * of an instant and the calendar read an instant as.
70
+ */
71
+ export declare function wallIn(stamp: number, zone?: string): {
72
+ readonly day: string;
73
+ readonly minutes: number;
74
+ };
75
+ /** The instant a wall time in a zone names (the runtime's clock when none), `wallIn` backwards. */
76
+ export declare function instantIn(day: string, minutes: number, zone?: string): number;
29
77
  /**
30
78
  * A moment as a person reads it: "Sep 10, 2023, 3:30 PM" (en-US), "10 Sep
31
- * 2023, 15:30" (en-GB). An instant is said on the reader's clock with the
32
- * zone it is said in — "Oct 17, 2026, 3:00 PM EDT" — since the same words
33
- * name another moment to a reader elsewhere (Roadmap f-date-inputs).
34
- * Anything else is said as it is.
79
+ * 2023, 15:30" (en-GB). An instant is said on the person's clock, else the
80
+ * app's (`timeZone`, else the page's), with the zone it is said in — "Oct
81
+ * 17, 2026, 3:00 PM EDT" — since the same words name another moment to a
82
+ * reader elsewhere (Roadmap f-date-inputs, f-app-time-zone). Anything else
83
+ * is said as it is.
35
84
  */
36
- export declare const momentAsRead: (at: string, locale?: string) => string;
37
- /** A moment's time of day: "3:30 PM" (en-US), "15:30" (en-GB). Anything that is not a moment is said as it is. */
38
- export declare const timeAsRead: (at: string, locale?: string) => string;
85
+ export declare const momentAsRead: (at: string, locale?: string, timeZone?: string) => string;
86
+ /** A moment's time of day: "3:30 PM" (en-US), "15:30" (en-GB), an instant on the clock `momentAsRead` says it on. Anything that is not a moment is said as it is. */
87
+ export declare const timeAsRead: (at: string, locale?: string, timeZone?: string) => string;
88
+ /** The day a moment falls on: an instant's on the clock it is said on, a wall time's as written; a day is itself. Undefined for anything else. */
89
+ export declare function dayOfMoment(at: string, timeZone?: string): string | undefined;
39
90
  /** A number as a person reads it: "1,250" (en-US), "1.250" (de-DE), at most two places after the point unless told. */
40
91
  export declare function numberAsRead(value: number, locale?: string, options?: Intl.NumberFormatOptions): string;
41
92
  /** A day or a moment as it is read; anything else as it is. */
42
- export declare const whenAsRead: (value: string, locale?: string) => string;
93
+ export declare const whenAsRead: (value: string, locale?: string, timeZone?: string) => string;
43
94
  /**
44
95
  * A day with its weekday: "Thursday, Sep 17" (en-US), "Thursday 17 Sep"
45
96
  * (en-GB); with its year when asked, and the weekday short when asked.
@@ -1 +1 @@
1
- {"version":3,"file":"days.d.ts","sourceRoot":"","sources":["../src/days.ts"],"names":[],"mappings":"AAsBA,yFAAyF;AACzF,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,2EAA2E;AAC3E,eAAO,MAAM,OAAO,QAAwB,CAAC;AAE7C,uHAAuH;AACvH,eAAO,MAAM,UAAU,QAA4D,CAAC;AAEpF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,OAAuC,CAAC;AAE7E,mHAAmH;AACnH,eAAO,MAAM,QAAQ,QAAO,MAA+C,CAAC;AAc5E;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,IAAI,CAGhH;AAED,+HAA+H;AAC/H,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAA2D,CAAC;AAoCrG,gIAAgI;AAChI,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9D;AAcD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,EAAE,SAAS,MAAM,KAAG,MAAuF,CAAC;AAEnJ,kHAAkH;AAClH,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,EAAE,SAAS,MAAM,KAAG,MAAgC,CAAC;AAE1F,uHAAuH;AACvH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAkD,GAAG,MAAM,CAErI;AAED,+DAA+D;AAC/D,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAAwF,CAAC;AAErJ;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElJ;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrI;AAED,sEAAsE;AACtE,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,QAAO,OAAO,GAAG,MAAgB,EAAE,SAAS,MAAM,KAAG,MAEjB,CAAC;AAElF,qFAAqF;AACrF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,MACkD,CAAC;AAQpH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"days.d.ts","sourceRoot":"","sources":["../src/days.ts"],"names":[],"mappings":"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"}
package/dist/days.js CHANGED
@@ -18,6 +18,14 @@
18
18
  * The framework's own words are English whatever the locale: what changes
19
19
  * is the order and the punctuation of days, times and figures, not the
20
20
  * sentences around them.
21
+ *
22
+ * WHICH ZONE (Roadmap f-app-time-zone). A moment kept as an instant
23
+ * ("…Z", "…-04:00") is said on a clock: the person's, when the host that
24
+ * mounted the app passed their zone (`timeZone` on the provider, the embed,
25
+ * the pages face); else the app's, `brand.timeZone`, so a practice in New
26
+ * York says "10:47 AM" to its staff and from a server on UTC alike; else
27
+ * the runtime's own clock. A wall time kept without a zone is said as it
28
+ * was written, whatever the zone.
21
29
  */
22
30
  /** What days, times and numbers are said in when neither the reader nor the app says. */
23
31
  export const DEFAULT_LOCALE = "en-US";
@@ -31,8 +39,22 @@ export const ISO_MOMENT = /^\d{4}(-\d\d){2}[T ]\d\d:\d\d(:[\d.]+)?(Z|[+-][\d:]+)
31
39
  * face asks which fields are dates (`fieldOf`): a kind's stop, its calendar.
32
40
  */
33
41
  export const isMoment = (s) => !Number.isNaN(Date.parse(s));
34
- /** Today as a record keeps a day, by the clock's UTC date: what a rule, a template and a label read as today(). */
35
- export const isoToday = () => new Date().toISOString().slice(0, 10);
42
+ /**
43
+ * TODAY AS A RECORD KEEPS A DAY: what a rule, a computed field, a template
44
+ * and a label read as today() (Roadmap f-app-time-zone). The date in the
45
+ * app's zone — `timeZone`, the app's `brand.timeZone` where the caller
46
+ * holds it, else the zone of the app this page draws (`sayIn`'s
47
+ * `appTimeZone`) — else the UTC date, as before an app could say one.
48
+ * Never the reader's zone and never the runtime's: a server and a page
49
+ * read the same day for the same app, and it turns at the app's midnight.
50
+ * `at` is the instant asked about; now when unsaid.
51
+ */
52
+ export const isoToday = (timeZone, at = Date.now()) => {
53
+ const zone = dayZoneFor(timeZone);
54
+ return zone ? wallIn(at, zone).day : new Date(at).toISOString().slice(0, 10);
55
+ };
56
+ /** The zone today() turns in: the app's (`app`, else the page's), never the reader's. Undefined is UTC. */
57
+ export const dayZoneFor = (app) => usableZone(app) ?? drawnZone;
36
58
  /*
37
59
  * THE PAGE'S LOCALES. A label is a function of a node and nothing else, and
38
60
  * the Scene, a glance and an invariant's message are said far from any
@@ -44,18 +66,78 @@ export const isoToday = () => new Date().toISOString().slice(0, 10);
44
66
  */
45
67
  let readers;
46
68
  let drawn;
69
+ let readersZone;
70
+ let drawnZone;
47
71
  /**
48
- * Say days, times and numbers on this page in a reader's locale and an
49
- * app's (FR-178). Either may be left out. Every provider says it as it
50
- * draws, before anything under it does, so the page says what the app
51
- * drawn last says.
72
+ * Say days, times and numbers on this page in a reader's locale and zone
73
+ * and an app's (FR-178, Roadmap f-app-time-zone). Any may be left out.
74
+ * Every provider says it as it draws, before anything under it does, so
75
+ * the page says what the app drawn last says.
52
76
  */
53
- export function sayIn(locales) {
54
- readers = usable(locales.reader);
55
- drawn = usable(locales.app);
77
+ export function sayIn(saying) {
78
+ readers = usable(saying.reader);
79
+ drawn = usable(saying.app);
80
+ readersZone = usableZone(saying.readerTimeZone);
81
+ drawnZone = usableZone(saying.appTimeZone);
82
+ }
83
+ /**
84
+ * Say what `run` says in an app's locale and zone, and give the page's back
85
+ * after: for a host that answers for an app away from any page — an agent's
86
+ * act, a server's reply — where no provider drew. What the call leaves out
87
+ * stays as the page had it, and a reader's a host passed still wins.
88
+ */
89
+ export function sayingIn(saying, run) {
90
+ const was = [readers, drawn, readersZone, drawnZone];
91
+ if (saying.reader !== undefined)
92
+ readers = usable(saying.reader);
93
+ if (saying.app !== undefined)
94
+ drawn = usable(saying.app);
95
+ if (saying.readerTimeZone !== undefined)
96
+ readersZone = usableZone(saying.readerTimeZone);
97
+ if (saying.appTimeZone !== undefined)
98
+ drawnZone = usableZone(saying.appTimeZone);
99
+ try {
100
+ return run();
101
+ }
102
+ finally {
103
+ [readers, drawn, readersZone, drawnZone] = was;
104
+ }
56
105
  }
57
106
  /** The locale a value is said in: the reader's when a host passed one, else the app's (`app`, else the page's), else en-US. */
58
107
  export const localeFor = (app) => readers ?? usable(app) ?? drawn ?? DEFAULT_LOCALE;
108
+ /** The zone an instant is said in, when somebody said one: the person's, else the app's (`app`, else the page's). Undefined is the runtime's clock. */
109
+ export const zoneFor = (app) => readersZone ?? usableZone(app) ?? drawnZone;
110
+ /** The zone an instant is said in, by name: as `zoneFor`, else the runtime's own ("America/New_York"). What a view is handed. */
111
+ export const timeZoneFor = (app) => zoneFor(app) ?? Intl.DateTimeFormat().resolvedOptions().timeZone ?? "UTC";
112
+ /** An offset written where a zone was asked for: "+05:00", "-4". */
113
+ const OFFSET = /^\s*([+\-−]|\d)/;
114
+ /**
115
+ * Why a time zone cannot be said in, as a sentence, or undefined when it
116
+ * can: an IANA name the runtime knows ("America/New_York", "Europe/London",
117
+ * "UTC"). An offset ("+05:00") is refused too, since it keeps no summer
118
+ * time. What `graview check`, a document's checker and `set-brand` say.
119
+ */
120
+ export function timeZoneProblem(zone) {
121
+ if (OFFSET.test(zone))
122
+ return `"${zone}" is an offset, not a time zone, so its clock would not change for summer time.`;
123
+ return usableZone(zone) ? undefined : `"${zone}" is not a time zone, so its times could not be said on its clock.`;
124
+ }
125
+ /** The fix said beside a time zone refused. */
126
+ export const TIME_ZONE_FIX = 'Use an IANA time zone, like "America/New_York", "Europe/London" or "UTC".';
127
+ const zones = new Map();
128
+ /* A zone `Intl` refuses, or an offset, is said on the runtime's clock: never a thrown page. */
129
+ function usableZone(zone) {
130
+ if (zone && !zones.has(zone)) {
131
+ let ok = false;
132
+ try {
133
+ new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone: zone });
134
+ ok = !OFFSET.test(zone);
135
+ }
136
+ catch { }
137
+ zones.set(zone, ok);
138
+ }
139
+ return zone && zones.get(zone) ? zone : undefined;
140
+ }
59
141
  /*
60
142
  * A formatter is costly to make and cheap to use, and a page says thousands
61
143
  * of days: each is made once per locale and shape, and whether the runtime
@@ -92,34 +174,75 @@ const stampOf = (day) => Date.UTC(+day.slice(0, 4), +day.slice(5, 7) - 1, +day.s
92
174
  export function dayAsRead(day, locale) {
93
175
  return ISO_DAY.test(day) ? said(stampOf(day), { year: "numeric", month: "short", day: "numeric", timeZone: UTC }, locale) : day;
94
176
  }
177
+ /**
178
+ * An instant as a wall time in a zone (the runtime's clock when none): its
179
+ * day and the minutes after midnight there. What the date editor, the day
180
+ * of an instant and the calendar read an instant as.
181
+ */
182
+ export function wallIn(stamp, zone) {
183
+ const key = `wall@${zone ?? ""}`;
184
+ let format = made.get(key);
185
+ if (!format)
186
+ made.set(key, (format = new Intl.DateTimeFormat("en-US", { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", hourCycle: "h23", ...(zone ? { timeZone: zone } : {}) })));
187
+ const part = Object.fromEntries(format.formatToParts(stamp).map((one) => [one.type, one.value]));
188
+ return { day: `${part["year"]}-${part["month"]}-${part["day"]}`, minutes: (Number(part["hour"]) % 24) * 60 + Number(part["minute"]) };
189
+ }
190
+ /** The instant a wall time in a zone names (the runtime's clock when none), `wallIn` backwards. */
191
+ export function instantIn(day, minutes, zone) {
192
+ const wall = Date.UTC(+day.slice(0, 4), +day.slice(5, 7) - 1, +day.slice(8, 10), 0, minutes);
193
+ // How far the zone's clock is ahead of UTC at an instant; asked twice, so a wall time beside a change of the clock lands on the right side of it.
194
+ const ahead = (stamp) => {
195
+ const there = wallIn(stamp, zone);
196
+ return utcStampOf(there.day, there.minutes) - Math.floor(stamp / 60_000) * 60_000;
197
+ };
198
+ return wall - ahead(wall - ahead(wall));
199
+ }
200
+ const utcStampOf = (day, minutes) => Date.UTC(+day.slice(0, 4), +day.slice(5, 7) - 1, +day.slice(8, 10), 0, minutes);
95
201
  /*
96
202
  * A moment written with a zone ("…Z", "…+02:00") names an instant, said on
97
- * the reader's clock; written without one, it is the time on the wall it
98
- * was written for, said as written.
203
+ * the person's clock, else the app's, else the runtime's (`zoneFor`);
204
+ * written without one, it is the time on the wall it was written for, said
205
+ * as written.
99
206
  */
100
- function moment(at, options, locale, zone = false) {
207
+ const namesZone = (at) => /[Z+-][\d:]*$/.test(at.slice(16));
208
+ function moment(at, options, locale, timeZone, named = false) {
101
209
  if (!ISO_MOMENT.test(at))
102
210
  return at;
103
- const zoned = /[Z+-][\d:]*$/.test(at.slice(16));
211
+ const zoned = namesZone(at);
104
212
  const stamp = Date.parse(at.replace(" ", "T") + (zoned ? "" : "Z"));
105
- return Number.isNaN(stamp) ? at : said(stamp, { ...options, hour: "numeric", minute: "2-digit", ...(zoned ? (zone ? { timeZoneName: "short" } : {}) : { timeZone: UTC }) }, locale);
213
+ if (Number.isNaN(stamp))
214
+ return at;
215
+ const zone = zoned ? zoneFor(timeZone) : UTC;
216
+ return said(stamp, { ...options, hour: "numeric", minute: "2-digit", ...(zoned && named ? { timeZoneName: "short" } : {}), ...(zone ? { timeZone: zone } : {}) }, locale);
106
217
  }
107
218
  /**
108
219
  * A moment as a person reads it: "Sep 10, 2023, 3:30 PM" (en-US), "10 Sep
109
- * 2023, 15:30" (en-GB). An instant is said on the reader's clock with the
110
- * zone it is said in — "Oct 17, 2026, 3:00 PM EDT" — since the same words
111
- * name another moment to a reader elsewhere (Roadmap f-date-inputs).
112
- * Anything else is said as it is.
220
+ * 2023, 15:30" (en-GB). An instant is said on the person's clock, else the
221
+ * app's (`timeZone`, else the page's), with the zone it is said in — "Oct
222
+ * 17, 2026, 3:00 PM EDT" — since the same words name another moment to a
223
+ * reader elsewhere (Roadmap f-date-inputs, f-app-time-zone). Anything else
224
+ * is said as it is.
113
225
  */
114
- export const momentAsRead = (at, locale) => moment(at, { year: "numeric", month: "short", day: "numeric" }, locale, true);
115
- /** A moment's time of day: "3:30 PM" (en-US), "15:30" (en-GB). Anything that is not a moment is said as it is. */
116
- export const timeAsRead = (at, locale) => moment(at, {}, locale);
226
+ export const momentAsRead = (at, locale, timeZone) => moment(at, { year: "numeric", month: "short", day: "numeric" }, locale, timeZone, true);
227
+ /** A moment's time of day: "3:30 PM" (en-US), "15:30" (en-GB), an instant on the clock `momentAsRead` says it on. Anything that is not a moment is said as it is. */
228
+ export const timeAsRead = (at, locale, timeZone) => moment(at, {}, locale, timeZone);
229
+ /** The day a moment falls on: an instant's on the clock it is said on, a wall time's as written; a day is itself. Undefined for anything else. */
230
+ export function dayOfMoment(at, timeZone) {
231
+ if (ISO_DAY.test(at))
232
+ return at;
233
+ if (!ISO_MOMENT.test(at))
234
+ return undefined;
235
+ if (!namesZone(at))
236
+ return at.slice(0, 10);
237
+ const stamp = Date.parse(at.replace(" ", "T"));
238
+ return Number.isNaN(stamp) ? undefined : wallIn(stamp, zoneFor(timeZone)).day;
239
+ }
117
240
  /** A number as a person reads it: "1,250" (en-US), "1.250" (de-DE), at most two places after the point unless told. */
118
241
  export function numberAsRead(value, locale, options = { maximumFractionDigits: 2 }) {
119
242
  return Number.isFinite(value) ? said(value, options, locale, true) : String(value);
120
243
  }
121
244
  /** A day or a moment as it is read; anything else as it is. */
122
- export const whenAsRead = (value, locale) => (ISO_DAY.test(value) ? dayAsRead(value, locale) : momentAsRead(value, locale));
245
+ export const whenAsRead = (value, locale, timeZone) => (ISO_DAY.test(value) ? dayAsRead(value, locale) : momentAsRead(value, locale, timeZone));
123
246
  /**
124
247
  * A day with its weekday: "Thursday, Sep 17" (en-US), "Thursday 17 Sep"
125
248
  * (en-GB); with its year when asked, and the weekday short when asked.
package/dist/days.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"days.js","sourceRoot":"","sources":["../src/days.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"days.js","sourceRoot":"","sources":["../src/days.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export { describePlace, placeText } from "./document/describe-place.js";
2
2
  export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
3
3
  export type { ColumnMove, ColumnReach, StatusColumn } from "./columns.js";
4
- export type { DescribedFact, DescribedItem, DescribedMasthead, DescribedPart, DescribedProblem, DescribePlaceOptions, DescribePlaceResult, PlaceDescription } from "./document/describe-place.js";
4
+ export type { DescribePlaceOptions } from "./document/describe-place.js";
5
+ export type { DescribedFact, DescribedItem, DescribedMasthead, DescribedPart, DescribedProblem, DescribePlaceResult, PlaceDescription } from "./document/described.js";
5
6
  export { resolveFor } from "./document/resolve-for.js";
6
7
  export type { DeclaredBlocks, ResolveForOptions } from "./document/resolve-for.js";
7
8
  import "./index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASlM,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AASvK,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1G;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC,CAAC,2FAA2F"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI1G;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC,CAAC,2FAA2F"}
@@ -60,7 +60,7 @@ export function blockContextFor(source, principal, given, options = {}) {
60
60
  kinds: shapesFor(schema),
61
61
  fields: node ? fieldsFor(schema, node.kind) : {},
62
62
  definition: (definition || undefined),
63
- today: options.today ?? seen.today?.() ?? isoToday(),
63
+ today: options.today ?? seen.today?.() ?? isoToday(money?.timeZone),
64
64
  money,
65
65
  heading: options.heading ?? (once ? 2 : 3),
66
66
  firstHeading,
@@ -1 +1 @@
1
- {"version":3,"file":"block-context.js","sourceRoot":"","sources":["../../src/document/block-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-context.js","sourceRoot":"","sources":["../../src/document/block-context.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ export interface BlockContext {
112
112
  /** How the declaration says a field and its values (`display.labels`, `display.format`). */
113
113
  readonly definition?: Parameters<typeof valueWords>[0] | undefined;
114
114
  readonly today: string;
115
- /** The app's currency and locale (`brand.currency`, `brand.locale`): what money is said in where a block names no currency (FR-100). */
115
+ /** The app's currency, locale and zone (`brand.currency`, `brand.locale`, `brand.timeZone`): what money is said in where a block names no currency (FR-100), and the clock an instant is said on. */
116
116
  readonly money?: Money | undefined;
117
117
  /** A card or a row: a Markdown field is said by its start, the syntax taken out (FR-180). */
118
118
  readonly glance?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/document/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/document/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAyB,KAAK,SAAS,EAAc,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAA+D,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAG3H,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAoD,OAAO,EAA6B,kBAAkB,EAAc,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzN,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA0B/E,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,KAAK,IAAI,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,KAAK,WAAW,GACZ;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACzJ,oFAAoF;GAClF;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5G,kFAAkF;GAChF;IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAAE,GACtI;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,GACpG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACpM;IACE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,oHAAoH;IACpH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAyDN;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,OAAO,EAAE,EAAE,KAAK,SAAI,EAAE,MAAM,SAAK,GAAG,SAAS,SAAS,EAAE,CAsD7H;AAOD,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,8GAA8G;IAC9G,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,4HAA4H;IAC5H,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qMAAqM;IACrM,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,4JAA4J;AAC5J,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,KAAK,OAAO,GACR;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAC3E,sHAAsH;GACpH;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5H;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AACpG,6FAA6F;GAC3F;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAC9Q,iGAAiG;GAC/F;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACjM;IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpJ;IAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE;AAC1G,+FAA+F;GAC7F;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrH;IAAE,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAA;CAAE;AAC3B,4DAA4D;GAC1D;IAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpG;IAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5I,uHAAuH;AACvH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAED,+HAA+H;AAC/H,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,sGAAsG;IACtG,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,0HAA0H;IAC1H,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,wGAAwG;IACxG,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC7C,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8GAA8G;IAC9G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA6DD,uGAAuG;AACvG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAiCD,mIAAmI;AACnI,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAK5J;AAyGD,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,aAAa,EAAE,CAGvG;AAED,+GAA+G;AAC/G,MAAM,WAAW,UAAU;IACzB,kHAAkH;IAClH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAaD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,UAAU,CA0E1G;AAmHD,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAKrD;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAQjG"}
@@ -8,8 +8,8 @@ import { fieldSpecOf } from "./field-spec.js";
8
8
  import { linkedRefsOf } from "../schema/linked.js";
9
9
  import { FIGURE_EMPHASES, FIGURE_FORMATS, groupRelationOf, LIST_AS, LIST_PAGE, MAX_LIST_LIMIT, VIEW_FIELD_FORMATS, VIEW_TONES } from "./views.js";
10
10
  import { capitalize } from "../capital.js";
11
- import { filesOf, isImage } from "../schema/files.js";
12
- import { fileWords } from "../schema/file-fields.js";
11
+ import { filesOf, isImage, isVideo } from "../schema/files.js";
12
+ import { fileSaid } from "../schema/file-fields.js";
13
13
  import { momentAsRead, numberAsRead } from "../days.js";
14
14
  import { fieldSays, typedHref, typedWords } from "../schema/field-words.js";
15
15
  import { amountOf } from "../schema/amount-mark.js";
@@ -231,7 +231,7 @@ function fieldText(key, value, ctx, as, currency) {
231
231
  if (spec?.type === "date")
232
232
  return formatValue(value, "date", ctx.today, [], ctx.money);
233
233
  if (spec?.type === "datetime" && typeof value === "string")
234
- return momentAsRead(value, ctx.money?.locale);
234
+ return momentAsRead(value, ctx.money?.locale, ctx.money?.timeZone);
235
235
  if (spec?.type === "enum" && typeof value === "string")
236
236
  return valueWords(ctx.definition, key, value);
237
237
  // A number said as its field declares it: money in the app's currency, a fraction as a percent.
@@ -242,7 +242,7 @@ function fieldText(key, value, ctx, as, currency) {
242
242
  return numberAsRead(value, ctx.money?.locale, {});
243
243
  const files = filesOf(value);
244
244
  if (files[0])
245
- return files.map(fileWords).join(", ");
245
+ return files.map(fileSaid).join(", ");
246
246
  if (Array.isArray(value))
247
247
  return value.map((one) => String(one)).join(", ");
248
248
  if (typeof value === "object")
@@ -323,8 +323,8 @@ function resolveOne(block, ctx, first) {
323
323
  case "image": {
324
324
  // About no one record there are no files: the check says so of the home's blocks.
325
325
  const all = filesOf(ctx.node && Object.hasOwn(ctx.node, block.field) ? ctx.node[block.field] : null);
326
- const files = block.as === "gallery" ? all : all.filter(isImage).slice(0, 1);
327
- return { t: "image", field: block.field, label: block.label ?? fieldWords(ctx.definition, block.field), as: block.as, files, text: files.map(fileWords).join(", ") || NOTHING };
326
+ const files = block.as === "gallery" ? all : all.filter((file) => isImage(file) || isVideo(file)).slice(0, 1);
327
+ return { t: "image", field: block.field, label: block.label ?? fieldWords(ctx.definition, block.field), as: block.as, files, text: files.map(fileSaid).join(", ") || NOTHING };
328
328
  }
329
329
  case "progress": {
330
330
  const value = judge(block.value, ctx);