@graview/primitives 0.1.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 (207) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +25 -0
  3. package/dist/arrange-bar.d.ts +49 -0
  4. package/dist/arrange-bar.d.ts.map +1 -0
  5. package/dist/arrange-bar.js +264 -0
  6. package/dist/arrange-bar.js.map +1 -0
  7. package/dist/chat.d.ts +46 -0
  8. package/dist/chat.d.ts.map +1 -0
  9. package/dist/chat.js +343 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/companion.d.ts +58 -0
  12. package/dist/companion.d.ts.map +1 -0
  13. package/dist/companion.js +433 -0
  14. package/dist/companion.js.map +1 -0
  15. package/dist/connections.d.ts +23 -0
  16. package/dist/connections.d.ts.map +1 -0
  17. package/dist/connections.js +100 -0
  18. package/dist/connections.js.map +1 -0
  19. package/dist/default-views.d.ts +35 -0
  20. package/dist/default-views.d.ts.map +1 -0
  21. package/dist/default-views.js +605 -0
  22. package/dist/default-views.js.map +1 -0
  23. package/dist/editable.d.ts +71 -0
  24. package/dist/editable.d.ts.map +1 -0
  25. package/dist/editable.js +225 -0
  26. package/dist/editable.js.map +1 -0
  27. package/dist/figure.d.ts +30 -0
  28. package/dist/figure.d.ts.map +1 -0
  29. package/dist/figure.js +66 -0
  30. package/dist/figure.js.map +1 -0
  31. package/dist/find.d.ts +5 -0
  32. package/dist/find.d.ts.map +1 -0
  33. package/dist/find.js +252 -0
  34. package/dist/find.js.map +1 -0
  35. package/dist/index.d.ts +51 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +44 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/installation.d.ts +17 -0
  40. package/dist/installation.d.ts.map +1 -0
  41. package/dist/installation.js +37 -0
  42. package/dist/installation.js.map +1 -0
  43. package/dist/ladder.d.ts +2 -0
  44. package/dist/ladder.d.ts.map +1 -0
  45. package/dist/ladder.js +53 -0
  46. package/dist/ladder.js.map +1 -0
  47. package/dist/lens/arranging.d.ts +41 -0
  48. package/dist/lens/arranging.d.ts.map +1 -0
  49. package/dist/lens/arranging.js +38 -0
  50. package/dist/lens/arranging.js.map +1 -0
  51. package/dist/lens/board.d.ts +146 -0
  52. package/dist/lens/board.d.ts.map +1 -0
  53. package/dist/lens/board.js +658 -0
  54. package/dist/lens/board.js.map +1 -0
  55. package/dist/lens/calendar-dates.d.ts +19 -0
  56. package/dist/lens/calendar-dates.d.ts.map +1 -0
  57. package/dist/lens/calendar-dates.js +55 -0
  58. package/dist/lens/calendar-dates.js.map +1 -0
  59. package/dist/lens/calendar-drawing.d.ts +59 -0
  60. package/dist/lens/calendar-drawing.d.ts.map +1 -0
  61. package/dist/lens/calendar-drawing.js +229 -0
  62. package/dist/lens/calendar-drawing.js.map +1 -0
  63. package/dist/lens/calendar-options.d.ts +107 -0
  64. package/dist/lens/calendar-options.d.ts.map +1 -0
  65. package/dist/lens/calendar-options.js +19 -0
  66. package/dist/lens/calendar-options.js.map +1 -0
  67. package/dist/lens/calendar-placing.d.ts +35 -0
  68. package/dist/lens/calendar-placing.d.ts.map +1 -0
  69. package/dist/lens/calendar-placing.js +113 -0
  70. package/dist/lens/calendar-placing.js.map +1 -0
  71. package/dist/lens/calendar-spans.d.ts +48 -0
  72. package/dist/lens/calendar-spans.d.ts.map +1 -0
  73. package/dist/lens/calendar-spans.js +146 -0
  74. package/dist/lens/calendar-spans.js.map +1 -0
  75. package/dist/lens/calendar-view.d.ts +34 -0
  76. package/dist/lens/calendar-view.d.ts.map +1 -0
  77. package/dist/lens/calendar-view.js +228 -0
  78. package/dist/lens/calendar-view.js.map +1 -0
  79. package/dist/lens/calendar.d.ts +43 -0
  80. package/dist/lens/calendar.d.ts.map +1 -0
  81. package/dist/lens/calendar.js +43 -0
  82. package/dist/lens/calendar.js.map +1 -0
  83. package/dist/lens/coverage.d.ts +183 -0
  84. package/dist/lens/coverage.d.ts.map +1 -0
  85. package/dist/lens/coverage.js +732 -0
  86. package/dist/lens/coverage.js.map +1 -0
  87. package/dist/lens/horizon.d.ts +14 -0
  88. package/dist/lens/horizon.d.ts.map +1 -0
  89. package/dist/lens/horizon.js +20 -0
  90. package/dist/lens/horizon.js.map +1 -0
  91. package/dist/lens/more.d.ts +16 -0
  92. package/dist/lens/more.d.ts.map +1 -0
  93. package/dist/lens/more.js +17 -0
  94. package/dist/lens/more.js.map +1 -0
  95. package/dist/lens/plan-lens.d.ts +17 -0
  96. package/dist/lens/plan-lens.d.ts.map +1 -0
  97. package/dist/lens/plan-lens.js +24 -0
  98. package/dist/lens/plan-lens.js.map +1 -0
  99. package/dist/lens/plan-state.d.ts +122 -0
  100. package/dist/lens/plan-state.d.ts.map +1 -0
  101. package/dist/lens/plan-state.js +152 -0
  102. package/dist/lens/plan-state.js.map +1 -0
  103. package/dist/lens/plan-view.d.ts +10 -0
  104. package/dist/lens/plan-view.d.ts.map +1 -0
  105. package/dist/lens/plan-view.js +576 -0
  106. package/dist/lens/plan-view.js.map +1 -0
  107. package/dist/lens/plan.d.ts +25 -0
  108. package/dist/lens/plan.d.ts.map +1 -0
  109. package/dist/lens/plan.js +25 -0
  110. package/dist/lens/plan.js.map +1 -0
  111. package/dist/lens/reach.d.ts +47 -0
  112. package/dist/lens/reach.d.ts.map +1 -0
  113. package/dist/lens/reach.js +67 -0
  114. package/dist/lens/reach.js.map +1 -0
  115. package/dist/lens/timeline.d.ts +137 -0
  116. package/dist/lens/timeline.d.ts.map +1 -0
  117. package/dist/lens/timeline.js +426 -0
  118. package/dist/lens/timeline.js.map +1 -0
  119. package/dist/markup.d.ts +23 -0
  120. package/dist/markup.d.ts.map +1 -0
  121. package/dist/markup.js +24 -0
  122. package/dist/markup.js.map +1 -0
  123. package/dist/places.d.ts +24 -0
  124. package/dist/places.d.ts.map +1 -0
  125. package/dist/places.js +227 -0
  126. package/dist/places.js.map +1 -0
  127. package/dist/popover.d.ts +28 -0
  128. package/dist/popover.d.ts.map +1 -0
  129. package/dist/popover.js +59 -0
  130. package/dist/popover.js.map +1 -0
  131. package/dist/primitives/index.d.ts +214 -0
  132. package/dist/primitives/index.d.ts.map +1 -0
  133. package/dist/primitives/index.js +381 -0
  134. package/dist/primitives/index.js.map +1 -0
  135. package/dist/profile.d.ts +65 -0
  136. package/dist/profile.d.ts.map +1 -0
  137. package/dist/profile.js +233 -0
  138. package/dist/profile.js.map +1 -0
  139. package/dist/quick-relations.d.ts +16 -0
  140. package/dist/quick-relations.d.ts.map +1 -0
  141. package/dist/quick-relations.js +183 -0
  142. package/dist/quick-relations.js.map +1 -0
  143. package/dist/relation-key.d.ts +44 -0
  144. package/dist/relation-key.d.ts.map +1 -0
  145. package/dist/relation-key.js +196 -0
  146. package/dist/relation-key.js.map +1 -0
  147. package/dist/seat.d.ts +137 -0
  148. package/dist/seat.d.ts.map +1 -0
  149. package/dist/seat.js +162 -0
  150. package/dist/seat.js.map +1 -0
  151. package/dist/seats.d.ts +21 -0
  152. package/dist/seats.d.ts.map +1 -0
  153. package/dist/seats.js +62 -0
  154. package/dist/seats.js.map +1 -0
  155. package/dist/seeding.d.ts +150 -0
  156. package/dist/seeding.d.ts.map +1 -0
  157. package/dist/seeding.js +538 -0
  158. package/dist/seeding.js.map +1 -0
  159. package/dist/shell.d.ts +74 -0
  160. package/dist/shell.d.ts.map +1 -0
  161. package/dist/shell.js +86 -0
  162. package/dist/shell.js.map +1 -0
  163. package/dist/theme.d.ts +50 -0
  164. package/dist/theme.d.ts.map +1 -0
  165. package/dist/theme.js +1692 -0
  166. package/dist/theme.js.map +1 -0
  167. package/dist/wordmark.d.ts +15 -0
  168. package/dist/wordmark.d.ts.map +1 -0
  169. package/dist/wordmark.js +55 -0
  170. package/dist/wordmark.js.map +1 -0
  171. package/dist/workbench/activity.d.ts +75 -0
  172. package/dist/workbench/activity.d.ts.map +1 -0
  173. package/dist/workbench/activity.js +259 -0
  174. package/dist/workbench/activity.js.map +1 -0
  175. package/dist/workbench/agent-seat.d.ts +51 -0
  176. package/dist/workbench/agent-seat.d.ts.map +1 -0
  177. package/dist/workbench/agent-seat.js +112 -0
  178. package/dist/workbench/agent-seat.js.map +1 -0
  179. package/dist/workbench/answer-args.d.ts +31 -0
  180. package/dist/workbench/answer-args.d.ts.map +1 -0
  181. package/dist/workbench/answer-args.js +257 -0
  182. package/dist/workbench/answer-args.js.map +1 -0
  183. package/dist/workbench/back-out.d.ts +71 -0
  184. package/dist/workbench/back-out.d.ts.map +1 -0
  185. package/dist/workbench/back-out.js +238 -0
  186. package/dist/workbench/back-out.js.map +1 -0
  187. package/dist/workbench/following.d.ts +7 -0
  188. package/dist/workbench/following.d.ts.map +1 -0
  189. package/dist/workbench/following.js +26 -0
  190. package/dist/workbench/following.js.map +1 -0
  191. package/dist/workbench/index.d.ts +23 -0
  192. package/dist/workbench/index.d.ts.map +1 -0
  193. package/dist/workbench/index.js +23 -0
  194. package/dist/workbench/index.js.map +1 -0
  195. package/dist/workbench/inspector.d.ts +27 -0
  196. package/dist/workbench/inspector.d.ts.map +1 -0
  197. package/dist/workbench/inspector.js +745 -0
  198. package/dist/workbench/inspector.js.map +1 -0
  199. package/dist/workbench/standing.d.ts +16 -0
  200. package/dist/workbench/standing.d.ts.map +1 -0
  201. package/dist/workbench/standing.js +102 -0
  202. package/dist/workbench/standing.js.map +1 -0
  203. package/dist/workbench/trail.d.ts +35 -0
  204. package/dist/workbench/trail.d.ts.map +1 -0
  205. package/dist/workbench/trail.js +150 -0
  206. package/dist/workbench/trail.js.map +1 -0
  207. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/lens/board.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const DAY = 86400000;
2
+ /** The ISO day a value names, or null when it names no date at all. */
3
+ export declare function dayOf(value: unknown): string | null;
4
+ /** Minutes from midnight where a value names a time, else null. */
5
+ export declare function minutesOf(value: unknown): number | null;
6
+ export declare const iso: (stamp: number) => string;
7
+ export declare function addDays(day: string, count: number): string;
8
+ export declare function addMonths(day: string, count: number): string;
9
+ /** 0 = Sunday, the way `getUTCDay` counts. */
10
+ export declare const weekdayOf: (day: string) => number;
11
+ export declare function startOfWeek(day: string, weekStartsOn?: number): string;
12
+ export declare const startOfMonth: (day: string) => string;
13
+ export declare function daysBetween(from: string, to: string): number;
14
+ /** Every day from `from` to `to` inclusive. */
15
+ export declare function daysFrom(from: string, count: number): string[];
16
+ export declare const MONTHS: string[];
17
+ export declare const WEEKDAYS: string[];
18
+ export declare const clock: (minutes: number) => string;
19
+ //# sourceMappingURL=calendar-dates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-dates.d.ts","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,GAAG,WAAa,CAAC;AAE9B,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAInD;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIvD;AAGD,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,KAAG,MAAoD,CAAC;AAEzF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,8CAA8C;AAC9C,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAwC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAGjE;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAAiC,CAAC;AAE7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAED,eAAO,MAAM,MAAM,UAA6H,CAAC;AACjJ,eAAO,MAAM,QAAQ,UAAoD,CAAC;AAE1E,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,KAAG,MACyD,CAAC"}
@@ -0,0 +1,55 @@
1
+ /*
2
+ * DATE ARITHMETIC ON STRINGS, in UTC, and nowhere near a local `Date`.
3
+ *
4
+ * `new Date("2026-09-14")` is midnight UTC and `new Date(2026, 8, 14)` is
5
+ * midnight wherever the reader is; mixing them puts an entry on the 13th for
6
+ * half the world. Every date here is `YYYY-MM-DD` and every step goes
7
+ * through `Date.UTC`, so the picture is the same in Auckland and in Lima.
8
+ */
9
+ export const DAY = 86_400_000;
10
+ /** The ISO day a value names, or null when it names no date at all. */
11
+ export function dayOf(value) {
12
+ if (typeof value !== "string")
13
+ return null;
14
+ const match = /^(\d{4}-\d{2}-\d{2})/.exec(value);
15
+ return match ? match[1] : null;
16
+ }
17
+ /** Minutes from midnight where a value names a time, else null. */
18
+ export function minutesOf(value) {
19
+ if (typeof value !== "string")
20
+ return null;
21
+ const match = /^\d{4}-\d{2}-\d{2}[T ](\d{2}):(\d{2})/.exec(value);
22
+ return match ? Number(match[1]) * 60 + Number(match[2]) : null;
23
+ }
24
+ const utc = (day) => Date.UTC(Number(day.slice(0, 4)), Number(day.slice(5, 7)) - 1, Number(day.slice(8, 10)));
25
+ export const iso = (stamp) => new Date(stamp).toISOString().slice(0, 10);
26
+ export function addDays(day, count) {
27
+ return iso(utc(day) + count * DAY);
28
+ }
29
+ export function addMonths(day, count) {
30
+ const year = Number(day.slice(0, 4));
31
+ const month = Number(day.slice(5, 7)) - 1 + count;
32
+ const wanted = Number(day.slice(8, 10));
33
+ // The last day of the target month, so 31 January + 1 month is 28 February
34
+ // rather than 3 March — which is what a naive setMonth gives you.
35
+ const last = new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
36
+ return iso(Date.UTC(year, month, Math.min(wanted, last)));
37
+ }
38
+ /** 0 = Sunday, the way `getUTCDay` counts. */
39
+ export const weekdayOf = (day) => new Date(utc(day)).getUTCDay();
40
+ export function startOfWeek(day, weekStartsOn = 1) {
41
+ const back = (weekdayOf(day) - weekStartsOn + 7) % 7;
42
+ return addDays(day, -back);
43
+ }
44
+ export const startOfMonth = (day) => `${day.slice(0, 7)}-01`;
45
+ export function daysBetween(from, to) {
46
+ return Math.round((utc(to) - utc(from)) / DAY);
47
+ }
48
+ /** Every day from `from` to `to` inclusive. */
49
+ export function daysFrom(from, count) {
50
+ return Array.from({ length: count }, (_, at) => addDays(from, at));
51
+ }
52
+ export const MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
53
+ export const WEEKDAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
54
+ export const clock = (minutes) => `${String(Math.floor(minutes / 60)).padStart(2, "0")}:${String(minutes % 60).padStart(2, "0")}`;
55
+ //# sourceMappingURL=calendar-dates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-dates.js","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC;AAE9B,uEAAuE;AACvE,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9H,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEzF,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa;IAChD,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,KAAa;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACxC,2EAA2E;IAC3E,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACjE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAEjF,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,YAAY,GAAG,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AAE7E,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,EAAU;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,KAAa;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACjJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAU,EAAE,CAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { CalendarGrain, PlacedEntry } from "./calendar-options.js";
2
+ import { type CalendarCell, type CalendarSpan } from "./calendar-spans.js";
3
+ import type { Emphasis } from "./calendar-view.js";
4
+ export declare const longDay: (day: string) => string;
5
+ export declare function Step({ label, glyph, onPress }: {
6
+ label: string;
7
+ glyph: string;
8
+ onPress: () => void;
9
+ }): import("react").JSX.Element;
10
+ export declare const stepStyle: {
11
+ minHeight: number;
12
+ minWidth: number;
13
+ padding: string;
14
+ borderRadius: number;
15
+ fontSize: string;
16
+ borderWidth: number;
17
+ borderStyle: "solid";
18
+ borderColor: string;
19
+ color: string;
20
+ background: string;
21
+ };
22
+ /**
23
+ * WHATEVER THE RANGE IS, AS A GRID OF CELLS.
24
+ *
25
+ * A cell is a day, a week or a month — they differ in how much ground they
26
+ * cover and in nothing else. AN ENTRY IS DRAWN ON EVERY CELL IT TOUCHES and
27
+ * says which piece it is, so a planting sown in March and lifted in July is
28
+ * one thing running across four cells of a year exactly as a fortnight runs
29
+ * across four cells of a week.
30
+ *
31
+ * ABOVE A MONTH, LISTING EVERYTHING STOPS BEING A PICTURE. So the cell
32
+ * carries what fits at full fidelity and the rest as a count, with the
33
+ * rules' own flag on it where something in the remainder is broken — the
34
+ * lens contract's two fidelities doing the work a scroll bar would not.
35
+ */
36
+ export declare const PER_CELL: Readonly<Record<CalendarGrain, number>>;
37
+ export declare function Grid({ span, weekStartsOn, entries, today, perCell, emphasisOf, broken, hue, onOpen, onMove, }: {
38
+ span: CalendarSpan;
39
+ weekStartsOn: number;
40
+ entries: readonly PlacedEntry[];
41
+ today: string;
42
+ perCell: number;
43
+ emphasisOf: (id: string) => Emphasis;
44
+ broken: ReadonlySet<string>;
45
+ hue: (entry: PlacedEntry) => number;
46
+ onOpen: (cell: CalendarCell) => void;
47
+ onMove: (id: string, cell: CalendarCell, grain: CalendarGrain) => void;
48
+ }): import("react").JSX.Element;
49
+ /** The days with anything on them, in order, each with what is on it. */
50
+ export declare function Agenda({ days, entries, today, emphasisOf, broken, hue, onMove, }: {
51
+ days: readonly string[];
52
+ entries: readonly PlacedEntry[];
53
+ today: string;
54
+ emphasisOf: (id: string) => Emphasis;
55
+ broken: ReadonlySet<string>;
56
+ hue: (entry: PlacedEntry) => number;
57
+ onMove: (id: string, day: string) => void;
58
+ }): import("react").JSX.Element;
59
+ //# sourceMappingURL=calendar-drawing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-drawing.d.ts","sourceRoot":"","sources":["../../src/lens/calendar-drawing.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAa,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAInD,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MACyE,CAAC;AAEhH,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BAMpG;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;CAWrB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAA2C,CAAC;AAEzG,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,GAAG,EACH,MAAM,EACN,MAAM,GACP,EAAE;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC;IACrC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACxE,+BA6LA;AAED,yEAAyE;AACzE,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,EACN,GAAG,EACH,MAAM,GACP,EAAE;IACD,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC;IACrC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,+BA6DA"}
@@ -0,0 +1,229 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MONTHS, WEEKDAYS, clock, daysBetween, daysFrom, startOfWeek, weekdayOf } from "./calendar-dates.js";
3
+ import { entriesOn } from "./calendar-placing.js";
4
+ import { entriesIn } from "./calendar-spans.js";
5
+ import { useRef } from "react";
6
+ import { useWidth } from "../primitives/index.js";
7
+ export const longDay = (day) => `${WEEKDAYS[weekdayOf(day)]} ${Number(day.slice(8, 10))} ${MONTHS[Number(day.slice(5, 7)) - 1].slice(0, 3)}`;
8
+ export function Step({ label, glyph, onPress }) {
9
+ return (_jsx("button", { type: "button", "aria-label": label, title: label, onClick: onPress, style: stepStyle, children: glyph }));
10
+ }
11
+ export const stepStyle = {
12
+ minHeight: 24,
13
+ minWidth: 24,
14
+ padding: "2px 9px",
15
+ borderRadius: 999,
16
+ fontSize: "0.8125rem",
17
+ borderWidth: 1,
18
+ borderStyle: "solid",
19
+ borderColor: "var(--graview-edge)",
20
+ color: "var(--graview-ink-muted)",
21
+ background: "transparent",
22
+ };
23
+ /**
24
+ * WHATEVER THE RANGE IS, AS A GRID OF CELLS.
25
+ *
26
+ * A cell is a day, a week or a month — they differ in how much ground they
27
+ * cover and in nothing else. AN ENTRY IS DRAWN ON EVERY CELL IT TOUCHES and
28
+ * says which piece it is, so a planting sown in March and lifted in July is
29
+ * one thing running across four cells of a year exactly as a fortnight runs
30
+ * across four cells of a week.
31
+ *
32
+ * ABOVE A MONTH, LISTING EVERYTHING STOPS BEING A PICTURE. So the cell
33
+ * carries what fits at full fidelity and the rest as a count, with the
34
+ * rules' own flag on it where something in the remainder is broken — the
35
+ * lens contract's two fidelities doing the work a scroll bar would not.
36
+ */
37
+ export const PER_CELL = { day: 12, week: 4, month: 3, year: 5 };
38
+ export function Grid({ span, weekStartsOn, entries, today, perCell, emphasisOf, broken, hue, onOpen, onMove, }) {
39
+ // Weekday headings belong to a week of days and to nothing else: a row of
40
+ // four week-cells under "Mon Tue Wed Thu" would be a caption for a
41
+ // different picture.
42
+ /*
43
+ * THE ROOM DECIDES THE DRAWING. Seven day columns in a 300px box are
44
+ * 40px cells with three letters of each name in them — a grid nobody
45
+ * can read and nobody can drop onto. Below about 44px a column, a run
46
+ * of days becomes the agenda (the day view's own drawing, one day under
47
+ * the next), and a run of coarser cells — weeks, months — wraps into as
48
+ * many columns as the width holds, since those carry their own labels.
49
+ */
50
+ const box = useRef(null);
51
+ const width = useWidth(box);
52
+ const fits = width === null ? span.columns : Math.max(1, Math.floor(width / 44));
53
+ const narrow = fits < span.columns;
54
+ const columns = narrow ? fits : span.columns;
55
+ const headers = !narrow && span.grain === "day" && span.columns === 7
56
+ ? daysFrom(startOfWeek(span.cells[0]?.from ?? today, weekStartsOn), 7)
57
+ : span.grain === "day" && span.columns === 1
58
+ ? span.cells.map((cell) => cell.from)
59
+ : null;
60
+ if (narrow && span.grain === "day" && span.columns > 1) {
61
+ return (_jsx("div", { ref: box, "data-calendar-shape": "agenda", style: { display: "grid", minHeight: 0, flex: 1 }, children: _jsx(Agenda, { days: span.cells.map((cell) => cell.from), entries: entries, today: today, emphasisOf: emphasisOf, broken: broken, hue: hue, onMove: (id, day) => onMove(id, { from: day, to: day, label: day }, "day") }) }));
62
+ }
63
+ return (_jsxs("div", { ref: box, "data-calendar-shape": narrow ? "wrapped" : "grid", style: { display: "grid", gap: 4, gridTemplateRows: headers ? "auto 1fr" : "1fr", minHeight: 0, flex: 1 }, children: [headers ? (_jsx("div", { style: { display: "grid", gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`, gap: 4 }, children: headers.map((day) => (_jsx("span", { style: {
64
+ fontSize: "0.75rem",
65
+ letterSpacing: "0.16em",
66
+ textTransform: "uppercase",
67
+ color: "var(--graview-ink-muted)",
68
+ textAlign: "center",
69
+ }, children: span.columns === 7 ? WEEKDAYS[weekdayOf(day)] : longDay(day) }, day))) })) : null, _jsx("div", {
70
+ /*
71
+ * A REGION THAT SCROLLS IS A STOP FOR THE KEYBOARD. Given less height
72
+ * than its rows — a month in a picture frame, a fortnight in a card —
73
+ * this grid scrolls inside itself, and a region that scrolls with no
74
+ * focusable element in it is one a keyboard cannot scroll at all
75
+ * (axe: scrollable-region-focusable). A stop with the span's own name.
76
+ */
77
+ tabIndex: 0, "aria-label": `The days of ${span.title}`, style: {
78
+ display: "grid",
79
+ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,
80
+ /*
81
+ * Rows as tall as what is in them. In a grid held to the lens's
82
+ * height an auto row is sized to a cell's minimum — the 62px
83
+ * below — so a month with three releases spilled them over the
84
+ * month beneath it; sized to their content, the grid scrolls.
85
+ */
86
+ gridAutoRows: "max-content",
87
+ gap: 4,
88
+ minHeight: 0,
89
+ overflow: "auto",
90
+ }, children: span.cells.map((cell, at) => {
91
+ const here = entriesIn(entries, cell.from, cell.to);
92
+ const shown = here.slice(0, perCell);
93
+ const hidden = here.slice(perCell);
94
+ const flaggedHidden = hidden.filter((entry) => broken.has(entry.id)).length;
95
+ const now = daysBetween(cell.from, today) >= 0 && daysBetween(today, cell.to) >= 0;
96
+ return (_jsxs("div", { "data-calendar-day": span.grain === "day" ? cell.from : undefined, "data-calendar-cell": cell.from, "data-calendar-grain": span.grain, "data-calendar-count": here.length, "data-calendar-outside": cell.outside || undefined,
97
+ /*
98
+ * A CELL IS SOMEWHERE TO DROP A THING.
99
+ *
100
+ * The browser's own drag rather than pointer events, because
101
+ * the scene's card drag is on pointerdown and would otherwise
102
+ * win — and because `draggable` gives the keyboard-free
103
+ * gesture a native affordance instead of a hand-rolled one.
104
+ */
105
+ onDragOver: (event) => {
106
+ if (!event.dataTransfer.types.includes("text/graview-node"))
107
+ return;
108
+ event.preventDefault();
109
+ event.dataTransfer.dropEffect = "move";
110
+ }, onDrop: (event) => {
111
+ const id = event.dataTransfer.getData("text/graview-node");
112
+ if (!id)
113
+ return;
114
+ event.preventDefault();
115
+ event.stopPropagation();
116
+ onMove(id, cell, span.grain);
117
+ }, style: {
118
+ minHeight: 62,
119
+ display: "flex",
120
+ flexDirection: "column",
121
+ gap: 2,
122
+ padding: 4,
123
+ borderRadius: 7,
124
+ border: "1px solid var(--graview-edge)",
125
+ background: now ? "var(--graview-panel)" : "transparent",
126
+ opacity: cell.outside ? 0.45 : 1,
127
+ }, children: [_jsxs("span", { style: { display: "flex", alignItems: "baseline", gap: 4 }, children: [_jsx("span", { style: {
128
+ fontSize: "0.75rem",
129
+ fontVariantNumeric: "tabular-nums",
130
+ color: now ? "var(--graview-accent)" : "var(--graview-ink-faint)",
131
+ }, children: cell.label }), span.grain !== "day" && here.length > 0 ? (_jsx("span", { style: { fontSize: "0.75rem", color: "var(--graview-ink-faint)", marginLeft: "auto" }, children: here.length })) : null] }), shown.map((entry) => (_jsx(Entry, { entry: entry, cell: cell,
132
+ /* A span keeps its name where it begins and again wherever a
133
+ ROW does: a rotation running March to October covers two
134
+ rows of a year, and the second row was four nameless bars.
135
+ This is what a wall calendar does with a fortnight. */
136
+ rowStart: at % columns === 0, emphasis: emphasisOf(entry.id), flagged: broken.has(entry.id), hue: hue(entry) }, `${entry.id}:${cell.from}`))), hidden.length > 0 ? (_jsxs("button", { type: "button", "data-testid": `calendar-more-${cell.from}`, onClick: () => onOpen(cell), title: `Open ${cell.label}`, style: {
137
+ minHeight: 24,
138
+ padding: "1px 5px",
139
+ fontSize: "0.75rem",
140
+ borderRadius: 5,
141
+ border: "1px dashed var(--graview-edge)",
142
+ background: "transparent",
143
+ color: flaggedHidden > 0 ? "var(--graview-warn)" : "var(--graview-ink-muted)",
144
+ textAlign: "left",
145
+ }, children: ["+", hidden.length, " more", flaggedHidden > 0 ? ` · ${flaggedHidden} flagged` : ""] })) : null] }, cell.from));
146
+ }) })] }));
147
+ }
148
+ /** The days with anything on them, in order, each with what is on it. */
149
+ export function Agenda({ days, entries, today, emphasisOf, broken, hue, onMove, }) {
150
+ const withSomething = days
151
+ .map((day) => ({ day, here: entriesOn(entries, day) }))
152
+ .filter(({ here }) => here.length > 0);
153
+ if (withSomething.length === 0) {
154
+ return (_jsx("p", { "data-testid": "calendar-empty", style: { margin: 0, fontSize: "0.875rem", color: "var(--graview-ink-muted)" }, children: "Nothing is scheduled in the next six weeks." }));
155
+ }
156
+ return (_jsx("ol", {
157
+ // The same stop the day grid has: an agenda longer than its frame scrolls, and the keyboard needs a way in.
158
+ tabIndex: 0, "aria-label": "What is scheduled", style: { margin: 0, padding: 0, listStyle: "none", display: "grid", alignContent: "start", gap: 10, overflow: "auto", minHeight: 0 }, children: withSomething.map(({ day, here }) => (_jsxs("li", { "data-calendar-day": day, onDragOver: (event) => {
159
+ if (!event.dataTransfer.types.includes("text/graview-node"))
160
+ return;
161
+ event.preventDefault();
162
+ event.dataTransfer.dropEffect = "move";
163
+ }, onDrop: (event) => {
164
+ const id = event.dataTransfer.getData("text/graview-node");
165
+ if (!id)
166
+ return;
167
+ event.preventDefault();
168
+ event.stopPropagation();
169
+ onMove(id, day);
170
+ }, style: { display: "grid", gap: 4 }, children: [_jsxs("span", { style: {
171
+ fontSize: "0.75rem",
172
+ letterSpacing: "0.16em",
173
+ textTransform: "uppercase",
174
+ color: day === today ? "var(--graview-accent)" : "var(--graview-ink-muted)",
175
+ }, children: [longDay(day), day === today ? " · today" : ""] }), here.map((entry) => (_jsx(Entry, { entry: entry, cell: { from: day, to: day, label: day }, emphasis: emphasisOf(entry.id), flagged: broken.has(entry.id), hue: hue(entry) }, `${entry.id}:${day}`)))] }, day))) }));
176
+ }
177
+ /**
178
+ * One entry on one day.
179
+ *
180
+ * A real node, so it is a real target: the scene routes a click on it to
181
+ * that node rather than to the calendar drawing it, the selection lights it,
182
+ * and a rule that flags it leaves its mark here rather than only in a list
183
+ * somebody has to go looking for.
184
+ *
185
+ * A span that began before this day or runs past it SAYS SO, because "the
186
+ * 14th" and "the 14th of a fortnight" are different facts and a bar that
187
+ * looked identical on both would be lying about one of them.
188
+ */
189
+ function Entry({ entry, cell, emphasis, flagged, hue, rowStart = false, }) {
190
+ /*
191
+ * WHICH PIECE OF ITSELF THIS IS, read against the CELL rather than a day:
192
+ * a planting sown in March and lifted in July opens in the March cell of
193
+ * a year and closes in the July one, and the four between are the middle
194
+ * of one thing rather than four things.
195
+ */
196
+ const opens = daysBetween(cell.from, entry.from) >= 0;
197
+ const closes = daysBetween(entry.to, cell.to) >= 0;
198
+ const spanning = !(opens && closes);
199
+ const said = entry.at !== null && opens && entry.from === cell.from ? `${clock(entry.at)} ${entry.label}` : entry.label;
200
+ return (_jsx("span", { "data-graview-pick": entry.id, "data-calendar-entry": entry.id, draggable: true, onDragStart: (event) => {
201
+ // A node, named in a type only this lens reads — so dragging an
202
+ // entry onto somebody else's page drops nothing, and dropping a
203
+ // file onto the calendar moves nothing.
204
+ event.dataTransfer.setData("text/graview-node", entry.id);
205
+ event.dataTransfer.effectAllowed = "move";
206
+ }, "data-graview-emphasis": emphasis, "data-calendar-part": spanning ? (opens ? "opens" : closes ? "closes" : "through") : undefined, "data-calendar-in": cell.from, title: spanning
207
+ ? `${entry.label} · ${entry.from} – ${entry.to}`
208
+ : `${entry.label}${entry.at === null ? " · all day" : ` · ${clock(entry.at)}`}`, style: {
209
+ display: "block",
210
+ minHeight: 24,
211
+ boxSizing: "border-box",
212
+ padding: "3px 6px",
213
+ fontSize: "0.75rem",
214
+ lineHeight: 1.35,
215
+ borderRadius: spanning ? (opens ? "5px 0 0 5px" : closes ? "0 5px 5px 0" : 0) : 5,
216
+ overflow: "hidden",
217
+ textOverflow: "ellipsis",
218
+ whiteSpace: "nowrap",
219
+ // Done reads as done: struck and receded, still there, still
220
+ // selectable. Removing it would be answering a different question.
221
+ textDecoration: entry.done ? "line-through" : "none",
222
+ opacity: emphasis === "dimmed" ? 0.35 : entry.done ? 0.6 : 1,
223
+ background: `color-mix(in oklab, hsl(${Math.round(hue)} 70% 55%) ${emphasis === "lit" ? 38 : 20}%, transparent)`,
224
+ color: "var(--graview-ink)",
225
+ ...(emphasis === "lit" ? { outline: "1px solid var(--graview-accent)" } : {}),
226
+ ...(flagged ? { borderLeft: "3px solid var(--graview-warn)", paddingLeft: 4 } : {}),
227
+ }, children: opens || rowStart ? said : " " }));
228
+ }
229
+ //# sourceMappingURL=calendar-drawing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-drawing.js","sourceRoot":"","sources":["../../src/lens/calendar-drawing.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import type { ArrangeOption, Arrangement } from "@graview/core";
2
+ export interface CalendarRoles {
3
+ /** Field holding the date (or date-time) the entry starts. */
4
+ readonly start: string;
5
+ /** Field holding the date it ends. Absent or equal to `start` is a single day. */
6
+ readonly end?: string;
7
+ /** Field that is true when the entry takes the whole day whatever its times say. */
8
+ readonly allDay?: string;
9
+ /** Field holding the entry's own name, where the kind's label is not it. */
10
+ readonly label?: string;
11
+ /**
12
+ * When the entry is finished, so it can read as done — struck and receded.
13
+ *
14
+ * A bare field name means "true when this field is `true`". A predicate —
15
+ * `{ field: "status", is: ["done", "skipped"] }` — means "true when this
16
+ * field holds one of these", which is the shape `lifecycle` already takes
17
+ * and the shape most domains are actually in: the framework spends its
18
+ * whole design arguing that states are enums with names rather than flags,
19
+ * and then the one role that reads completion accepted only a boolean. An
20
+ * app whose task is `open | done | skipped` had to add a second field that
21
+ * duplicates the first and can drift out of step with it, or give up the
22
+ * lens. Both were worse than the lens.
23
+ */
24
+ readonly done?: string | FieldIs;
25
+ }
26
+ /**
27
+ * A field and the values that make it true — the same shape `lifecycle`
28
+ * takes, so a role that reads a state reads it the way the declaration
29
+ * already writes it.
30
+ */
31
+ export interface FieldIs {
32
+ readonly field: string;
33
+ readonly is: readonly unknown[];
34
+ }
35
+ /** Whether a record satisfies a role bound as a boolean field or a predicate. */
36
+ export declare function holds(record: Readonly<Record<string, unknown>>, role: string | FieldIs | undefined): boolean;
37
+ export declare const CALENDAR_REQUIRED_ROLES: readonly ["start"];
38
+ export type CalendarBindings = Readonly<Record<string, CalendarRoles>>;
39
+ /** Which stretch of time the calendar is showing. */
40
+ export type CalendarRange = "day" | "week" | "month" | "quarter" | "year" | "years" | "agenda";
41
+ /** How coarse one cell of the grid is. */
42
+ export type CalendarGrain = "day" | "week" | "month" | "year";
43
+ /**
44
+ * A SPAN OF YEARS THE APP NAMES.
45
+ *
46
+ * Three years, five, ten — the number is a domain fact, and so is what to
47
+ * call it on a button. A framework that picked either would be answering a
48
+ * question it was never asked.
49
+ */
50
+ export interface CalendarHorizon {
51
+ readonly years: number;
52
+ /** What the app calls it: "Five years", "The rotation", "The decade". */
53
+ readonly title: string;
54
+ }
55
+ export declare const CALENDAR_RANGES: readonly CalendarRange[];
56
+ /** The ranges this lens offers: every one, plus the horizon where the app named one. */
57
+ export declare function rangesOf(options: {
58
+ readonly horizon?: CalendarHorizon;
59
+ }): readonly CalendarRange[];
60
+ /** What a range is called where a person reads it — a button, a place, a title. */
61
+ export declare function titleOf(range: CalendarRange, horizon?: CalendarHorizon): string;
62
+ export interface CalendarOptions {
63
+ readonly bindings: CalendarBindings;
64
+ /**
65
+ * The day the calendar opens on and calls "today", as `YYYY-MM-DD`.
66
+ *
67
+ * The app's, never the clock's — the same discipline the invariants keep.
68
+ * A lens that read `new Date()` would draw a different picture every
69
+ * morning, and no harness could photograph it twice.
70
+ */
71
+ readonly today: string;
72
+ /** Which range it opens in. Month, unless an app knows better. */
73
+ readonly range?: CalendarRange;
74
+ /**
75
+ * How far out this app ever looks, and what it calls that. Absent means
76
+ * the lens stops at a year, which is the honest answer for an app whose
77
+ * subject never runs longer than one.
78
+ */
79
+ readonly horizon?: CalendarHorizon;
80
+ /** The day a week starts on, 0 = Sunday. Monday, unless an app says otherwise. */
81
+ readonly weekStartsOn?: number;
82
+ /** Hue for an entry, in degrees. Defaults to the node's kind. */
83
+ readonly hueOf?: (entry: PlacedEntry) => number;
84
+ /** How many entries a cell shows before the rest become a count. Per grain, by default. */
85
+ readonly perCell?: number;
86
+ /**
87
+ * Whether the entries may be filtered — and, in the agenda, grouped —
88
+ * from the picture. On unless declined; a calendar's order is its dates,
89
+ * so sorting is never offered. `arrangedBy` is what it opens arranged by.
90
+ */
91
+ readonly arranging?: ArrangeOption;
92
+ readonly arrangedBy?: Arrangement;
93
+ }
94
+ export interface PlacedEntry {
95
+ readonly id: string;
96
+ readonly kind: string;
97
+ readonly label: string;
98
+ /** `YYYY-MM-DD`, the first day it occupies. */
99
+ readonly from: string;
100
+ /** `YYYY-MM-DD`, the last day it occupies. Equal to `from` for one day. */
101
+ readonly to: string;
102
+ /** Minutes from midnight, where the start named a time. */
103
+ readonly at: number | null;
104
+ readonly allDay: boolean;
105
+ readonly done: boolean;
106
+ }
107
+ //# sourceMappingURL=calendar-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-options.d.ts","sourceRoot":"","sources":["../../src/lens/calendar-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,SAAS,OAAO,EAAE,CAAC;CACjC;AAED,iFAAiF;AACjF,wBAAgB,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAI5G;AAED,eAAO,MAAM,uBAAuB,oBAAqB,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAEvE,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/F,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAA0D,CAAC;AAE/G,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,SAAS,aAAa,EAAE,CAElG;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAE/E;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;IAChD,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,19 @@
1
+ /** Whether a record satisfies a role bound as a boolean field or a predicate. */
2
+ export function holds(record, role) {
3
+ if (role === undefined)
4
+ return false;
5
+ if (typeof role === "string")
6
+ return record[role] === true;
7
+ return role.is.includes(record[role.field]);
8
+ }
9
+ export const CALENDAR_REQUIRED_ROLES = ["start"];
10
+ export const CALENDAR_RANGES = ["day", "week", "month", "quarter", "year", "agenda"];
11
+ /** The ranges this lens offers: every one, plus the horizon where the app named one. */
12
+ export function rangesOf(options) {
13
+ return options.horizon ? ["day", "week", "month", "quarter", "year", "years", "agenda"] : CALENDAR_RANGES;
14
+ }
15
+ /** What a range is called where a person reads it — a button, a place, a title. */
16
+ export function titleOf(range, horizon) {
17
+ return range === "years" ? (horizon?.title ?? "Years") : `The ${range}`;
18
+ }
19
+ //# sourceMappingURL=calendar-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-options.js","sourceRoot":"","sources":["../../src/lens/calendar-options.ts"],"names":[],"mappings":"AAqCA,iFAAiF;AACjF,MAAM,UAAU,KAAK,CAAC,MAAyC,EAAE,IAAkC;IACjG,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAU,CAAC;AAuB1D,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/G,wFAAwF;AACxF,MAAM,UAAU,QAAQ,CAAC,OAA+C;IACtE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AAC5G,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,KAAoB,EAAE,OAAyB;IACrE,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC;AAC1E,CAAC"}