@fieldia/core 0.23.0 → 0.25.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 (221) hide show
  1. package/README.md +211 -3
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +1051 -325
  4. package/src/index.d.mts +9 -2
  5. package/src/index.d.ts +9 -2
  6. package/src/index.js +31 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +12 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/actions.d.mts +31 -1
  11. package/src/lib/format/actions.d.ts +31 -1
  12. package/src/lib/format/actions.js +1 -0
  13. package/src/lib/format/actions.js.map +1 -1
  14. package/src/lib/format/actions.mjs +1 -0
  15. package/src/lib/format/actions.mjs.map +1 -1
  16. package/src/lib/format/autofill-group.d.mts +12 -0
  17. package/src/lib/format/autofill-group.d.ts +12 -0
  18. package/src/lib/format/autofill-group.js +23 -0
  19. package/src/lib/format/autofill-group.js.map +1 -0
  20. package/src/lib/format/autofill-group.mjs +19 -0
  21. package/src/lib/format/autofill-group.mjs.map +1 -0
  22. package/src/lib/format/autofill.d.mts +14 -0
  23. package/src/lib/format/autofill.d.ts +14 -0
  24. package/src/lib/format/autofill.js +54 -0
  25. package/src/lib/format/autofill.js.map +1 -0
  26. package/src/lib/format/autofill.mjs +48 -0
  27. package/src/lib/format/autofill.mjs.map +1 -0
  28. package/src/lib/format/bulk-edit.d.mts +18 -0
  29. package/src/lib/format/bulk-edit.d.ts +18 -0
  30. package/src/lib/format/bulk-edit.js +26 -0
  31. package/src/lib/format/bulk-edit.js.map +1 -0
  32. package/src/lib/format/bulk-edit.mjs +21 -0
  33. package/src/lib/format/bulk-edit.mjs.map +1 -0
  34. package/src/lib/format/duplicate-kinds.d.mts +10 -0
  35. package/src/lib/format/duplicate-kinds.d.ts +10 -0
  36. package/src/lib/format/duplicate-kinds.js +14 -0
  37. package/src/lib/format/duplicate-kinds.js.map +1 -0
  38. package/src/lib/format/duplicate-kinds.mjs +10 -0
  39. package/src/lib/format/duplicate-kinds.mjs.map +1 -0
  40. package/src/lib/format/duplicates.d.mts +22 -0
  41. package/src/lib/format/duplicates.d.ts +22 -0
  42. package/src/lib/format/duplicates.js +24 -0
  43. package/src/lib/format/duplicates.js.map +1 -0
  44. package/src/lib/format/duplicates.mjs +21 -0
  45. package/src/lib/format/duplicates.mjs.map +1 -0
  46. package/src/lib/format/field.d.mts +291 -34
  47. package/src/lib/format/field.d.ts +291 -34
  48. package/src/lib/format/field.js +19 -4
  49. package/src/lib/format/field.js.map +1 -1
  50. package/src/lib/format/field.mjs +17 -2
  51. package/src/lib/format/field.mjs.map +1 -1
  52. package/src/lib/format/import-fields.d.mts +18 -0
  53. package/src/lib/format/import-fields.d.ts +18 -0
  54. package/src/lib/format/import-fields.js +26 -0
  55. package/src/lib/format/import-fields.js.map +1 -0
  56. package/src/lib/format/import-fields.mjs +21 -0
  57. package/src/lib/format/import-fields.mjs.map +1 -0
  58. package/src/lib/format/layout.d.mts +7357 -3127
  59. package/src/lib/format/layout.d.ts +7357 -3127
  60. package/src/lib/format/layout.js +108 -32
  61. package/src/lib/format/layout.js.map +1 -1
  62. package/src/lib/format/layout.mjs +107 -32
  63. package/src/lib/format/layout.mjs.map +1 -1
  64. package/src/lib/format/layout.types.d.mts +5 -2
  65. package/src/lib/format/layout.types.d.ts +5 -2
  66. package/src/lib/format/page.d.mts +1080 -106
  67. package/src/lib/format/page.d.ts +1080 -106
  68. package/src/lib/format/page.js +25 -0
  69. package/src/lib/format/page.js.map +1 -1
  70. package/src/lib/format/page.mjs +26 -1
  71. package/src/lib/format/page.mjs.map +1 -1
  72. package/src/lib/format/phone.d.mts +27 -0
  73. package/src/lib/format/phone.d.ts +27 -0
  74. package/src/lib/format/phone.js +43 -0
  75. package/src/lib/format/phone.js.map +1 -0
  76. package/src/lib/format/phone.mjs +39 -0
  77. package/src/lib/format/phone.mjs.map +1 -0
  78. package/src/lib/format/references.d.mts +39 -0
  79. package/src/lib/format/references.d.ts +39 -0
  80. package/src/lib/format/references.js +263 -20
  81. package/src/lib/format/references.js.map +1 -1
  82. package/src/lib/format/references.mjs +263 -20
  83. package/src/lib/format/references.mjs.map +1 -1
  84. package/src/lib/format/slots-options.d.mts +26 -0
  85. package/src/lib/format/slots-options.d.ts +26 -0
  86. package/src/lib/format/slots-options.js +35 -0
  87. package/src/lib/format/slots-options.js.map +1 -0
  88. package/src/lib/format/slots-options.mjs +31 -0
  89. package/src/lib/format/slots-options.mjs.map +1 -0
  90. package/src/lib/format/translate.js +8 -4
  91. package/src/lib/format/translate.js.map +1 -1
  92. package/src/lib/format/translate.mjs +8 -4
  93. package/src/lib/format/translate.mjs.map +1 -1
  94. package/src/lib/format/upgrade.d.mts +8 -3
  95. package/src/lib/format/upgrade.d.ts +8 -3
  96. package/src/lib/format/upgrade.js +8 -3
  97. package/src/lib/format/upgrade.js.map +1 -1
  98. package/src/lib/format/upgrade.mjs +8 -3
  99. package/src/lib/format/upgrade.mjs.map +1 -1
  100. package/src/lib/format/version.d.mts +2 -2
  101. package/src/lib/format/version.d.ts +2 -2
  102. package/src/lib/format/version.js +2 -2
  103. package/src/lib/format/version.js.map +1 -1
  104. package/src/lib/format/version.mjs +2 -2
  105. package/src/lib/format/version.mjs.map +1 -1
  106. package/src/lib/format/zoned.d.mts +8 -0
  107. package/src/lib/format/zoned.d.ts +8 -0
  108. package/src/lib/format/zoned.js +36 -0
  109. package/src/lib/format/zoned.js.map +1 -0
  110. package/src/lib/format/zoned.mjs +33 -0
  111. package/src/lib/format/zoned.mjs.map +1 -0
  112. package/src/lib/record/check.d.mts +6 -1
  113. package/src/lib/record/check.d.ts +6 -1
  114. package/src/lib/record/check.js +12 -4
  115. package/src/lib/record/check.js.map +1 -1
  116. package/src/lib/record/check.mjs +12 -4
  117. package/src/lib/record/check.mjs.map +1 -1
  118. package/src/lib/record/data-source.d.mts +309 -3
  119. package/src/lib/record/data-source.d.ts +309 -3
  120. package/src/lib/record/data-source.js +16 -0
  121. package/src/lib/record/data-source.js.map +1 -1
  122. package/src/lib/record/data-source.mjs +15 -0
  123. package/src/lib/record/data-source.mjs.map +1 -1
  124. package/src/lib/record/form.d.mts +116 -25
  125. package/src/lib/record/form.d.ts +116 -25
  126. package/src/lib/record/form.js +457 -78
  127. package/src/lib/record/form.js.map +1 -1
  128. package/src/lib/record/form.mjs +457 -78
  129. package/src/lib/record/form.mjs.map +1 -1
  130. package/src/lib/record/input-rules.d.mts +51 -9
  131. package/src/lib/record/input-rules.d.ts +51 -9
  132. package/src/lib/record/input-rules.js +119 -20
  133. package/src/lib/record/input-rules.js.map +1 -1
  134. package/src/lib/record/input-rules.mjs +118 -19
  135. package/src/lib/record/input-rules.mjs.map +1 -1
  136. package/src/lib/record/inputs.js +4 -2
  137. package/src/lib/record/inputs.js.map +1 -1
  138. package/src/lib/record/inputs.mjs +4 -2
  139. package/src/lib/record/inputs.mjs.map +1 -1
  140. package/src/lib/record/limits.d.mts +1 -1
  141. package/src/lib/record/limits.d.ts +1 -1
  142. package/src/lib/record/limits.js +4 -2
  143. package/src/lib/record/limits.js.map +1 -1
  144. package/src/lib/record/limits.mjs +4 -2
  145. package/src/lib/record/limits.mjs.map +1 -1
  146. package/src/lib/record/locales/ar.js +3 -2
  147. package/src/lib/record/locales/ar.js.map +1 -1
  148. package/src/lib/record/locales/ar.mjs +3 -2
  149. package/src/lib/record/locales/ar.mjs.map +1 -1
  150. package/src/lib/record/locales/de.js +3 -2
  151. package/src/lib/record/locales/de.js.map +1 -1
  152. package/src/lib/record/locales/de.mjs +3 -2
  153. package/src/lib/record/locales/de.mjs.map +1 -1
  154. package/src/lib/record/locales/fr.js +3 -2
  155. package/src/lib/record/locales/fr.js.map +1 -1
  156. package/src/lib/record/locales/fr.mjs +3 -2
  157. package/src/lib/record/locales/fr.mjs.map +1 -1
  158. package/src/lib/record/memory-data-source.d.mts +20 -2
  159. package/src/lib/record/memory-data-source.d.ts +20 -2
  160. package/src/lib/record/memory-data-source.js +153 -35
  161. package/src/lib/record/memory-data-source.js.map +1 -1
  162. package/src/lib/record/memory-data-source.mjs +154 -36
  163. package/src/lib/record/memory-data-source.mjs.map +1 -1
  164. package/src/lib/record/memory-duplicates.d.mts +19 -0
  165. package/src/lib/record/memory-duplicates.d.ts +19 -0
  166. package/src/lib/record/memory-duplicates.js +78 -0
  167. package/src/lib/record/memory-duplicates.js.map +1 -0
  168. package/src/lib/record/memory-duplicates.mjs +74 -0
  169. package/src/lib/record/memory-duplicates.mjs.map +1 -0
  170. package/src/lib/record/memory-schedules.d.mts +45 -0
  171. package/src/lib/record/memory-schedules.d.ts +45 -0
  172. package/src/lib/record/memory-schedules.js +81 -0
  173. package/src/lib/record/memory-schedules.js.map +1 -0
  174. package/src/lib/record/memory-schedules.mjs +78 -0
  175. package/src/lib/record/memory-schedules.mjs.map +1 -0
  176. package/src/lib/record/messages.d.mts +3 -1
  177. package/src/lib/record/messages.d.ts +3 -1
  178. package/src/lib/record/messages.js +3 -2
  179. package/src/lib/record/messages.js.map +1 -1
  180. package/src/lib/record/messages.mjs +3 -2
  181. package/src/lib/record/messages.mjs.map +1 -1
  182. package/src/lib/record/periods.d.mts +47 -0
  183. package/src/lib/record/periods.d.ts +47 -0
  184. package/src/lib/record/periods.js +86 -0
  185. package/src/lib/record/periods.js.map +1 -0
  186. package/src/lib/record/periods.mjs +79 -0
  187. package/src/lib/record/periods.mjs.map +1 -0
  188. package/src/lib/record/rules.js +5 -6
  189. package/src/lib/record/rules.js.map +1 -1
  190. package/src/lib/record/rules.mjs +5 -6
  191. package/src/lib/record/rules.mjs.map +1 -1
  192. package/src/lib/record/run.d.mts +75 -9
  193. package/src/lib/record/run.d.ts +75 -9
  194. package/src/lib/record/run.js +169 -26
  195. package/src/lib/record/run.js.map +1 -1
  196. package/src/lib/record/run.mjs +170 -27
  197. package/src/lib/record/run.mjs.map +1 -1
  198. package/src/lib/record/search.d.mts +13 -3
  199. package/src/lib/record/search.d.ts +13 -3
  200. package/src/lib/record/search.js +11 -4
  201. package/src/lib/record/search.js.map +1 -1
  202. package/src/lib/record/search.mjs +11 -4
  203. package/src/lib/record/search.mjs.map +1 -1
  204. package/src/lib/record/waits.d.mts +32 -0
  205. package/src/lib/record/waits.d.ts +32 -0
  206. package/src/lib/record/waits.js +89 -0
  207. package/src/lib/record/waits.js.map +1 -0
  208. package/src/lib/record/waits.mjs +85 -0
  209. package/src/lib/record/waits.mjs.map +1 -0
  210. package/src/lib/record/zones.d.mts +57 -0
  211. package/src/lib/record/zones.d.ts +57 -0
  212. package/src/lib/record/zones.js +147 -0
  213. package/src/lib/record/zones.js.map +1 -0
  214. package/src/lib/record/zones.mjs +132 -0
  215. package/src/lib/record/zones.mjs.map +1 -0
  216. package/src/runtime.d.mts +19 -9
  217. package/src/runtime.d.ts +19 -9
  218. package/src/runtime.js +37 -2
  219. package/src/runtime.js.map +1 -1
  220. package/src/runtime.mjs +9 -2
  221. package/src/runtime.mjs.map +1 -1
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Time zones, by their IANA names ("Africa/Cairo", "Europe/Berlin"): a page's
3
+ * `timeZone`, or a date and time field's own. A date and time is kept as an
4
+ * instant (written in UTC, 2026-10-15T12:30:00.000Z, as Fieldia always kept
5
+ * one; an instant written with its offset is read the same) and shown, typed
6
+ * and counted by its day in its zone — the browser's own where none is named.
7
+ * Made from Intl alone, so no zone's rules are carried in the code.
8
+ *
9
+ * On a day the clocks change, a time on the clock may not exist (the hour they
10
+ * skip) or exist twice (the hour they repeat): `instantsAt` gives none, or
11
+ * both, and what reads a typed time says so — it is never moved in silence.
12
+ */
13
+ const MINUTE = 60000;
14
+ const clocks = new Map();
15
+ /** The clock of a zone, read in parts: Intl's, the Gregorian calendar, 24 hours, Latin digits. */
16
+ function clockOf(zone) {
17
+ let clock = clocks.get(zone);
18
+ if (!clock) {
19
+ clock = new Intl.DateTimeFormat('en-US', { timeZone: zone, calendar: 'gregory', numberingSystem: 'latn', hourCycle: 'h23', year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric' });
20
+ clocks.set(zone, clock);
21
+ }
22
+ return clock;
23
+ }
24
+ /** Whether a name is a time zone the browser knows, by its IANA name: "Africa/Cairo", "UTC". Never an offset. */
25
+ export function isTimeZone(name) {
26
+ if (typeof name !== 'string' || !/^[A-Za-z][\w+-]*(\/[\w+-]+)*$/.test(name))
27
+ return false;
28
+ try {
29
+ clockOf(name);
30
+ return true;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ /** The browser's own time zone, by its IANA name. */
37
+ export function ownZone() {
38
+ return new Intl.DateTimeFormat().resolvedOptions().timeZone;
39
+ }
40
+ const own = new Map();
41
+ /**
42
+ * Whether a zone keeps the browser's own clock: the same time through the year, in winter and summer — the browser's
43
+ * zone by any of its names ("Asia/Calcutta", "Asia/Kolkata"), or a neighbour on the same clock. Asked once a zone.
44
+ */
45
+ export function isOwnZone(zone) {
46
+ let same = own.get(zone);
47
+ if (same === undefined) {
48
+ const year = new Date().getFullYear();
49
+ same = [0, 3, 6, 9].every((month) => zoneOffset(Date.UTC(year, month, 15), zone) === zoneOffset(Date.UTC(year, month, 15)));
50
+ own.set(zone, same);
51
+ }
52
+ return same;
53
+ }
54
+ /** The clock in `zone` at an instant (in ms), to the minute: the browser's own clock without one. */
55
+ export function wallTime(at, zone) {
56
+ if (!zone) {
57
+ const d = new Date(at);
58
+ return { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate(), hour: d.getHours(), minute: d.getMinutes() };
59
+ }
60
+ const read = {};
61
+ for (const part of clockOf(zone).formatToParts(at))
62
+ read[part.type] = Number(part.value);
63
+ return { year: read['year'], month: read['month'], day: read['day'], hour: read['hour'] % 24, minute: read['minute'] };
64
+ }
65
+ const pad = (n, width = 2) => String(n).padStart(width, '0');
66
+ /** A day as a date field keeps it: 2026-10-15. */
67
+ export const wallDay = (wall) => `${pad(wall.year, 4)}-${pad(wall.month)}-${pad(wall.day)}`;
68
+ /** A clock's time: 14:30. */
69
+ export const wallClock = (wall) => `${pad(wall.hour)}:${pad(wall.minute)}`;
70
+ /** A wall time as the date readers write one: 2026-10-15T14:30. */
71
+ export const wallText = (wall) => `${wallDay(wall)}T${wallClock(wall)}`;
72
+ /** A wall time read back from yyyy-mm-dd and, after a T, HH:MM (midnight without). */
73
+ export function wallOf(text) {
74
+ const m = /^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?/.exec(text);
75
+ return m ? { year: Number(m[1]), month: Number(m[2]), day: Number(m[3]), hour: Number(m[4] ?? 0), minute: Number(m[5] ?? 0) } : null;
76
+ }
77
+ /** A wall time as if it were UTC, in ms: what the zone's offset is added to. */
78
+ const asUtc = (wall) => Date.UTC(wall.year, wall.month - 1, wall.day, wall.hour, wall.minute);
79
+ /** The minute an instant falls in. */
80
+ const floorMinute = (at) => Math.floor(at / MINUTE) * MINUTE;
81
+ /** Minutes the zone's clock is ahead of UTC at an instant: 180 in Cairo's summer, -240 in New York's. */
82
+ export function zoneOffset(at, zone) {
83
+ return Math.round((asUtc(wallTime(at, zone)) - floorMinute(at)) / MINUTE);
84
+ }
85
+ /**
86
+ * The instants a time on the clock is in a zone, earliest first: one; none in the hour the clocks skip as they go
87
+ * forward; two in the hour they repeat as they go back. The browser's own zone without one.
88
+ */
89
+ export function instantsAt(wall, zone) {
90
+ const local = asUtc(wall);
91
+ const found = new Set();
92
+ // The zone's offsets a day either side: what the clock is ahead by before a change near it and after.
93
+ for (const probe of [local - 86400000, local, local + 86400000]) {
94
+ const at = local - zoneOffset(probe, zone) * MINUTE;
95
+ if (asUtc(wallTime(at, zone)) === local)
96
+ found.add(at);
97
+ }
98
+ return [...found].sort((a, b) => a - b);
99
+ }
100
+ /** The day an instant falls on in a zone, 2026-10-15: the browser's own without one. */
101
+ export function dayIn(at, zone) {
102
+ return wallDay(wallTime(typeof at === 'number' ? at : at.getTime(), zone));
103
+ }
104
+ /**
105
+ * The clocks' change that skips a time on the clock, which `instantsAt` found none of: the time they went forward
106
+ * from and the time they went to (02:00 → 03:00), or null where nothing was skipped.
107
+ */
108
+ export function clocksSkip(wall, zone) {
109
+ const local = asUtc(wall);
110
+ const before = zoneOffset(local - 86400000, zone);
111
+ const after = zoneOffset(local + 86400000, zone);
112
+ if (after <= before || instantsAt(wall, zone).length)
113
+ return null;
114
+ // The change is between the instant the time would be at the later offset and at the earlier: its first minute.
115
+ let low = local - after * MINUTE;
116
+ let high = local - before * MINUTE;
117
+ while (high - low > MINUTE) {
118
+ const middle = floorMinute((low + high) / 2);
119
+ if (zoneOffset(middle, zone) === after)
120
+ high = middle;
121
+ else
122
+ low = middle;
123
+ }
124
+ // Its first minute at the later offset: the clock read it at the earlier one just before, and reads it at the later.
125
+ return { from: utcWall(high + before * MINUTE), to: utcWall(high + after * MINUTE) };
126
+ }
127
+ /** A number of ms read as a UTC clock's parts: the inverse of asUtc. */
128
+ function utcWall(ms) {
129
+ const d = new Date(ms);
130
+ return { year: d.getUTCFullYear(), month: d.getUTCMonth() + 1, day: d.getUTCDate(), hour: d.getUTCHours(), minute: d.getUTCMinutes() };
131
+ }
132
+ //# sourceMappingURL=zones.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zones.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/zones.ts"],"names":[],"mappings":"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"}
package/src/runtime.d.mts CHANGED
@@ -5,17 +5,23 @@
5
5
  */
6
6
  export type { JsonValue } from './lib/format/json.mjs';
7
7
  export { FIELD_NAME, FIELD_TYPES, type FieldType } from './lib/format/names.mjs';
8
- export type { Field, Fields, LineField, LineKinds, Option, OptionsFrom, DefinitionsFrom, PropertyDefinition, FilterCondition, FilterItem, SetWhen, MoneyLook, Period } from './lib/format/field.mjs';
8
+ export type { Field, Fields, LineField, LinkedField, LineKinds, Option, OptionsFrom, DefinitionsFrom, PropertyDefinition, FilterCondition, FilterItem, SetWhen, MoneyLook, Period } from './lib/format/field.mjs';
9
9
  export type { Shrink } from './lib/format/field.mjs';
10
- export type { Modifier, Roles, CellRules, LineOrder, LineForm, PlaceholderWhen, HelpShown, ToneWhen, Tone, FieldNode, ButtonNode, TextNode, SlotNode, SectionNode, TabNode, TabsNode, StepNode, WizardNode, SectionsNode, SheetNode, SheetTitle, SheetHead, SheetKind, HeadLink, HeadBand, Statusbar, StatButton, Ribbon, Alert, Badge, MenuItem, RecordToolbar, AttachmentPreview, ColumnCount, ColumnsByWidth, LayoutNode, RootLayout, ListNode, ListMap, ListCalendar, CalendarView, ListCell, MapCard, CardLine, CardPart, PluralWords, MapLayer, MapNode, MapRoute, MapFence, MapReach, MapRegions, MapTool, Pin, ListFilter, LabelPlace, ScreenWidth, AnswerRule, DividerNode, SpacerNode, ImageNode, FormNode, WidgetOptions, } from './lib/format/layout.mjs';
10
+ export type { Modifier, Roles, CellRules, LineOrder, LineForm, PlaceholderWhen, HelpShown, ToneWhen, Tone, FieldNode, ButtonNode, TextNode, SlotNode, SectionNode, TabNode, TabsNode, StepNode, WizardNode, SectionsNode, SheetNode, SheetTitle, SheetHead, SheetKind, HeadLink, HeadBand, Statusbar, StatButton, Ribbon, Alert, Badge, MenuItem, RecordToolbar, AttachmentPreview, ColumnCount, ColumnsByWidth, LayoutNode, RootLayout, ListNode, ListMap, ListCalendar, CalendarView, ListCell, ListCard, ListGallery, MapCard, CardLine, CardPart, PluralWords, MapLayer, MapNode, RelatedNode, MapRoute, MapFence, MapReach, MapRegions, MapTool, Pin, ListFilter, FilterPeriod, LabelPlace, ScreenWidth, AnswerRule, DividerNode, SpacerNode, ImageNode, FormNode, WidgetOptions, } from './lib/format/layout.mjs';
11
11
  export type { AddressSearchOptions } from './lib/format/address-search.mjs';
12
12
  export type { PathPickerOptions, StateDotOptions } from './lib/format/picker-options.mjs';
13
+ export type { PagePhone, PhoneOptions } from './lib/format/phone.mjs';
14
+ export type { SlotsOptions } from './lib/format/slots-options.mjs';
15
+ export type { PageDuplicates } from './lib/format/duplicates.mjs';
13
16
  export { wideColumns } from './lib/format/columns.mjs';
17
+ export { BULK_KINDS, bulkEditFields, bulkSettable } from './lib/format/bulk-edit.mjs';
18
+ export { IMPORT_KINDS, importFields, importable } from './lib/format/import-fields.mjs';
14
19
  export { cardLines, cardLineFields, cardPart, type CardLinePart } from './lib/format/card-lines.mjs';
15
- export type { ActionStep, PageEvents, ValueMap, OpenStep, PanelSide, SetStep, ClearStep, AddLineStep, CheckStep, SaveStep, ResetStep, GoToStep, SayStep, AskStep, CallStep, CloseStep, OpenUrlStep, ReloadStep, ArchiveStep, UnarchiveStep, DuplicateStep, DeleteStep, PostStep, } from './lib/format/actions.mjs';
20
+ export type { ActionStep, PageEvents, ValueMap, OpenStep, PanelSide, SetStep, ClearStep, AddLineStep, CheckStep, SaveStep, ResetStep, GoToStep, SayStep, AskStep, CallStep, CloseStep, OpenUrlStep, ReloadStep, ArchiveStep, UnarchiveStep, DuplicateStep, DeleteStep, PostStep, PrintStep, } from './lib/format/actions.mjs';
16
21
  export { FORMAT_VERSION, FORMAT_VERSIONS, compareFormats, formatProblem, type FormatVersion } from './lib/format/version.mjs';
17
22
  export { upgradePage, PAGE_UPGRADES, type FormatHistory, type PageJson, type PageUpgrade } from './lib/format/upgrade.mjs';
18
- export type { Page, PageData, PageLook } from './lib/format/page.mjs';
23
+ export type { Page, PageData, PageLook, BotCheck, PagePrint } from './lib/format/page.mjs';
24
+ export { INPUT_MODES, type InputMode } from './lib/format/autofill-group.mjs';
19
25
  export { THEMES, type Theme } from './lib/format/themes.mjs';
20
26
  export { SKINS, type Skin } from './lib/format/themes.mjs';
21
27
  export { PART_LOOKS, type PartLook, type PartLookKind, type PartsLook } from './lib/format/part-look.mjs';
@@ -31,18 +37,22 @@ export { evaluateModifier, isModifierValid } from './lib/expression/evaluateModi
31
37
  export { emptyValue, initialValues, isEmpty, expressionContext, lineKind, type RecordId, type RelatedRecord, type ReferenceValue, type FileValue, type Line, type Value, type Values, } from './lib/record/values.mjs';
32
38
  export { checkValue, checkProperties, decimalsWords, formatBytes, fileProblem, describeTypes } from './lib/record/check.mjs';
33
39
  export { scoreOf, type Score } from './lib/record/score.mjs';
34
- export type { DataSource, LoadRequest, SaveRequest, SaveResult, OnchangeRequest, OnchangeResult, SearchRequest, CreateRequest, SubmitRequest, SubmitResult, ResolvedFilterCondition, ResolvedFilter, RecordChanges, LineOp, LinkOp, SaveProblem, SortOrder, ListRequest, ListResult, GroupRequest, Group, OptionsRequest, RecordRequest, ArchiveRequest, ListedRecord, LoadedRecord, RecordVersion, RecordPermissions, SaveConflict, TotalKind, TotalsRequest, TotalsResult, TotalsGroup, Totals, UploadFile, UploadSignal, UploadRequest, UploadedFile, } from './lib/record/data-source.mjs';
35
- export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf } from './lib/record/data-source.mjs';
40
+ export type { DataSource, LoadRequest, SaveRequest, SaveResult, OnchangeRequest, OnchangeResult, SearchRequest, CreateRequest, SubmitRequest, SubmitResult, BotReport, ResolvedFilterCondition, ResolvedFilter, RecordChanges, LineOp, LinkOp, SaveProblem, SortOrder, ListRequest, ListResult, GroupRequest, GroupInterval, Group, OptionsRequest, RecordRequest, ArchiveRequest, ListedRecord, LoadedRecord, RecordVersion, RecordPermissions, SaveConflict, TotalKind, TotalsRequest, TotalsResult, TotalsGroup, Totals, UploadFile, UploadSignal, UploadRequest, UploadedFile, WriteManyRequest, WriteManyResult, ExportRequest, ExportedFile, ExportBytes, CreateManyRequest, CreateManyResult, ImportRequest, SlotsRequest, SlotsResult, SlotDay, SlotDayState, DuplicatesRequest, DuplicatesResult, DuplicateMatch, MergeRequest, MergeResult, } from './lib/record/data-source.mjs';
41
+ export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf, newRecordSave } from './lib/record/data-source.mjs';
36
42
  export { matchesFilter } from './lib/record/filter.mjs';
43
+ export { DATE_PERIODS, DATE_INTERVALS, addDays, dayStarts, spanStart, type DatePeriod, type DateInterval, type DayCount } from './lib/record/periods.mjs';
37
44
  export { suggestions, facetsToFilter, groupByFields, type Facet, type Suggestion } from './lib/record/search.mjs';
38
45
  export { createMemoryDataSource, type MemoryDataSource, type MemoryDataSourceOptions } from './lib/record/memory-data-source.mjs';
46
+ export { clocksSkip, dayIn, instantsAt, isOwnZone, isTimeZone, ownZone, wallClock, wallDay, wallOf, wallText, wallTime, zoneOffset, type WallTime } from './lib/record/zones.mjs';
47
+ export { zonedPage } from './lib/format/zoned.mjs';
39
48
  export { uploadGoing, UPLOADS_AT_ONCE, type FileUpload, type UploadHow } from './lib/record/uploads.mjs';
40
49
  export { uploadTo, type UploadAnswer, type UploadTarget, type UploadToOptions } from './lib/record/upload-to.mjs';
41
50
  export { hostScheduler, wait, type Scheduler } from './lib/record/scheduler.mjs';
42
- export { createForm, unsavedWork, workAtRisk, type LeaveHow, type Form, type FormOptions, type FormUser, type FormState, type FormStatus, type NodeState, type Choices, type Definitions, type DraftStore, type ActionRequest, type ChangeBy, type FormEvents, type FormConflict, } from './lib/record/form.mjs';
43
- export type { ActionHost, ActionResult, AskHow, ChosenLines, OnAction, OpenRequest, OpenResult, PostedMessage, RunContext, RunResult, RunStop } from './lib/record/run.mjs';
51
+ export { createForm, unsavedWork, workAtRisk, type LeaveHow, type Form, type FormOptions, type FormUser, type FormState, type FormStatus, type NodeState, type Choices, type Definitions, type DraftStore, type ActionRequest, type ChangeBy, type FormEvents, type FormConflict, type SearchOptions, } from './lib/record/form.mjs';
52
+ export type { WaitsFor } from './lib/record/waits.mjs';
53
+ export type { ActionFile, ActionHost, ActionResult, AskHow, ChosenLines, OnAction, OpenRequest, OpenResult, PostedMessage, RunContext, RunResult, RunStop } from './lib/record/run.mjs';
44
54
  export { MESSAGES, fill, type Messages, type Locale } from './lib/record/messages.mjs';
45
- export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, type NumberMarks, type NumberProblem, type NumberReading, type NumberRead, type NumberReadOptions, type NumberLimits, type NumberRefusal, type PastedNumber, type DurationProblem, type DurationRead, type DateOrder, type DateProblem, type DateRead, type TimeRead, } from './lib/record/input-rules.mjs';
55
+ export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, foldTyped, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, type NumberMarks, type NumberProblem, type NumberReading, type NumberRead, type NumberReadOptions, type NumberLimits, type NumberRefusal, type PastedNumber, type DurationProblem, type DurationRead, type DateOrder, type DateProblem, type DateRead, type TimeRead, } from './lib/record/input-rules.mjs';
46
56
  export { dayOf } from './lib/record/limits.mjs';
47
57
  export { ADDRESS_PARTS, postcodeFits, settledPostcode } from './lib/record/structures.mjs';
48
58
  export { webAddress, settledText, hasPattern, EMAIL_LOCAL_STRAYS } from './lib/record/inputs.mjs';
package/src/runtime.d.ts CHANGED
@@ -5,17 +5,23 @@
5
5
  */
6
6
  export type { JsonValue } from './lib/format/json';
7
7
  export { FIELD_NAME, FIELD_TYPES, type FieldType } from './lib/format/names';
8
- export type { Field, Fields, LineField, LineKinds, Option, OptionsFrom, DefinitionsFrom, PropertyDefinition, FilterCondition, FilterItem, SetWhen, MoneyLook, Period } from './lib/format/field';
8
+ export type { Field, Fields, LineField, LinkedField, LineKinds, Option, OptionsFrom, DefinitionsFrom, PropertyDefinition, FilterCondition, FilterItem, SetWhen, MoneyLook, Period } from './lib/format/field';
9
9
  export type { Shrink } from './lib/format/field';
10
- export type { Modifier, Roles, CellRules, LineOrder, LineForm, PlaceholderWhen, HelpShown, ToneWhen, Tone, FieldNode, ButtonNode, TextNode, SlotNode, SectionNode, TabNode, TabsNode, StepNode, WizardNode, SectionsNode, SheetNode, SheetTitle, SheetHead, SheetKind, HeadLink, HeadBand, Statusbar, StatButton, Ribbon, Alert, Badge, MenuItem, RecordToolbar, AttachmentPreview, ColumnCount, ColumnsByWidth, LayoutNode, RootLayout, ListNode, ListMap, ListCalendar, CalendarView, ListCell, MapCard, CardLine, CardPart, PluralWords, MapLayer, MapNode, MapRoute, MapFence, MapReach, MapRegions, MapTool, Pin, ListFilter, LabelPlace, ScreenWidth, AnswerRule, DividerNode, SpacerNode, ImageNode, FormNode, WidgetOptions, } from './lib/format/layout';
10
+ export type { Modifier, Roles, CellRules, LineOrder, LineForm, PlaceholderWhen, HelpShown, ToneWhen, Tone, FieldNode, ButtonNode, TextNode, SlotNode, SectionNode, TabNode, TabsNode, StepNode, WizardNode, SectionsNode, SheetNode, SheetTitle, SheetHead, SheetKind, HeadLink, HeadBand, Statusbar, StatButton, Ribbon, Alert, Badge, MenuItem, RecordToolbar, AttachmentPreview, ColumnCount, ColumnsByWidth, LayoutNode, RootLayout, ListNode, ListMap, ListCalendar, CalendarView, ListCell, ListCard, ListGallery, MapCard, CardLine, CardPart, PluralWords, MapLayer, MapNode, RelatedNode, MapRoute, MapFence, MapReach, MapRegions, MapTool, Pin, ListFilter, FilterPeriod, LabelPlace, ScreenWidth, AnswerRule, DividerNode, SpacerNode, ImageNode, FormNode, WidgetOptions, } from './lib/format/layout';
11
11
  export type { AddressSearchOptions } from './lib/format/address-search';
12
12
  export type { PathPickerOptions, StateDotOptions } from './lib/format/picker-options';
13
+ export type { PagePhone, PhoneOptions } from './lib/format/phone';
14
+ export type { SlotsOptions } from './lib/format/slots-options';
15
+ export type { PageDuplicates } from './lib/format/duplicates';
13
16
  export { wideColumns } from './lib/format/columns';
17
+ export { BULK_KINDS, bulkEditFields, bulkSettable } from './lib/format/bulk-edit';
18
+ export { IMPORT_KINDS, importFields, importable } from './lib/format/import-fields';
14
19
  export { cardLines, cardLineFields, cardPart, type CardLinePart } from './lib/format/card-lines';
15
- export type { ActionStep, PageEvents, ValueMap, OpenStep, PanelSide, SetStep, ClearStep, AddLineStep, CheckStep, SaveStep, ResetStep, GoToStep, SayStep, AskStep, CallStep, CloseStep, OpenUrlStep, ReloadStep, ArchiveStep, UnarchiveStep, DuplicateStep, DeleteStep, PostStep, } from './lib/format/actions';
20
+ export type { ActionStep, PageEvents, ValueMap, OpenStep, PanelSide, SetStep, ClearStep, AddLineStep, CheckStep, SaveStep, ResetStep, GoToStep, SayStep, AskStep, CallStep, CloseStep, OpenUrlStep, ReloadStep, ArchiveStep, UnarchiveStep, DuplicateStep, DeleteStep, PostStep, PrintStep, } from './lib/format/actions';
16
21
  export { FORMAT_VERSION, FORMAT_VERSIONS, compareFormats, formatProblem, type FormatVersion } from './lib/format/version';
17
22
  export { upgradePage, PAGE_UPGRADES, type FormatHistory, type PageJson, type PageUpgrade } from './lib/format/upgrade';
18
- export type { Page, PageData, PageLook } from './lib/format/page';
23
+ export type { Page, PageData, PageLook, BotCheck, PagePrint } from './lib/format/page';
24
+ export { INPUT_MODES, type InputMode } from './lib/format/autofill-group';
19
25
  export { THEMES, type Theme } from './lib/format/themes';
20
26
  export { SKINS, type Skin } from './lib/format/themes';
21
27
  export { PART_LOOKS, type PartLook, type PartLookKind, type PartsLook } from './lib/format/part-look';
@@ -31,18 +37,22 @@ export { evaluateModifier, isModifierValid } from './lib/expression/evaluateModi
31
37
  export { emptyValue, initialValues, isEmpty, expressionContext, lineKind, type RecordId, type RelatedRecord, type ReferenceValue, type FileValue, type Line, type Value, type Values, } from './lib/record/values';
32
38
  export { checkValue, checkProperties, decimalsWords, formatBytes, fileProblem, describeTypes } from './lib/record/check';
33
39
  export { scoreOf, type Score } from './lib/record/score';
34
- export type { DataSource, LoadRequest, SaveRequest, SaveResult, OnchangeRequest, OnchangeResult, SearchRequest, CreateRequest, SubmitRequest, SubmitResult, ResolvedFilterCondition, ResolvedFilter, RecordChanges, LineOp, LinkOp, SaveProblem, SortOrder, ListRequest, ListResult, GroupRequest, Group, OptionsRequest, RecordRequest, ArchiveRequest, ListedRecord, LoadedRecord, RecordVersion, RecordPermissions, SaveConflict, TotalKind, TotalsRequest, TotalsResult, TotalsGroup, Totals, UploadFile, UploadSignal, UploadRequest, UploadedFile, } from './lib/record/data-source';
35
- export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf } from './lib/record/data-source';
40
+ export type { DataSource, LoadRequest, SaveRequest, SaveResult, OnchangeRequest, OnchangeResult, SearchRequest, CreateRequest, SubmitRequest, SubmitResult, BotReport, ResolvedFilterCondition, ResolvedFilter, RecordChanges, LineOp, LinkOp, SaveProblem, SortOrder, ListRequest, ListResult, GroupRequest, GroupInterval, Group, OptionsRequest, RecordRequest, ArchiveRequest, ListedRecord, LoadedRecord, RecordVersion, RecordPermissions, SaveConflict, TotalKind, TotalsRequest, TotalsResult, TotalsGroup, Totals, UploadFile, UploadSignal, UploadRequest, UploadedFile, WriteManyRequest, WriteManyResult, ExportRequest, ExportedFile, ExportBytes, CreateManyRequest, CreateManyResult, ImportRequest, SlotsRequest, SlotsResult, SlotDay, SlotDayState, DuplicatesRequest, DuplicatesResult, DuplicateMatch, MergeRequest, MergeResult, } from './lib/record/data-source';
41
+ export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf, newRecordSave } from './lib/record/data-source';
36
42
  export { matchesFilter } from './lib/record/filter';
43
+ export { DATE_PERIODS, DATE_INTERVALS, addDays, dayStarts, spanStart, type DatePeriod, type DateInterval, type DayCount } from './lib/record/periods';
37
44
  export { suggestions, facetsToFilter, groupByFields, type Facet, type Suggestion } from './lib/record/search';
38
45
  export { createMemoryDataSource, type MemoryDataSource, type MemoryDataSourceOptions } from './lib/record/memory-data-source';
46
+ export { clocksSkip, dayIn, instantsAt, isOwnZone, isTimeZone, ownZone, wallClock, wallDay, wallOf, wallText, wallTime, zoneOffset, type WallTime } from './lib/record/zones';
47
+ export { zonedPage } from './lib/format/zoned';
39
48
  export { uploadGoing, UPLOADS_AT_ONCE, type FileUpload, type UploadHow } from './lib/record/uploads';
40
49
  export { uploadTo, type UploadAnswer, type UploadTarget, type UploadToOptions } from './lib/record/upload-to';
41
50
  export { hostScheduler, wait, type Scheduler } from './lib/record/scheduler';
42
- export { createForm, unsavedWork, workAtRisk, type LeaveHow, type Form, type FormOptions, type FormUser, type FormState, type FormStatus, type NodeState, type Choices, type Definitions, type DraftStore, type ActionRequest, type ChangeBy, type FormEvents, type FormConflict, } from './lib/record/form';
43
- export type { ActionHost, ActionResult, AskHow, ChosenLines, OnAction, OpenRequest, OpenResult, PostedMessage, RunContext, RunResult, RunStop } from './lib/record/run';
51
+ export { createForm, unsavedWork, workAtRisk, type LeaveHow, type Form, type FormOptions, type FormUser, type FormState, type FormStatus, type NodeState, type Choices, type Definitions, type DraftStore, type ActionRequest, type ChangeBy, type FormEvents, type FormConflict, type SearchOptions, } from './lib/record/form';
52
+ export type { WaitsFor } from './lib/record/waits';
53
+ export type { ActionFile, ActionHost, ActionResult, AskHow, ChosenLines, OnAction, OpenRequest, OpenResult, PostedMessage, RunContext, RunResult, RunStop } from './lib/record/run';
44
54
  export { MESSAGES, fill, type Messages, type Locale } from './lib/record/messages';
45
- export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, type NumberMarks, type NumberProblem, type NumberReading, type NumberRead, type NumberReadOptions, type NumberLimits, type NumberRefusal, type PastedNumber, type DurationProblem, type DurationRead, type DateOrder, type DateProblem, type DateRead, type TimeRead, } from './lib/record/input-rules';
55
+ export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, foldTyped, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, type NumberMarks, type NumberProblem, type NumberReading, type NumberRead, type NumberReadOptions, type NumberLimits, type NumberRefusal, type PastedNumber, type DurationProblem, type DurationRead, type DateOrder, type DateProblem, type DateRead, type TimeRead, } from './lib/record/input-rules';
46
56
  export { dayOf } from './lib/record/limits';
47
57
  export { ADDRESS_PARTS, postcodeFits, settledPostcode } from './lib/record/structures';
48
58
  export { webAddress, settledText, hasPattern, EMAIL_LOCAL_STRAYS } from './lib/record/inputs';
package/src/runtime.js CHANGED
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.facetsToFilter = exports.suggestions = exports.matchesFilter = exports.loadedRecordOf = exports.loadedRecord = exports.ConflictError = exports.saveProblemOf = exports.saveRefused = exports.scoreOf = exports.describeTypes = exports.fileProblem = exports.formatBytes = exports.decimalsWords = exports.checkProperties = exports.checkValue = exports.lineKind = exports.expressionContext = exports.isEmpty = exports.initialValues = exports.emptyValue = exports.isModifierValid = exports.evaluateModifier = exports.rolesAllow = exports.compileModifier = exports.isRightToLeft = exports.pageWords = exports.localizePage = exports.translatePage = exports.hotkeyWords = exports.HOTKEY = exports.BROWSER_HOTKEYS = exports.valuesIn = exports.splitValues = exports.fillValues = exports.checkPage = exports.PART_LOOKS = exports.SKINS = exports.THEMES = exports.PAGE_UPGRADES = exports.upgradePage = exports.formatProblem = exports.compareFormats = exports.FORMAT_VERSIONS = exports.FORMAT_VERSION = exports.cardPart = exports.cardLineFields = exports.cardLines = exports.wideColumns = exports.FIELD_TYPES = exports.FIELD_NAME = void 0;
4
- exports.fieldPattern = exports.EMAIL_LOCAL_STRAYS = exports.hasPattern = exports.settledText = exports.webAddress = exports.settledPostcode = exports.postcodeFits = exports.ADDRESS_PARTS = exports.dayOf = exports.MOST_DIGITS = exports.placesOf = exports.placesOfCurrency = exports.readTime = exports.couldBeMonth = exports.readDate = exports.readDuration = exports.cleanPastedNumber = exports.numberMisfit = exports.couldBeNumber = exports.readNumber = exports.numberMarks = exports.foldForSearch = exports.charCount = exports.oneLine = exports.foldDigits = exports.stripMarks = exports.fill = exports.MESSAGES = exports.workAtRisk = exports.unsavedWork = exports.createForm = exports.wait = exports.hostScheduler = exports.uploadTo = exports.UPLOADS_AT_ONCE = exports.uploadGoing = exports.createMemoryDataSource = exports.groupByFields = void 0;
3
+ exports.saveRefused = exports.scoreOf = exports.describeTypes = exports.fileProblem = exports.formatBytes = exports.decimalsWords = exports.checkProperties = exports.checkValue = exports.lineKind = exports.expressionContext = exports.isEmpty = exports.initialValues = exports.emptyValue = exports.isModifierValid = exports.evaluateModifier = exports.rolesAllow = exports.compileModifier = exports.isRightToLeft = exports.pageWords = exports.localizePage = exports.translatePage = exports.hotkeyWords = exports.HOTKEY = exports.BROWSER_HOTKEYS = exports.valuesIn = exports.splitValues = exports.fillValues = exports.checkPage = exports.PART_LOOKS = exports.SKINS = exports.THEMES = exports.INPUT_MODES = exports.PAGE_UPGRADES = exports.upgradePage = exports.formatProblem = exports.compareFormats = exports.FORMAT_VERSIONS = exports.FORMAT_VERSION = exports.cardPart = exports.cardLineFields = exports.cardLines = exports.importable = exports.importFields = exports.IMPORT_KINDS = exports.bulkSettable = exports.bulkEditFields = exports.BULK_KINDS = exports.wideColumns = exports.FIELD_TYPES = exports.FIELD_NAME = void 0;
4
+ exports.readDate = exports.readDuration = exports.cleanPastedNumber = exports.numberMisfit = exports.couldBeNumber = exports.readNumber = exports.numberMarks = exports.foldForSearch = exports.charCount = exports.oneLine = exports.foldDigits = exports.stripMarks = exports.fill = exports.MESSAGES = exports.workAtRisk = exports.unsavedWork = exports.createForm = exports.wait = exports.hostScheduler = exports.uploadTo = exports.UPLOADS_AT_ONCE = exports.uploadGoing = exports.zonedPage = exports.zoneOffset = exports.wallTime = exports.wallText = exports.wallOf = exports.wallDay = exports.wallClock = exports.ownZone = exports.isTimeZone = exports.isOwnZone = exports.instantsAt = exports.dayIn = exports.clocksSkip = exports.createMemoryDataSource = exports.groupByFields = exports.facetsToFilter = exports.suggestions = exports.spanStart = exports.dayStarts = exports.addDays = exports.DATE_INTERVALS = exports.DATE_PERIODS = exports.matchesFilter = exports.newRecordSave = exports.loadedRecordOf = exports.loadedRecord = exports.ConflictError = exports.saveProblemOf = void 0;
5
+ exports.fieldPattern = exports.EMAIL_LOCAL_STRAYS = exports.hasPattern = exports.settledText = exports.webAddress = exports.settledPostcode = exports.postcodeFits = exports.ADDRESS_PARTS = exports.dayOf = exports.MOST_DIGITS = exports.placesOf = exports.placesOfCurrency = exports.readTime = exports.couldBeMonth = exports.foldTyped = void 0;
5
6
  var names_1 = require("./lib/format/names");
6
7
  Object.defineProperty(exports, "FIELD_NAME", { enumerable: true, get: function () { return names_1.FIELD_NAME; } });
7
8
  Object.defineProperty(exports, "FIELD_TYPES", { enumerable: true, get: function () { return names_1.FIELD_TYPES; } });
8
9
  var columns_1 = require("./lib/format/columns");
9
10
  Object.defineProperty(exports, "wideColumns", { enumerable: true, get: function () { return columns_1.wideColumns; } });
11
+ var bulk_edit_1 = require("./lib/format/bulk-edit");
12
+ Object.defineProperty(exports, "BULK_KINDS", { enumerable: true, get: function () { return bulk_edit_1.BULK_KINDS; } });
13
+ Object.defineProperty(exports, "bulkEditFields", { enumerable: true, get: function () { return bulk_edit_1.bulkEditFields; } });
14
+ Object.defineProperty(exports, "bulkSettable", { enumerable: true, get: function () { return bulk_edit_1.bulkSettable; } });
15
+ var import_fields_1 = require("./lib/format/import-fields");
16
+ Object.defineProperty(exports, "IMPORT_KINDS", { enumerable: true, get: function () { return import_fields_1.IMPORT_KINDS; } });
17
+ Object.defineProperty(exports, "importFields", { enumerable: true, get: function () { return import_fields_1.importFields; } });
18
+ Object.defineProperty(exports, "importable", { enumerable: true, get: function () { return import_fields_1.importable; } });
10
19
  var card_lines_1 = require("./lib/format/card-lines");
11
20
  Object.defineProperty(exports, "cardLines", { enumerable: true, get: function () { return card_lines_1.cardLines; } });
12
21
  Object.defineProperty(exports, "cardLineFields", { enumerable: true, get: function () { return card_lines_1.cardLineFields; } });
@@ -19,6 +28,8 @@ Object.defineProperty(exports, "formatProblem", { enumerable: true, get: functio
19
28
  var upgrade_1 = require("./lib/format/upgrade");
20
29
  Object.defineProperty(exports, "upgradePage", { enumerable: true, get: function () { return upgrade_1.upgradePage; } });
21
30
  Object.defineProperty(exports, "PAGE_UPGRADES", { enumerable: true, get: function () { return upgrade_1.PAGE_UPGRADES; } });
31
+ var autofill_group_1 = require("./lib/format/autofill-group");
32
+ Object.defineProperty(exports, "INPUT_MODES", { enumerable: true, get: function () { return autofill_group_1.INPUT_MODES; } });
22
33
  var themes_1 = require("./lib/format/themes");
23
34
  Object.defineProperty(exports, "THEMES", { enumerable: true, get: function () { return themes_1.THEMES; } });
24
35
  var themes_2 = require("./lib/format/themes");
@@ -68,14 +79,37 @@ Object.defineProperty(exports, "saveProblemOf", { enumerable: true, get: functio
68
79
  Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return data_source_1.ConflictError; } });
69
80
  Object.defineProperty(exports, "loadedRecord", { enumerable: true, get: function () { return data_source_1.loadedRecord; } });
70
81
  Object.defineProperty(exports, "loadedRecordOf", { enumerable: true, get: function () { return data_source_1.loadedRecordOf; } });
82
+ Object.defineProperty(exports, "newRecordSave", { enumerable: true, get: function () { return data_source_1.newRecordSave; } });
71
83
  var filter_1 = require("./lib/record/filter");
72
84
  Object.defineProperty(exports, "matchesFilter", { enumerable: true, get: function () { return filter_1.matchesFilter; } });
85
+ var periods_1 = require("./lib/record/periods");
86
+ Object.defineProperty(exports, "DATE_PERIODS", { enumerable: true, get: function () { return periods_1.DATE_PERIODS; } });
87
+ Object.defineProperty(exports, "DATE_INTERVALS", { enumerable: true, get: function () { return periods_1.DATE_INTERVALS; } });
88
+ Object.defineProperty(exports, "addDays", { enumerable: true, get: function () { return periods_1.addDays; } });
89
+ Object.defineProperty(exports, "dayStarts", { enumerable: true, get: function () { return periods_1.dayStarts; } });
90
+ Object.defineProperty(exports, "spanStart", { enumerable: true, get: function () { return periods_1.spanStart; } });
73
91
  var search_1 = require("./lib/record/search");
74
92
  Object.defineProperty(exports, "suggestions", { enumerable: true, get: function () { return search_1.suggestions; } });
75
93
  Object.defineProperty(exports, "facetsToFilter", { enumerable: true, get: function () { return search_1.facetsToFilter; } });
76
94
  Object.defineProperty(exports, "groupByFields", { enumerable: true, get: function () { return search_1.groupByFields; } });
77
95
  var memory_data_source_1 = require("./lib/record/memory-data-source");
78
96
  Object.defineProperty(exports, "createMemoryDataSource", { enumerable: true, get: function () { return memory_data_source_1.createMemoryDataSource; } });
97
+ // Time zones: a page's or a field's `timeZone`, its clock, its day, the hour its clocks skip or repeat.
98
+ var zones_1 = require("./lib/record/zones");
99
+ Object.defineProperty(exports, "clocksSkip", { enumerable: true, get: function () { return zones_1.clocksSkip; } });
100
+ Object.defineProperty(exports, "dayIn", { enumerable: true, get: function () { return zones_1.dayIn; } });
101
+ Object.defineProperty(exports, "instantsAt", { enumerable: true, get: function () { return zones_1.instantsAt; } });
102
+ Object.defineProperty(exports, "isOwnZone", { enumerable: true, get: function () { return zones_1.isOwnZone; } });
103
+ Object.defineProperty(exports, "isTimeZone", { enumerable: true, get: function () { return zones_1.isTimeZone; } });
104
+ Object.defineProperty(exports, "ownZone", { enumerable: true, get: function () { return zones_1.ownZone; } });
105
+ Object.defineProperty(exports, "wallClock", { enumerable: true, get: function () { return zones_1.wallClock; } });
106
+ Object.defineProperty(exports, "wallDay", { enumerable: true, get: function () { return zones_1.wallDay; } });
107
+ Object.defineProperty(exports, "wallOf", { enumerable: true, get: function () { return zones_1.wallOf; } });
108
+ Object.defineProperty(exports, "wallText", { enumerable: true, get: function () { return zones_1.wallText; } });
109
+ Object.defineProperty(exports, "wallTime", { enumerable: true, get: function () { return zones_1.wallTime; } });
110
+ Object.defineProperty(exports, "zoneOffset", { enumerable: true, get: function () { return zones_1.zoneOffset; } });
111
+ var zoned_1 = require("./lib/format/zoned");
112
+ Object.defineProperty(exports, "zonedPage", { enumerable: true, get: function () { return zoned_1.zonedPage; } });
79
113
  // Files stored as they are picked: the form's uploads, and an upload for a plain endpoint or a signed address.
80
114
  var uploads_1 = require("./lib/record/uploads");
81
115
  Object.defineProperty(exports, "uploadGoing", { enumerable: true, get: function () { return uploads_1.uploadGoing; } });
@@ -105,6 +139,7 @@ Object.defineProperty(exports, "numberMisfit", { enumerable: true, get: function
105
139
  Object.defineProperty(exports, "cleanPastedNumber", { enumerable: true, get: function () { return input_rules_1.cleanPastedNumber; } });
106
140
  Object.defineProperty(exports, "readDuration", { enumerable: true, get: function () { return input_rules_1.readDuration; } });
107
141
  Object.defineProperty(exports, "readDate", { enumerable: true, get: function () { return input_rules_1.readDate; } });
142
+ Object.defineProperty(exports, "foldTyped", { enumerable: true, get: function () { return input_rules_1.foldTyped; } });
108
143
  Object.defineProperty(exports, "couldBeMonth", { enumerable: true, get: function () { return input_rules_1.couldBeMonth; } });
109
144
  Object.defineProperty(exports, "readTime", { enumerable: true, get: function () { return input_rules_1.readTime; } });
110
145
  Object.defineProperty(exports, "placesOfCurrency", { enumerable: true, get: function () { return input_rules_1.placesOfCurrency; } });
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../libs/core/src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../libs/core/src/runtime.ts"],"names":[],"mappings":"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"}
package/src/runtime.mjs CHANGED
@@ -1,8 +1,11 @@
1
1
  export { FIELD_NAME, FIELD_TYPES } from './lib/format/names.mjs';
2
2
  export { wideColumns } from './lib/format/columns.mjs';
3
+ export { BULK_KINDS, bulkEditFields, bulkSettable } from './lib/format/bulk-edit.mjs';
4
+ export { IMPORT_KINDS, importFields, importable } from './lib/format/import-fields.mjs';
3
5
  export { cardLines, cardLineFields, cardPart } from './lib/format/card-lines.mjs';
4
6
  export { FORMAT_VERSION, FORMAT_VERSIONS, compareFormats, formatProblem } from './lib/format/version.mjs';
5
7
  export { upgradePage, PAGE_UPGRADES } from './lib/format/upgrade.mjs';
8
+ export { INPUT_MODES } from './lib/format/autofill-group.mjs';
6
9
  export { THEMES } from './lib/format/themes.mjs';
7
10
  export { SKINS } from './lib/format/themes.mjs';
8
11
  export { PART_LOOKS } from './lib/format/part-look.mjs';
@@ -16,17 +19,21 @@ export { evaluateModifier, isModifierValid } from './lib/expression/evaluateModi
16
19
  export { emptyValue, initialValues, isEmpty, expressionContext, lineKind, } from './lib/record/values.mjs';
17
20
  export { checkValue, checkProperties, decimalsWords, formatBytes, fileProblem, describeTypes } from './lib/record/check.mjs';
18
21
  export { scoreOf } from './lib/record/score.mjs';
19
- export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf } from './lib/record/data-source.mjs';
22
+ export { saveRefused, saveProblemOf, ConflictError, loadedRecord, loadedRecordOf, newRecordSave } from './lib/record/data-source.mjs';
20
23
  export { matchesFilter } from './lib/record/filter.mjs';
24
+ export { DATE_PERIODS, DATE_INTERVALS, addDays, dayStarts, spanStart } from './lib/record/periods.mjs';
21
25
  export { suggestions, facetsToFilter, groupByFields } from './lib/record/search.mjs';
22
26
  export { createMemoryDataSource } from './lib/record/memory-data-source.mjs';
27
+ // Time zones: a page's or a field's `timeZone`, its clock, its day, the hour its clocks skip or repeat.
28
+ export { clocksSkip, dayIn, instantsAt, isOwnZone, isTimeZone, ownZone, wallClock, wallDay, wallOf, wallText, wallTime, zoneOffset } from './lib/record/zones.mjs';
29
+ export { zonedPage } from './lib/format/zoned.mjs';
23
30
  // Files stored as they are picked: the form's uploads, and an upload for a plain endpoint or a signed address.
24
31
  export { uploadGoing, UPLOADS_AT_ONCE } from './lib/record/uploads.mjs';
25
32
  export { uploadTo } from './lib/record/upload-to.mjs';
26
33
  export { hostScheduler, wait } from './lib/record/scheduler.mjs';
27
34
  export { createForm, unsavedWork, workAtRisk, } from './lib/record/form.mjs';
28
35
  export { MESSAGES, fill } from './lib/record/messages.mjs';
29
- export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, } from './lib/record/input-rules.mjs';
36
+ export { stripMarks, foldDigits, oneLine, charCount, foldForSearch, numberMarks, readNumber, couldBeNumber, numberMisfit, cleanPastedNumber, readDuration, readDate, foldTyped, couldBeMonth, readTime, placesOfCurrency, placesOf, MOST_DIGITS, } from './lib/record/input-rules.mjs';
30
37
  export { dayOf } from './lib/record/limits.mjs';
31
38
  export { ADDRESS_PARTS, postcodeFits, settledPostcode } from './lib/record/structures.mjs';
32
39
  export { webAddress, settledText, hasPattern, EMAIL_LOCAL_STRAYS } from './lib/record/inputs.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.mjs","sourceRoot":"","sources":["../../../../libs/core/src/runtime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAsE7E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAqB,MAAM,yBAAyB,CAAC;AA0BjG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAC1H,OAAO,EAAE,WAAW,EAAE,aAAa,EAAuD,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAa,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAoD,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAyB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EACL,UAAU,EACV,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,QAAQ,GAQT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzH,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAyCzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAA+B,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,sBAAsB,EAAuD,MAAM,iCAAiC,CAAC;AAC9H,+GAA+G;AAC/G,OAAO,EAAE,WAAW,EAAE,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,QAAQ,EAA8D,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,IAAI,EAAkB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,GAeX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAA8B,MAAM,uBAAuB,CAAC;AACnF,OAAO,EACL,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,WAAW,GAeZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"runtime.mjs","sourceRoot":"","sources":["../../../../libs/core/src/runtime.ts"],"names":[],"mappings":"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"}