panelui-native 0.68.0 → 0.71.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 (93) hide show
  1. package/README.md +12 -2
  2. package/lib/module/components/accordion/index.js +28 -9
  3. package/lib/module/components/accordion/index.js.map +1 -1
  4. package/lib/module/components/button/index.js +14 -7
  5. package/lib/module/components/button/index.js.map +1 -1
  6. package/lib/module/components/collapsible/index.js +280 -0
  7. package/lib/module/components/collapsible/index.js.map +1 -0
  8. package/lib/module/components/flow/index.js +66 -3
  9. package/lib/module/components/flow/index.js.map +1 -1
  10. package/lib/module/components/live-line-chart/index.js +103 -9
  11. package/lib/module/components/live-line-chart/index.js.map +1 -1
  12. package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
  13. package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
  14. package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
  15. package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
  16. package/lib/module/components/marquee/index.js +194 -0
  17. package/lib/module/components/marquee/index.js.map +1 -0
  18. package/lib/module/components/meter/index.js +38 -20
  19. package/lib/module/components/meter/index.js.map +1 -1
  20. package/lib/module/components/meter/meter-scale.js +62 -8
  21. package/lib/module/components/meter/meter-scale.js.map +1 -1
  22. package/lib/module/components/planner/index.js +133 -59
  23. package/lib/module/components/planner/index.js.map +1 -1
  24. package/lib/module/components/planner/planner-announcement.js +30 -0
  25. package/lib/module/components/planner/planner-announcement.js.map +1 -0
  26. package/lib/module/components/planner/planner-entries.js +15 -7
  27. package/lib/module/components/planner/planner-entries.js.map +1 -1
  28. package/lib/module/components/planner/planner-grid-navigation.js +33 -0
  29. package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
  30. package/lib/module/components/planner/planner-lifecycle.js +45 -0
  31. package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
  32. package/lib/module/components/popover/index.js +2 -2
  33. package/lib/module/components/popover/index.js.map +1 -1
  34. package/lib/module/index.js +2 -0
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/primitives/focus-restoration-store.js +52 -0
  37. package/lib/module/primitives/focus-restoration-store.js.map +1 -0
  38. package/lib/module/primitives/portal.js +36 -2
  39. package/lib/module/primitives/portal.js.map +1 -1
  40. package/lib/typescript/src/components/accordion/index.d.ts +4 -0
  41. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  42. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  43. package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
  44. package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
  45. package/lib/typescript/src/components/flow/index.d.ts +7 -1
  46. package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
  47. package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
  48. package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
  49. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
  50. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
  51. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
  52. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
  53. package/lib/typescript/src/components/marquee/index.d.ts +73 -0
  54. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
  55. package/lib/typescript/src/components/meter/index.d.ts +7 -4
  56. package/lib/typescript/src/components/meter/index.d.ts.map +1 -1
  57. package/lib/typescript/src/components/meter/meter-scale.d.ts +39 -0
  58. package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -1
  59. package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
  60. package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
  61. package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
  62. package/lib/typescript/src/components/planner/planner-entries.d.ts +1 -1
  63. package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
  64. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
  65. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
  66. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
  67. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
  68. package/lib/typescript/src/index.d.ts +2 -0
  69. package/lib/typescript/src/index.d.ts.map +1 -1
  70. package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
  71. package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
  72. package/lib/typescript/src/primitives/portal.d.ts +4 -0
  73. package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
  74. package/package.json +36 -3
  75. package/src/components/accordion/index.tsx +31 -8
  76. package/src/components/button/index.tsx +11 -4
  77. package/src/components/collapsible/index.tsx +278 -0
  78. package/src/components/flow/index.tsx +93 -14
  79. package/src/components/live-line-chart/index.tsx +130 -13
  80. package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
  81. package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
  82. package/src/components/marquee/index.tsx +232 -0
  83. package/src/components/meter/index.tsx +49 -26
  84. package/src/components/meter/meter-scale.ts +84 -8
  85. package/src/components/planner/index.tsx +182 -71
  86. package/src/components/planner/planner-announcement.ts +37 -0
  87. package/src/components/planner/planner-entries.ts +16 -7
  88. package/src/components/planner/planner-grid-navigation.ts +45 -0
  89. package/src/components/planner/planner-lifecycle.ts +76 -0
  90. package/src/components/popover/index.tsx +3 -3
  91. package/src/index.ts +13 -0
  92. package/src/primitives/focus-restoration-store.ts +70 -0
  93. package/src/primitives/portal.tsx +34 -2
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","withTiming","tv","Text","clamp","colorFor","fractionOf","formatValue","litSegments","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","SEGMENT_DURATION","SEGMENT_UNLIT","meterVariants","slots","root","header","track","indicator","segments","segment","variants","color","primary","success","warning","destructive","info","muted","size","sm","md","lg","defaultVariants","Segment","index","lit","className","reducedMotion","style","on","value","opacity","duration","Meter","indicatorClassName","headerClassName","minValue","maxValue","label","showValueLabel","valueLabel","formatOptions","thresholds","accessibilityLabel","props","ref","held","fraction","resolvedColor","trackWidth","progress","litCount","onLayout","event","nativeEvent","layout","width","fillStyle","spoken","showValue","hasHeader","accessibility","accessibilityRole","accessibilityValue","min","max","now","text","bar","children","Array","from","length","_","weight","numberOfLines","displayName"],"sourceRoot":"../../../../src","sources":["components/meter/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","withTiming","tv","Text","colorFor","litSegments","meterSemantics","normalizeScale","normalizeSegments","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","overshootClamping","SEGMENT_DURATION","SEGMENT_UNLIT","meterVariants","slots","root","header","track","indicator","segments","segment","variants","color","primary","success","warning","destructive","info","muted","size","sm","md","lg","defaultVariants","Segment","index","lit","className","reducedMotion","style","on","value","opacity","duration","Meter","indicatorClassName","headerClassName","minValue","maxValue","label","showValueLabel","valueLabel","formatOptions","thresholds","accessibilityLabel","props","ref","scale","held","fraction","segmentCount","resolvedColor","trackWidth","progress","litCount","onLayout","event","width","nativeEvent","layout","Number","isFinite","fillStyle","semantics","min","max","spoken","text","showValue","hasHeader","accessibility","accessibilityRole","accessibilityValue","bar","children","Array","from","length","_","accessibilityElementsHidden","importantForAccessibility","weight","numberOfLines","displayName"],"sourceRoot":"../../../../src","sources":["components/meter/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -18,11 +18,37 @@
18
18
  * a threshold on a 0–8 GB meter is written in gigabytes.
19
19
  */
20
20
 
21
+ /** A bounded block count keeps malformed input from allocating without limit. */
22
+ export const MAX_METER_SEGMENTS = 100;
23
+ /**
24
+ * Make a public scale safe for layout, animation and native accessibility.
25
+ * Invalid bounds fall back to their documented defaults; if those still do
26
+ * not produce a positive span, the scale honestly collapses at its floor.
27
+ */
28
+ export function normalizeScale(value, min, max) {
29
+ const floor = Number.isFinite(min) ? min : 0;
30
+ const candidateMax = Number.isFinite(max) ? max : 100;
31
+ const ceiling = candidateMax > floor ? candidateMax : floor;
32
+ const held = Number.isNaN(value) ? floor : value === Number.POSITIVE_INFINITY ? ceiling : value === Number.NEGATIVE_INFINITY ? floor : Math.min(Math.max(value, floor), ceiling);
33
+ const magnitude = Math.max(Math.abs(floor), Math.abs(ceiling), 1);
34
+ const position = ceiling > floor ? (held / magnitude - floor / magnitude) / (ceiling / magnitude - floor / magnitude) : 0;
35
+ return {
36
+ min: floor,
37
+ max: ceiling,
38
+ value: held,
39
+ fraction: Math.min(Math.max(position, 0), 1)
40
+ };
41
+ }
42
+
43
+ /** Positive counts are whole and bounded; zero means the continuous meter. */
44
+ export function normalizeSegments(segments) {
45
+ if (segments == null || !Number.isFinite(segments) || !(segments > 0)) return 0;
46
+ return Math.min(Math.floor(segments), MAX_METER_SEGMENTS);
47
+ }
48
+
21
49
  /** `value` held inside the scale, so a stray number cannot escape the track. */
22
50
  export function clamp(value, min, max) {
23
- if (!(value > min)) return min;
24
- if (value > max) return max;
25
- return value;
51
+ return normalizeScale(value, min, max).value;
26
52
  }
27
53
 
28
54
  /**
@@ -30,9 +56,7 @@ export function clamp(value, min, max) {
30
56
  * meaningful position in it, so it reads as empty rather than dividing by zero.
31
57
  */
32
58
  export function fractionOf(value, min, max) {
33
- const span = max - min;
34
- if (!(span > 0)) return 0;
35
- return clamp((value - min) / span, 0, 1);
59
+ return normalizeScale(value, min, max).fraction;
36
60
  }
37
61
 
38
62
  /**
@@ -47,6 +71,7 @@ export function colorFor(value, base, thresholds) {
47
71
  if (!thresholds?.length) return base;
48
72
  let winner;
49
73
  for (const threshold of thresholds) {
74
+ if (!Number.isFinite(threshold.from)) continue;
50
75
  if (value < threshold.from) continue;
51
76
  if (!winner || threshold.from > winner.from) winner = threshold;
52
77
  }
@@ -62,8 +87,10 @@ export function colorFor(value, base, thresholds) {
62
87
  * wrong.
63
88
  */
64
89
  export function litSegments(fraction, segments) {
65
- if (!(segments > 0)) return 0;
66
- return Math.min(Math.ceil(fraction * segments), segments);
90
+ const count = normalizeSegments(segments);
91
+ if (count === 0 || Number.isNaN(fraction) || fraction <= 0) return 0;
92
+ if (!Number.isFinite(fraction) || fraction >= 1) return count;
93
+ return Math.min(Math.ceil(fraction * count), count);
67
94
  }
68
95
 
69
96
  /**
@@ -85,4 +112,31 @@ export function formatValue(value, fraction, valueLabel, formatOptions) {
85
112
  }
86
113
  return `${Math.round(fraction * 100)}%`;
87
114
  }
115
+
116
+ /**
117
+ * The meter's single spoken contract. Visual treatments such as segments,
118
+ * thresholds and motion do not belong here: they do not change the reading.
119
+ */
120
+ export function meterSemantics({
121
+ value,
122
+ fraction,
123
+ minValue,
124
+ maxValue,
125
+ label,
126
+ accessibilityLabel,
127
+ valueLabel,
128
+ formatOptions
129
+ }) {
130
+ const text = formatValue(value, fraction, valueLabel, formatOptions);
131
+ return {
132
+ label: accessibilityLabel ?? label,
133
+ text,
134
+ value: {
135
+ min: minValue,
136
+ max: maxValue,
137
+ now: value,
138
+ text
139
+ }
140
+ };
141
+ }
88
142
  //# sourceMappingURL=meter-scale.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["clamp","value","min","max","fractionOf","span","colorFor","base","thresholds","length","winner","threshold","from","color","litSegments","fraction","segments","Math","ceil","formatValue","valueLabel","formatOptions","Intl","NumberFormat","undefined","format","style","round"],"sourceRoot":"../../../../src","sources":["components/meter/meter-scale.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AASA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA,OAAO,SAASA,KAAKA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;EAC7D,IAAI,EAAEF,KAAK,GAAGC,GAAG,CAAC,EAAE,OAAOA,GAAG;EAC9B,IAAID,KAAK,GAAGE,GAAG,EAAE,OAAOA,GAAG;EAC3B,OAAOF,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,UAAUA,CAACH,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;EAClE,MAAME,IAAI,GAAGF,GAAG,GAAGD,GAAG;EACtB,IAAI,EAAEG,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;EACzB,OAAOL,KAAK,CAAC,CAACC,KAAK,GAAGC,GAAG,IAAIG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CACtBL,KAAa,EACbM,IAA4B,EAC5BC,UAAwC,EACxC;EACA,IAAI,CAACA,UAAU,EAAEC,MAAM,EAAE,OAAOF,IAAI;EACpC,IAAIG,MAAkC;EACtC,KAAK,MAAMC,SAAS,IAAIH,UAAU,EAAE;IAClC,IAAIP,KAAK,GAAGU,SAAS,CAACC,IAAI,EAAE;IAC5B,IAAI,CAACF,MAAM,IAAIC,SAAS,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI,EAAEF,MAAM,GAAGC,SAAS;EACjE;EACA,OAAOD,MAAM,EAAEG,KAAK,IAAIN,IAAI;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,WAAWA,CAACC,QAAgB,EAAEC,QAAgB,EAAE;EAC9D,IAAI,EAAEA,QAAQ,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;EAC7B,OAAOC,IAAI,CAACf,GAAG,CAACe,IAAI,CAACC,IAAI,CAACH,QAAQ,GAAGC,QAAQ,CAAC,EAAEA,QAAQ,CAAC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,WAAWA,CACzBlB,KAAa,EACbc,QAAgB,EAChBK,UAAmB,EACnBC,aAAwC,EACxC;EACA,IAAID,UAAU,IAAI,IAAI,EAAE,OAAOA,UAAU;EACzC,IAAIC,aAAa,EAAE;IACjB,IAAI;MACF,OAAO,IAAIC,IAAI,CAACC,YAAY,CAACC,SAAS,EAAEH,aAAa,CAAC,CAACI,MAAM,CAC3DJ,aAAa,CAACK,KAAK,KAAK,SAAS,GAAGX,QAAQ,GAAGd,KACjD,CAAC;IACH,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,OAAO,GAAGgB,IAAI,CAACU,KAAK,CAACZ,QAAQ,GAAG,GAAG,CAAC,GAAG;AACzC","ignoreList":[]}
1
+ {"version":3,"names":["MAX_METER_SEGMENTS","normalizeScale","value","min","max","floor","Number","isFinite","candidateMax","ceiling","held","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","Math","magnitude","abs","position","fraction","normalizeSegments","segments","clamp","fractionOf","colorFor","base","thresholds","length","winner","threshold","from","color","litSegments","count","ceil","formatValue","valueLabel","formatOptions","Intl","NumberFormat","undefined","format","style","round","meterSemantics","minValue","maxValue","label","accessibilityLabel","text","now"],"sourceRoot":"../../../../src","sources":["components/meter/meter-scale.ts"],"mappings":"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","ignoreList":[]}
@@ -57,8 +57,8 @@
57
57
  * which categories they belong to. Neither is decoration: between them they
58
58
  * are the whole content of the grid for somebody who cannot see it.
59
59
  */
60
- import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react';
61
- import { AccessibilityInfo, AppState, Pressable, View } from 'react-native';
60
+ import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
61
+ import { AccessibilityInfo, AppState, Platform, Pressable, View } from 'react-native';
62
62
  import { tv } from 'tailwind-variants';
63
63
  import { useCSSVariable } from 'uniwind';
64
64
  import { ChevronLeftIcon, ChevronRightIcon } from "../../icons/index.js";
@@ -68,6 +68,9 @@ import { addCalendarMonths, calendarDayNumber, calendarLongDate, calendarMonthLa
68
68
  import { Dialog } from "../dialog/index.js";
69
69
  import { Frame } from "../frame/index.js";
70
70
  import { bucketByDay, dayAccessibilityLabel, entriesOn, summariseMonth, visibleEntries } from "./planner-entries.js";
71
+ import { usePlannerMonthAnnouncement } from "./planner-announcement.js";
72
+ import { plannerGridTarget } from "./planner-grid-navigation.js";
73
+ import { usePlannerMonthLifecycle, usePlannerSelectionLifecycle } from "./planner-lifecycle.js";
71
74
 
72
75
  /** How many of a day's entries a cell draws before it stops and counts. */
73
76
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -75,6 +78,11 @@ const DEFAULT_ENTRY_LIMIT = 2;
75
78
 
76
79
  /** The palette a category takes its dot from when it does not name a colour. */
77
80
  const PALETTE_SIZE = 5;
81
+
82
+ /** Stable wrapper keeps the native method's receiver and the hook dependency steady. */
83
+ const announceMonth = label => {
84
+ AccessibilityInfo.announceForAccessibility(label);
85
+ };
78
86
  const plannerVariants = tv({
79
87
  slots: {
80
88
  grid: 'gap-1 px-3 pb-3 pt-1',
@@ -214,42 +222,51 @@ const PlannerRoot = /*#__PURE__*/forwardRef(({
214
222
  const system = resolveCalendar(calendar, locale);
215
223
  const palette = usePalette();
216
224
  const today = useToday();
217
- const [internalMonth, setInternalMonth] = useState(() => startOfCalendarMonth(defaultMonth ?? new Date(), system, locale));
218
- const month = monthProp ? startOfCalendarMonth(monthProp, system, locale) : internalMonth;
225
+ const settleMonth = useCallback(date => startOfCalendarMonth(date, system, locale), [system, locale]);
226
+ const [month, requestMonth] = usePlannerMonthLifecycle({
227
+ month: monthProp,
228
+ defaultMonth,
229
+ settleMonth,
230
+ onMonthChange
231
+ });
232
+ /*
233
+ * The announcement is registered against the month a press asks for, and
234
+ * spoken only once a commit arrives carrying it. That is what keeps a
235
+ * controlled parent's rejection silent, so it wraps the lifecycle's setter
236
+ * rather than living inside it — the hook owns which month is current, and
237
+ * this owns whether the change was the user's to hear about.
238
+ */
239
+ const expectMonthAnnouncement = usePlannerMonthAnnouncement({
240
+ monthKey: month.getTime(),
241
+ monthLabel: calendarMonthLabel(month, system, locale),
242
+ announce: announceMonth
243
+ });
219
244
  const setMonth = useCallback(next => {
220
- const settled = startOfCalendarMonth(next, system, locale);
221
- if (!monthProp) setInternalMonth(settled);
222
- onMonthChange?.(settled);
223
- }, [monthProp, onMonthChange, system, locale]);
224
- const [internalSelected, setInternalSelected] = useState(defaultSelected);
225
- const selected = selectedProp !== undefined ? selectedProp : internalSelected;
226
- const select = useCallback(date => {
227
- if (selectedProp === undefined) setInternalSelected(date);
228
- onSelectedChange?.(date);
229
- }, [selectedProp, onSelectedChange]);
245
+ expectMonthAnnouncement(settleMonth(next));
246
+ requestMonth(next);
247
+ }, [expectMonthAnnouncement, requestMonth, settleMonth]);
248
+ const [selected, select] = usePlannerSelectionLifecycle({
249
+ selected: selectedProp,
250
+ defaultSelected,
251
+ onSelectedChange
252
+ });
230
253
  const days = useMemo(() => bucketByDay(entries), [entries]);
254
+ const normalizedWeekStart = weekStartsOn === 'auto' ? localeWeekStart(locale) : normalizeWeekStart(weekStartsOn);
255
+ const grid = useMemo(() => monthGrid(month, normalizedWeekStart, system, locale), [month, normalizedWeekStart, system, locale]);
231
256
  const isInMonth = useCallback(date => isSameCalendarMonth(date, month, system, locale), [month, system, locale]);
232
257
  const categoryLabels = useMemo(() => new Map(categories.map(category => [category.id, category.label])), [categories]);
233
- const colorOf = useCallback(id => {
234
- if (!id) return undefined;
235
- const index = categories.findIndex(category => category.id === id);
236
- if (index < 0) return undefined;
237
- const category = categories[index];
238
- if (category.color) return category.color;
239
- const slot = (category.colorIndex ?? index + 1) - 1;
240
- return palette[(slot % PALETTE_SIZE + PALETTE_SIZE) % PALETTE_SIZE];
258
+ const categoryColors = useMemo(() => {
259
+ const colors = new Map();
260
+ categories.forEach((category, index) => {
261
+ // `findIndex` used to make the first duplicate id authoritative.
262
+ if (colors.has(category.id)) return;
263
+ const slot = (category.colorIndex ?? index + 1) - 1;
264
+ colors.set(category.id, category.color ?? palette[(slot % PALETTE_SIZE + PALETTE_SIZE) % PALETTE_SIZE]);
265
+ });
266
+ return colors;
241
267
  }, [categories, palette]);
242
- const summary = useMemo(() => summariseMonth(entries, categories, isInMonth), [entries, categories, isInMonth]);
243
-
244
- /*
245
- * The month is announced rather than left to the cells. Paging moves 42
246
- * labels at once and a screen reader reads none of them, so without this
247
- * the only thing that changes is silent.
248
- */
249
- const monthLabel = calendarMonthLabel(month, system, locale);
250
- useEffect(() => {
251
- AccessibilityInfo.announceForAccessibility(monthLabel);
252
- }, [monthLabel]);
268
+ const colorOf = useCallback(id => id ? categoryColors.get(id) : undefined, [categoryColors]);
269
+ const summary = useMemo(() => summariseMonth(days, grid, categories, isInMonth), [days, grid, categories, isInMonth]);
253
270
  const context = useMemo(() => ({
254
271
  month,
255
272
  setMonth,
@@ -262,12 +279,13 @@ const PlannerRoot = /*#__PURE__*/forwardRef(({
262
279
  colorOf,
263
280
  summary,
264
281
  entryLimit,
265
- weekStartsOn: weekStartsOn === 'auto' ? localeWeekStart(locale) : normalizeWeekStart(weekStartsOn),
282
+ weekStartsOn: normalizedWeekStart,
283
+ grid,
266
284
  locale,
267
285
  system,
268
286
  isInMonth,
269
287
  onDayPress
270
- }), [month, setMonth, today, selected, select, days, categories, categoryLabels, colorOf, summary, entryLimit, weekStartsOn, locale, system, isInMonth, onDayPress]);
288
+ }), [month, setMonth, today, selected, select, days, categories, categoryLabels, colorOf, summary, entryLimit, normalizedWeekStart, grid, locale, system, isInMonth, onDayPress]);
271
289
 
272
290
  /*
273
291
  * The header belongs in the Frame's strip and everything else in its
@@ -437,6 +455,8 @@ PlannerAction.displayName = 'Planner.Action';
437
455
 
438
456
  /** What a custom cell is handed. Everything the default cell draws from. */
439
457
 
458
+ const PlannerGridNavigationContext = /*#__PURE__*/createContext(null);
459
+
440
460
  /**
441
461
  * The weekday row and the six weeks below it.
442
462
  *
@@ -450,39 +470,72 @@ function PlannerGrid({
450
470
  renderDay
451
471
  }) {
452
472
  const {
453
- month,
473
+ grid: weeks,
454
474
  weekStartsOn,
455
475
  locale,
456
- system
476
+ selected,
477
+ today,
478
+ isInMonth
457
479
  } = usePlanner('Planner.Grid');
458
480
  const {
459
481
  grid,
460
482
  week: weekRow,
461
483
  heading
462
484
  } = plannerVariants();
463
- const weeks = useMemo(() => monthGrid(month, weekStartsOn, system, locale), [month, weekStartsOn, system, locale]);
464
485
  const headings = useMemo(() => weekdayNames(locale, weekStartsOn), [locale, weekStartsOn]);
465
- return /*#__PURE__*/_jsxs(View, {
466
- className: grid({
467
- className
468
- }),
469
- children: [/*#__PURE__*/_jsx(View, {
470
- className: weekRow(),
471
- accessibilityElementsHidden: true,
472
- importantForAccessibility: "no-hide-descendants",
473
- children: headings.map(label => /*#__PURE__*/_jsx(Text, {
474
- size: "xs",
475
- muted: true,
476
- className: heading(),
477
- children: label.toUpperCase()
478
- }, label))
479
- }), weeks.map((week, index) => /*#__PURE__*/_jsx(View, {
480
- className: weekRow(),
481
- children: week.map(date => /*#__PURE__*/_jsx(PlannerDay, {
482
- date: date,
483
- renderDay: renderDay
484
- }, date.getTime()))
485
- }, index))]
486
+ const dates = useMemo(() => weeks.flat(), [weeks]);
487
+ const indexByDay = useMemo(() => new Map(dates.map((date, index) => [date.getTime(), index])), [dates]);
488
+ const initialDay = selected ?? today;
489
+ const [activeDay, setActiveDay] = useState(initialDay.getTime());
490
+ const storedIndex = indexByDay.get(activeDay);
491
+ const preferredIndex = (selected ? indexByDay.get(startOfDay(selected).getTime()) : undefined) ?? indexByDay.get(today.getTime()) ?? dates.findIndex(isInMonth);
492
+ const activeIndex = storedIndex ?? Math.max(0, preferredIndex);
493
+ const refs = useRef(new Map());
494
+ const register = useCallback((index, node) => {
495
+ if (node) refs.current.set(index, node);else refs.current.delete(index);
496
+ }, []);
497
+ const makeActive = useCallback(index => {
498
+ const date = dates[index];
499
+ if (date) setActiveDay(date.getTime());
500
+ }, [dates]);
501
+ const focus = useCallback((index, event) => {
502
+ const target = plannerGridTarget(event.nativeEvent.key ?? '', index, dates.length);
503
+ if (target === null) return;
504
+ event.preventDefault();
505
+ makeActive(target);
506
+ refs.current.get(target)?.focus();
507
+ }, [dates.length, makeActive]);
508
+ const navigation = useMemo(() => ({
509
+ activeIndex,
510
+ indexByDay,
511
+ register,
512
+ focus,
513
+ makeActive
514
+ }), [activeIndex, indexByDay, register, focus, makeActive]);
515
+ return /*#__PURE__*/_jsx(PlannerGridNavigationContext.Provider, {
516
+ value: renderDay ? null : navigation,
517
+ children: /*#__PURE__*/_jsxs(View, {
518
+ className: grid({
519
+ className
520
+ }),
521
+ children: [/*#__PURE__*/_jsx(View, {
522
+ className: weekRow(),
523
+ accessibilityElementsHidden: true,
524
+ importantForAccessibility: "no-hide-descendants",
525
+ children: headings.map(label => /*#__PURE__*/_jsx(Text, {
526
+ size: "xs",
527
+ muted: true,
528
+ className: heading(),
529
+ children: label.toUpperCase()
530
+ }, label))
531
+ }), weeks.map((week, index) => /*#__PURE__*/_jsx(View, {
532
+ className: weekRow(),
533
+ children: week.map(date => /*#__PURE__*/_jsx(PlannerDay, {
534
+ date: date,
535
+ renderDay: renderDay
536
+ }, date.getTime()))
537
+ }, index))]
538
+ })
486
539
  });
487
540
  }
488
541
  PlannerGrid.displayName = 'Planner.Grid';
@@ -504,6 +557,10 @@ function PlannerDay({
504
557
  isInMonth,
505
558
  onDayPress
506
559
  } = usePlanner('Planner.Day');
560
+ const navigation = useContext(PlannerGridNavigationContext);
561
+ const registerGridCell = navigation?.register;
562
+ const focusGridCell = navigation?.focus;
563
+ const makeGridCellActive = navigation?.makeActive;
507
564
  const entries = entriesOn(days, date);
508
565
  const inMonth = isInMonth(date);
509
566
  const isToday = isSameDay(date, today);
@@ -523,6 +580,22 @@ function PlannerDay({
523
580
  onDayPress?.(date, entries);
524
581
  select(date);
525
582
  };
583
+ const gridIndex = navigation?.indexByDay.get(date.getTime());
584
+ const setRef = useCallback(node => {
585
+ if (gridIndex !== undefined) registerGridCell?.(gridIndex, node);
586
+ }, [gridIndex, registerGridCell]);
587
+ const onFocus = useCallback(() => {
588
+ if (gridIndex !== undefined) makeGridCellActive?.(gridIndex);
589
+ }, [gridIndex, makeGridCellActive]);
590
+ const onKeyDown = useCallback(event => {
591
+ if (gridIndex !== undefined) focusGridCell?.(gridIndex, event);
592
+ }, [gridIndex, focusGridCell]);
593
+ const webGridProps = Platform.OS === 'web' && gridIndex !== undefined && navigation ? {
594
+ ref: setRef,
595
+ tabIndex: navigation.activeIndex === gridIndex ? 0 : -1,
596
+ onFocus,
597
+ onKeyDown
598
+ } : {};
526
599
  if (renderDay) {
527
600
  return /*#__PURE__*/_jsx(View, {
528
601
  className: "flex-1",
@@ -536,6 +609,7 @@ function PlannerDay({
536
609
  });
537
610
  }
538
611
  return /*#__PURE__*/_jsxs(Pressable, {
612
+ ...webGridProps,
539
613
  onPress: press,
540
614
  accessibilityRole: "button",
541
615
  accessibilityLabel: label,
@@ -1 +1 @@
1
- {"version":3,"names":["Children","createContext","forwardRef","isValidElement","useCallback","useContext","useEffect","useMemo","useState","AccessibilityInfo","AppState","Pressable","View","tv","useCSSVariable","ChevronLeftIcon","ChevronRightIcon","Text","cn","addCalendarMonths","calendarDayNumber","calendarLongDate","calendarMonthLabel","isSameCalendarMonth","isSameDay","localeWeekStart","monthGrid","normalizeWeekStart","resolveCalendar","startOfCalendarMonth","startOfDay","weekdayNames","Dialog","Frame","bucketByDay","dayAccessibilityLabel","entriesOn","summariseMonth","visibleEntries","jsx","_jsx","jsxs","_jsxs","DEFAULT_ENTRY_LIMIT","PALETTE_SIZE","plannerVariants","slots","grid","week","heading","legend","swatch","dayVariants","cell","number","marker","body","variants","inMonth","true","false","today","selected","disabled","defaultVariants","PlannerContext","usePlanner","component","context","Error","useToday","setToday","Date","refresh","now","current","getTime","subscription","addEventListener","state","remove","usePalette","one","two","three","four","five","map","v","undefined","PlannerRoot","className","month","monthProp","defaultMonth","onMonthChange","entries","categories","selectedProp","defaultSelected","onSelectedChange","onDayPress","entryLimit","weekStartsOn","locale","calendar","frame","children","props","ref","system","palette","internalMonth","setInternalMonth","setMonth","next","settled","internalSelected","setInternalSelected","select","date","days","isInMonth","categoryLabels","Map","category","id","label","colorOf","index","findIndex","color","slot","colorIndex","summary","monthLabel","announceForAccessibility","parts","toArray","header","find","child","type","PlannerHeader","filter","Provider","value","Panel","dividers","displayName","trails","PlannerNav","PlannerAction","trailing","lead","Header","length","PlannerTitle","weight","PlannerToday","alreadyHere","onPress","hitSlop","accessibilityRole","accessibilityLabel","accessibilityState","size","muted","PlannerArrow","direction","Action","PlannerGrid","renderDay","weekRow","weeks","headings","accessibilityElementsHidden","importantForAccessibility","toUpperCase","PlannerDay","isToday","isSelected","shown","overflow","drawable","entry","icon","styles","press","accessibilityHint","style","backgroundColor","markerColor","PlannerLegend","counts","count","PlannerSummary","total","PlannerFooter","PlannerDetails","title","description","open","onOpenChange","Content","Title","Description","Planner","Object","assign","Today","Nav","Grid","Day","Legend","Summary","Footer","Details"],"sourceRoot":"../../../../src","sources":["components/planner/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","createContext","forwardRef","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","AccessibilityInfo","AppState","Platform","Pressable","View","tv","useCSSVariable","ChevronLeftIcon","ChevronRightIcon","Text","cn","addCalendarMonths","calendarDayNumber","calendarLongDate","calendarMonthLabel","isSameCalendarMonth","isSameDay","localeWeekStart","monthGrid","normalizeWeekStart","resolveCalendar","startOfCalendarMonth","startOfDay","weekdayNames","Dialog","Frame","bucketByDay","dayAccessibilityLabel","entriesOn","summariseMonth","visibleEntries","usePlannerMonthAnnouncement","plannerGridTarget","usePlannerMonthLifecycle","usePlannerSelectionLifecycle","jsx","_jsx","jsxs","_jsxs","DEFAULT_ENTRY_LIMIT","PALETTE_SIZE","announceMonth","label","announceForAccessibility","plannerVariants","slots","grid","week","heading","legend","swatch","dayVariants","cell","number","marker","body","variants","inMonth","true","false","today","selected","disabled","defaultVariants","PlannerContext","usePlanner","component","context","Error","useToday","setToday","Date","refresh","now","current","getTime","subscription","addEventListener","state","remove","usePalette","one","two","three","four","five","map","v","undefined","PlannerRoot","className","month","monthProp","defaultMonth","onMonthChange","entries","categories","selectedProp","defaultSelected","onSelectedChange","onDayPress","entryLimit","weekStartsOn","locale","calendar","frame","children","props","ref","system","palette","settleMonth","date","requestMonth","expectMonthAnnouncement","monthKey","monthLabel","announce","setMonth","next","select","days","normalizedWeekStart","isInMonth","categoryLabels","Map","category","id","categoryColors","colors","forEach","index","has","slot","colorIndex","set","color","colorOf","get","summary","parts","toArray","header","find","child","type","PlannerHeader","filter","Provider","value","Panel","dividers","displayName","trails","PlannerNav","PlannerAction","trailing","lead","Header","length","PlannerTitle","weight","PlannerToday","alreadyHere","onPress","hitSlop","accessibilityRole","accessibilityLabel","accessibilityState","size","muted","PlannerArrow","direction","Action","PlannerGridNavigationContext","PlannerGrid","renderDay","weeks","weekRow","headings","dates","flat","indexByDay","initialDay","activeDay","setActiveDay","storedIndex","preferredIndex","findIndex","activeIndex","Math","max","refs","register","node","delete","makeActive","focus","event","target","nativeEvent","key","preventDefault","navigation","accessibilityElementsHidden","importantForAccessibility","toUpperCase","PlannerDay","registerGridCell","focusGridCell","makeGridCellActive","isToday","isSelected","shown","overflow","drawable","entry","icon","styles","press","gridIndex","setRef","onFocus","onKeyDown","webGridProps","OS","tabIndex","accessibilityHint","style","backgroundColor","markerColor","PlannerLegend","counts","count","PlannerSummary","total","PlannerFooter","PlannerDetails","title","description","open","onOpenChange","Content","Title","Description","Planner","Object","assign","Today","Nav","Grid","Day","Legend","Summary","Footer","Details"],"sourceRoot":"../../../../src","sources":["components/planner/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useRef } from 'react';
4
+ /**
5
+ * Announces a month only when the next committed render accepts a user request.
6
+ *
7
+ * Prop-driven months stay silent. In a controlled planner, a render that keeps
8
+ * the previous month rejects the pending request and clears it without speaking.
9
+ */
10
+ export function usePlannerMonthAnnouncement({
11
+ monthKey,
12
+ monthLabel,
13
+ announce
14
+ }) {
15
+ const pendingMonth = useRef(null);
16
+ const expectMonth = useCallback(month => {
17
+ pendingMonth.current = month.getTime();
18
+ }, []);
19
+
20
+ // Deliberately runs after every commit: an unchanged controlled render is
21
+ // how a parent rejects a request, while a changed matching render accepts it.
22
+ useEffect(() => {
23
+ const expected = pendingMonth.current;
24
+ if (expected === null) return;
25
+ pendingMonth.current = null;
26
+ if (expected === monthKey) announce(monthLabel);
27
+ });
28
+ return expectMonth;
29
+ }
30
+ //# sourceMappingURL=planner-announcement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","usePlannerMonthAnnouncement","monthKey","monthLabel","announce","pendingMonth","expectMonth","month","current","getTime","expected"],"sourceRoot":"../../../../src","sources":["components/planner/planner-announcement.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAStD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAC;EAC1CC,QAAQ;EACRC,UAAU;EACVC;AAC+B,CAAC,EAAyB;EACzD,MAAMC,YAAY,GAAGL,MAAM,CAAgB,IAAI,CAAC;EAEhD,MAAMM,WAAW,GAAGR,WAAW,CAAES,KAAW,IAAK;IAC/CF,YAAY,CAACG,OAAO,GAAGD,KAAK,CAACE,OAAO,CAAC,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACAV,SAAS,CAAC,MAAM;IACd,MAAMW,QAAQ,GAAGL,YAAY,CAACG,OAAO;IACrC,IAAIE,QAAQ,KAAK,IAAI,EAAE;IACvBL,YAAY,CAACG,OAAO,GAAG,IAAI;IAC3B,IAAIE,QAAQ,KAAKR,QAAQ,EAAEE,QAAQ,CAACD,UAAU,CAAC;EACjD,CAAC,CAAC;EAEF,OAAOG,WAAW;AACpB","ignoreList":[]}