panelui-native 0.66.1 → 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 (196) hide show
  1. package/README.md +31 -1
  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/area-chart/index.js +18 -1
  5. package/lib/module/components/area-chart/index.js.map +1 -1
  6. package/lib/module/components/bar-chart/index.js +18 -1
  7. package/lib/module/components/bar-chart/index.js.map +1 -1
  8. package/lib/module/components/button/index.js +14 -7
  9. package/lib/module/components/button/index.js.map +1 -1
  10. package/lib/module/components/candlestick-chart/index.js +18 -1
  11. package/lib/module/components/candlestick-chart/index.js.map +1 -1
  12. package/lib/module/components/collapsible/index.js +280 -0
  13. package/lib/module/components/collapsible/index.js.map +1 -0
  14. package/lib/module/components/flow/index.js +66 -3
  15. package/lib/module/components/flow/index.js.map +1 -1
  16. package/lib/module/components/form/index.js +7 -5
  17. package/lib/module/components/form/index.js.map +1 -1
  18. package/lib/module/components/form/typed-form.js +11 -0
  19. package/lib/module/components/form/typed-form.js.map +1 -0
  20. package/lib/module/components/form/use-form.js +4 -0
  21. package/lib/module/components/form/use-form.js.map +1 -1
  22. package/lib/module/components/heatmap-chart/index.js +27 -1
  23. package/lib/module/components/heatmap-chart/index.js.map +1 -1
  24. package/lib/module/components/line-chart/index.js +18 -1
  25. package/lib/module/components/line-chart/index.js.map +1 -1
  26. package/lib/module/components/live-line-chart/index.js +103 -9
  27. package/lib/module/components/live-line-chart/index.js.map +1 -1
  28. package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
  29. package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
  30. package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
  31. package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
  32. package/lib/module/components/marquee/index.js +194 -0
  33. package/lib/module/components/marquee/index.js.map +1 -0
  34. package/lib/module/components/message-scroller/index.js +172 -10
  35. package/lib/module/components/message-scroller/index.js.map +1 -1
  36. package/lib/module/components/message-scroller/message-scroller-math.js +23 -0
  37. package/lib/module/components/message-scroller/message-scroller-math.js.map +1 -1
  38. package/lib/module/components/meter/index.js +268 -0
  39. package/lib/module/components/meter/index.js.map +1 -0
  40. package/lib/module/components/meter/meter-scale.js +142 -0
  41. package/lib/module/components/meter/meter-scale.js.map +1 -0
  42. package/lib/module/components/planner/index.js +788 -0
  43. package/lib/module/components/planner/index.js.map +1 -0
  44. package/lib/module/components/planner/planner-announcement.js +30 -0
  45. package/lib/module/components/planner/planner-announcement.js.map +1 -0
  46. package/lib/module/components/planner/planner-entries.js +132 -0
  47. package/lib/module/components/planner/planner-entries.js.map +1 -0
  48. package/lib/module/components/planner/planner-grid-navigation.js +33 -0
  49. package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
  50. package/lib/module/components/planner/planner-lifecycle.js +45 -0
  51. package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
  52. package/lib/module/components/popover/index.js +2 -2
  53. package/lib/module/components/popover/index.js.map +1 -1
  54. package/lib/module/components/radar-chart/index.js +18 -1
  55. package/lib/module/components/radar-chart/index.js.map +1 -1
  56. package/lib/module/components/scatter-chart/index.js +18 -1
  57. package/lib/module/components/scatter-chart/index.js.map +1 -1
  58. package/lib/module/components/skeleton/index.js +45 -7
  59. package/lib/module/components/skeleton/index.js.map +1 -1
  60. package/lib/module/components/spinner/index.js +63 -14
  61. package/lib/module/components/spinner/index.js.map +1 -1
  62. package/lib/module/components/time-picker/index.js +46 -21
  63. package/lib/module/components/time-picker/index.js.map +1 -1
  64. package/lib/module/components/time-picker/ruler-window.js +25 -0
  65. package/lib/module/components/time-picker/ruler-window.js.map +1 -0
  66. package/lib/module/hooks/breakpoint-contract.js +29 -0
  67. package/lib/module/hooks/breakpoint-contract.js.map +1 -0
  68. package/lib/module/hooks/index.js +1 -1
  69. package/lib/module/hooks/index.js.map +1 -1
  70. package/lib/module/hooks/use-breakpoint.js +46 -1
  71. package/lib/module/hooks/use-breakpoint.js.map +1 -1
  72. package/lib/module/index.js +5 -1
  73. package/lib/module/index.js.map +1 -1
  74. package/lib/module/primitives/chart-accessibility.js +68 -0
  75. package/lib/module/primitives/chart-accessibility.js.map +1 -0
  76. package/lib/module/primitives/focus-restoration-store.js +52 -0
  77. package/lib/module/primitives/focus-restoration-store.js.map +1 -0
  78. package/lib/module/primitives/portal.js +36 -2
  79. package/lib/module/primitives/portal.js.map +1 -1
  80. package/lib/typescript/src/components/accordion/index.d.ts +4 -0
  81. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  82. package/lib/typescript/src/components/area-chart/index.d.ts +2 -1
  83. package/lib/typescript/src/components/area-chart/index.d.ts.map +1 -1
  84. package/lib/typescript/src/components/bar-chart/index.d.ts +2 -1
  85. package/lib/typescript/src/components/bar-chart/index.d.ts.map +1 -1
  86. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  87. package/lib/typescript/src/components/candlestick-chart/index.d.ts +2 -1
  88. package/lib/typescript/src/components/candlestick-chart/index.d.ts.map +1 -1
  89. package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
  90. package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
  91. package/lib/typescript/src/components/flow/index.d.ts +7 -1
  92. package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
  93. package/lib/typescript/src/components/form/index.d.ts +18 -5
  94. package/lib/typescript/src/components/form/index.d.ts.map +1 -1
  95. package/lib/typescript/src/components/form/typed-form.d.ts +7 -0
  96. package/lib/typescript/src/components/form/typed-form.d.ts.map +1 -0
  97. package/lib/typescript/src/components/form/use-form.d.ts +4 -0
  98. package/lib/typescript/src/components/form/use-form.d.ts.map +1 -1
  99. package/lib/typescript/src/components/heatmap-chart/index.d.ts +2 -1
  100. package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
  101. package/lib/typescript/src/components/line-chart/index.d.ts +2 -1
  102. package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -1
  103. package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
  104. package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
  105. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
  106. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
  107. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
  108. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
  109. package/lib/typescript/src/components/marquee/index.d.ts +73 -0
  110. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
  111. package/lib/typescript/src/components/message-scroller/index.d.ts +30 -2
  112. package/lib/typescript/src/components/message-scroller/index.d.ts.map +1 -1
  113. package/lib/typescript/src/components/message-scroller/message-scroller-math.d.ts +10 -0
  114. package/lib/typescript/src/components/message-scroller/message-scroller-math.d.ts.map +1 -1
  115. package/lib/typescript/src/components/meter/index.d.ts +273 -0
  116. package/lib/typescript/src/components/meter/index.d.ts.map +1 -0
  117. package/lib/typescript/src/components/meter/meter-scale.d.ts +96 -0
  118. package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -0
  119. package/lib/typescript/src/components/planner/index.d.ts +274 -0
  120. package/lib/typescript/src/components/planner/index.d.ts.map +1 -0
  121. package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
  122. package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
  123. package/lib/typescript/src/components/planner/planner-entries.d.ts +75 -0
  124. package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -0
  125. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
  126. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
  127. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
  128. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
  129. package/lib/typescript/src/components/radar-chart/index.d.ts +4 -0
  130. package/lib/typescript/src/components/radar-chart/index.d.ts.map +1 -1
  131. package/lib/typescript/src/components/scatter-chart/index.d.ts +2 -1
  132. package/lib/typescript/src/components/scatter-chart/index.d.ts.map +1 -1
  133. package/lib/typescript/src/components/skeleton/index.d.ts +25 -2
  134. package/lib/typescript/src/components/skeleton/index.d.ts.map +1 -1
  135. package/lib/typescript/src/components/spinner/index.d.ts +25 -2
  136. package/lib/typescript/src/components/spinner/index.d.ts.map +1 -1
  137. package/lib/typescript/src/components/time-picker/index.d.ts +5 -6
  138. package/lib/typescript/src/components/time-picker/index.d.ts.map +1 -1
  139. package/lib/typescript/src/components/time-picker/ruler-window.d.ts +12 -0
  140. package/lib/typescript/src/components/time-picker/ruler-window.d.ts.map +1 -0
  141. package/lib/typescript/src/hooks/breakpoint-contract.d.ts +6 -0
  142. package/lib/typescript/src/hooks/breakpoint-contract.d.ts.map +1 -0
  143. package/lib/typescript/src/hooks/index.d.ts +1 -1
  144. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  145. package/lib/typescript/src/hooks/use-breakpoint.d.ts +22 -0
  146. package/lib/typescript/src/hooks/use-breakpoint.d.ts.map +1 -1
  147. package/lib/typescript/src/index.d.ts +5 -1
  148. package/lib/typescript/src/index.d.ts.map +1 -1
  149. package/lib/typescript/src/primitives/chart-accessibility.d.ts +33 -0
  150. package/lib/typescript/src/primitives/chart-accessibility.d.ts.map +1 -0
  151. package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
  152. package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
  153. package/lib/typescript/src/primitives/portal.d.ts +4 -0
  154. package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
  155. package/lib/typescript/types/form-api.type-test.d.ts +2 -0
  156. package/lib/typescript/types/form-api.type-test.d.ts.map +1 -0
  157. package/package.json +63 -4
  158. package/src/components/accordion/index.tsx +31 -8
  159. package/src/components/area-chart/index.tsx +27 -2
  160. package/src/components/bar-chart/index.tsx +27 -2
  161. package/src/components/button/index.tsx +11 -4
  162. package/src/components/candlestick-chart/index.tsx +30 -2
  163. package/src/components/collapsible/index.tsx +278 -0
  164. package/src/components/flow/index.tsx +93 -14
  165. package/src/components/form/index.tsx +32 -5
  166. package/src/components/form/typed-form.ts +13 -0
  167. package/src/components/form/use-form.ts +9 -0
  168. package/src/components/heatmap-chart/index.tsx +49 -3
  169. package/src/components/line-chart/index.tsx +27 -2
  170. package/src/components/live-line-chart/index.tsx +130 -13
  171. package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
  172. package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
  173. package/src/components/marquee/index.tsx +232 -0
  174. package/src/components/message-scroller/index.tsx +234 -6
  175. package/src/components/message-scroller/message-scroller-math.ts +38 -0
  176. package/src/components/meter/index.tsx +341 -0
  177. package/src/components/meter/meter-scale.ts +185 -0
  178. package/src/components/planner/index.tsx +997 -0
  179. package/src/components/planner/planner-announcement.ts +37 -0
  180. package/src/components/planner/planner-entries.ts +155 -0
  181. package/src/components/planner/planner-grid-navigation.ts +45 -0
  182. package/src/components/planner/planner-lifecycle.ts +76 -0
  183. package/src/components/popover/index.tsx +3 -3
  184. package/src/components/radar-chart/index.tsx +24 -0
  185. package/src/components/scatter-chart/index.tsx +27 -2
  186. package/src/components/skeleton/index.tsx +59 -5
  187. package/src/components/spinner/index.tsx +80 -13
  188. package/src/components/time-picker/index.tsx +57 -29
  189. package/src/components/time-picker/ruler-window.ts +24 -0
  190. package/src/hooks/breakpoint-contract.ts +31 -0
  191. package/src/hooks/index.ts +4 -0
  192. package/src/hooks/use-breakpoint.ts +61 -10
  193. package/src/index.ts +43 -0
  194. package/src/primitives/chart-accessibility.ts +102 -0
  195. package/src/primitives/focus-restoration-store.ts +70 -0
  196. package/src/primitives/portal.tsx +34 -2
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Planner — a month of days, each carrying what falls on it.
3
+ *
4
+ * ```tsx
5
+ * const [month, setMonth] = useState(new Date());
6
+ *
7
+ * <Planner
8
+ * month={month}
9
+ * onMonthChange={setMonth}
10
+ * entries={renewals}
11
+ * categories={[
12
+ * { id: 'monthly', label: 'Monthly' },
13
+ * { id: 'yearly', label: 'Yearly', colorIndex: 4 },
14
+ * ]}
15
+ * >
16
+ * <Planner.Header>
17
+ * <Planner.Title />
18
+ * <Planner.Today />
19
+ * <Planner.Nav />
20
+ * </Planner.Header>
21
+ * <Planner.Grid />
22
+ * <Planner.Legend />
23
+ * <Planner.Details>
24
+ * {(date, entries) => <Text>{entries.length} on {date.toDateString()}</Text>}
25
+ * </Planner.Details>
26
+ * </Planner>
27
+ * ```
28
+ *
29
+ * ## How it differs from Calendar
30
+ *
31
+ * `Calendar` picks a date and answers with one. This shows what is already on
32
+ * the days and answers with the day you asked about — the selection exists to
33
+ * open something, not to be submitted.
34
+ *
35
+ * ## Why it draws its own Frame
36
+ *
37
+ * A month at a glance is a widget: a boundary, a strip along the top carrying
38
+ * the month and the way through it, and a footer that holds still while the
39
+ * middle changes. That is `Frame`, so the root renders one instead of leaving
40
+ * every caller to assemble the same shell. Pass `frame={false}` to drop it,
41
+ * for a planner in a sheet or a card that already draws its own edge.
42
+ *
43
+ * ## Why the grid is always six weeks
44
+ *
45
+ * A month can span five weeks or six. Drawn at its natural height the panel
46
+ * jumps as you page through the year and the days appear to move under your
47
+ * thumb, so the grid is always six rows and the last one is sometimes all
48
+ * next month. `Calendar` fixes its height for the same reason.
49
+ *
50
+ * ## Why a day says more than its date
51
+ *
52
+ * The marker on a day is a coloured dot, and colour is a signal that does not
53
+ * reach everyone looking at it. So the legend prints its label beside every
54
+ * swatch, and a day is spoken as its date, how many entries it carries and
55
+ * which categories they belong to. Neither is decoration: between them they
56
+ * are the whole content of the grid for somebody who cannot see it.
57
+ */
58
+ import { type ReactNode } from 'react';
59
+ import { View, type ViewProps } from 'react-native';
60
+ import { type TextProps } from '../../primitives/text.js';
61
+ import { type CalendarSystem, type DateLocale } from '../../utils/date.js';
62
+ import { type PlannerCountedCategory } from './planner-entries.js';
63
+ /** One thing that falls on a day. */
64
+ export interface PlannerEntry {
65
+ /** Stable across renders; it keys the cell's contents. */
66
+ id: string;
67
+ /** When it falls. The time of day is kept but not read by the grid. */
68
+ date: Date;
69
+ /** Named in the dialog and, through its category, in the day's spoken label. */
70
+ label: string;
71
+ /** Matches a `PlannerCategory` id. Without one the entry is still counted. */
72
+ category?: string;
73
+ /** Drawn in the cell — a brand mark, an avatar, a glyph. */
74
+ icon?: ReactNode;
75
+ }
76
+ /** A group of entries: the key to a colour, and a line in the legend. */
77
+ export interface PlannerCategory {
78
+ id: string;
79
+ /** Printed beside the swatch, and spoken as part of a day that carries it. */
80
+ label: string;
81
+ /**
82
+ * Which `--color-chart-*` token the dot takes, 1 to 5. Categories without
83
+ * one are numbered in the order they are declared.
84
+ */
85
+ colorIndex?: number;
86
+ /** An explicit colour, for a brand that is not the theme's to choose. */
87
+ color?: string;
88
+ }
89
+ export interface PlannerProps extends Omit<ViewProps, 'children'> {
90
+ className?: string;
91
+ /** The month on show. Leave it out for an uncontrolled planner. */
92
+ month?: Date;
93
+ defaultMonth?: Date;
94
+ onMonthChange?: (month: Date) => void;
95
+ /** Everything the planner knows about, in any order and any month. */
96
+ entries?: PlannerEntry[];
97
+ /** The colour key. Declaration order is legend order and palette order. */
98
+ categories?: PlannerCategory[];
99
+ /** The open day. `null` is none. Leave it out for an uncontrolled planner. */
100
+ selected?: Date | null;
101
+ defaultSelected?: Date | null;
102
+ onSelectedChange?: (date: Date | null) => void;
103
+ /** Runs before the selection moves, whether or not `Details` is present. */
104
+ onDayPress?: (date: Date, entries: PlannerEntry[]) => void;
105
+ /** How many entries a cell draws before it counts the rest. Default `2`. */
106
+ entryLimit?: number;
107
+ /** First day of the week, 0 is Sunday. Defaults to the locale's. */
108
+ weekStartsOn?: number | 'auto';
109
+ locale?: DateLocale;
110
+ calendar?: CalendarSystem;
111
+ /** Draw the surrounding `Frame`. Off for a planner in a sheet or a card. */
112
+ frame?: boolean;
113
+ children?: ReactNode;
114
+ }
115
+ export interface PlannerHeaderProps {
116
+ children?: ReactNode;
117
+ }
118
+ /**
119
+ * The strip along the top of the frame. Put `Title`, `Today` and `Nav` in it.
120
+ *
121
+ * The strip has two ends rather than an even spread. What the month *is* —
122
+ * its name, and the way back to today — reads from the leading edge; what
123
+ * *moves* it sits at the trailing edge, under the thumb that reaches for it.
124
+ * Spaced evenly across a full-width strip they read as three unrelated
125
+ * controls instead of a label and a pair of buttons.
126
+ */
127
+ declare function PlannerHeader({ children }: PlannerHeaderProps): import("react").JSX.Element;
128
+ declare namespace PlannerHeader {
129
+ var displayName: string;
130
+ }
131
+ export interface PlannerTitleProps extends Omit<TextProps, 'children'> {
132
+ /** Replaces the month name, for a title that says something else. */
133
+ children?: ReactNode;
134
+ }
135
+ /** The month on show, in the calendar system and locale the grid uses. */
136
+ declare function PlannerTitle({ children, className, ...props }: PlannerTitleProps): import("react").JSX.Element;
137
+ declare namespace PlannerTitle {
138
+ var displayName: string;
139
+ }
140
+ export interface PlannerTodayProps {
141
+ /** Replaces the word on the pill. */
142
+ children?: ReactNode;
143
+ }
144
+ /** Jumps back to the month today is in, and selects nothing. */
145
+ declare function PlannerToday({ children }: PlannerTodayProps): import("react").JSX.Element;
146
+ declare namespace PlannerToday {
147
+ var displayName: string;
148
+ }
149
+ export interface PlannerNavProps {
150
+ className?: string;
151
+ }
152
+ /** Back and forward a month. */
153
+ declare function PlannerNav({ className }: PlannerNavProps): import("react").JSX.Element;
154
+ declare namespace PlannerNav {
155
+ var displayName: string;
156
+ }
157
+ export interface PlannerActionProps {
158
+ children?: ReactNode;
159
+ }
160
+ /** The trailing end of the header strip, for a button of the caller's. */
161
+ declare function PlannerAction({ children }: PlannerActionProps): import("react").JSX.Element;
162
+ declare namespace PlannerAction {
163
+ var displayName: string;
164
+ }
165
+ /** What a custom cell is handed. Everything the default cell draws from. */
166
+ export interface PlannerDayState {
167
+ date: Date;
168
+ entries: PlannerEntry[];
169
+ isToday: boolean;
170
+ isSelected: boolean;
171
+ isInMonth: boolean;
172
+ }
173
+ export type PlannerDayRenderer = (state: PlannerDayState) => ReactNode;
174
+ export interface PlannerGridProps {
175
+ className?: string;
176
+ /** Draws a cell yourself. It is handed the day and what falls on it. */
177
+ renderDay?: PlannerDayRenderer;
178
+ }
179
+ /**
180
+ * The weekday row and the six weeks below it.
181
+ *
182
+ * React Native has no per-cell grid vocabulary — no `gridcell`, no `row` — so
183
+ * a screen reader never hears "row three, column five" and cannot fall back on
184
+ * position for context. Every day therefore carries its own full date, and the
185
+ * weekday headings are hidden rather than read out 42 times over.
186
+ */
187
+ declare function PlannerGrid({ className, renderDay }: PlannerGridProps): import("react").JSX.Element;
188
+ declare namespace PlannerGrid {
189
+ var displayName: string;
190
+ }
191
+ export interface PlannerDayProps {
192
+ date: Date;
193
+ renderDay?: PlannerDayRenderer;
194
+ }
195
+ /** One cell. Pressing it selects the day and opens whatever is bound to it. */
196
+ declare function PlannerDay({ date, renderDay }: PlannerDayProps): import("react").JSX.Element;
197
+ declare namespace PlannerDay {
198
+ var displayName: string;
199
+ }
200
+ export interface PlannerLegendProps {
201
+ className?: string;
202
+ /** Print each category's count for the month beside its label. */
203
+ counts?: boolean;
204
+ /** Sits at the trailing end — a total, a currency, whatever the month adds to. */
205
+ children?: ReactNode;
206
+ }
207
+ /**
208
+ * The key to the dots.
209
+ *
210
+ * It prints the label beside every swatch, because a column of coloured dots
211
+ * with nothing to read them against is a quiz.
212
+ */
213
+ declare function PlannerLegend({ className, counts, children }: PlannerLegendProps): import("react").JSX.Element;
214
+ declare namespace PlannerLegend {
215
+ var displayName: string;
216
+ }
217
+ export interface PlannerSummaryProps extends Omit<TextProps, 'children'> {
218
+ /** Replaces the count, for a total that is money rather than entries. */
219
+ children?: ReactNode;
220
+ }
221
+ /** What the month adds up to. Counts this month only, never the days either side. */
222
+ declare function PlannerSummary({ children, ...props }: PlannerSummaryProps): import("react").JSX.Element;
223
+ declare namespace PlannerSummary {
224
+ var displayName: string;
225
+ }
226
+ export interface PlannerFooterProps {
227
+ className?: string;
228
+ children?: ReactNode;
229
+ }
230
+ /** The strip along the bottom, for tools that act on the month. */
231
+ declare function PlannerFooter({ className, children }: PlannerFooterProps): import("react").JSX.Element;
232
+ declare namespace PlannerFooter {
233
+ var displayName: string;
234
+ }
235
+ export interface PlannerDetailsProps {
236
+ className?: string;
237
+ /** Title above the children. Defaults to the day's full date. */
238
+ title?: ReactNode;
239
+ /**
240
+ * The line under the title. Defaults to how many entries the day carries,
241
+ * so the dialog answers "how much of this is there" before it is read.
242
+ * Pass `null` to drop it.
243
+ */
244
+ description?: ReactNode;
245
+ /** Given the open day and what falls on it. */
246
+ children: (date: Date, entries: PlannerEntry[]) => ReactNode;
247
+ }
248
+ /**
249
+ * A dialog bound to the open day.
250
+ *
251
+ * The planner owns the grid and the binding; what the dialog says is the
252
+ * application's, because the contents of a day are its data and not the
253
+ * component's. Leave it out and `onDayPress` is still called — a planner that
254
+ * pushes a screen instead of opening a dialog wants that and nothing else.
255
+ */
256
+ declare function PlannerDetails({ className, title, description, children }: PlannerDetailsProps): import("react").JSX.Element;
257
+ declare namespace PlannerDetails {
258
+ var displayName: string;
259
+ }
260
+ export declare const Planner: import("react").ForwardRefExoticComponent<PlannerProps & import("react").RefAttributes<View>> & {
261
+ Header: typeof PlannerHeader;
262
+ Title: typeof PlannerTitle;
263
+ Today: typeof PlannerToday;
264
+ Nav: typeof PlannerNav;
265
+ Action: typeof PlannerAction;
266
+ Grid: typeof PlannerGrid;
267
+ Day: typeof PlannerDay;
268
+ Legend: typeof PlannerLegend;
269
+ Summary: typeof PlannerSummary;
270
+ Footer: typeof PlannerFooter;
271
+ Details: typeof PlannerDetails;
272
+ };
273
+ export type { PlannerCountedCategory };
274
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ interface PlannerMonthAnnouncementOptions {
2
+ /** The settled month currently visible in the grid. */
3
+ monthKey: number;
4
+ monthLabel: string;
5
+ announce: (label: string) => void;
6
+ }
7
+ /**
8
+ * Announces a month only when the next committed render accepts a user request.
9
+ *
10
+ * Prop-driven months stay silent. In a controlled planner, a render that keeps
11
+ * the previous month rejects the pending request and clears it without speaking.
12
+ */
13
+ export declare function usePlannerMonthAnnouncement({ monthKey, monthLabel, announce, }: PlannerMonthAnnouncementOptions): (month: Date) => void;
14
+ export {};
15
+ //# sourceMappingURL=planner-announcement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-announcement.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/planner-announcement.ts"],"names":[],"mappings":"AAEA,UAAU,+BAA+B;IACvC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,EAAE,+BAA+B,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAiBzD"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * The parts of a planner that are arithmetic rather than rendering: which
3
+ * entries fall on which day, which category an entry belongs to, what a day
4
+ * says to a screen reader, and what the month adds up to.
5
+ *
6
+ * Kept out of the component so they can be tested without a renderer, and so
7
+ * the day cell stays a function of its inputs rather than of when it ran.
8
+ *
9
+ * Nothing here imports anything. The tests run this file through `node --test`
10
+ * with type stripping rather than a bundler, so an extensionless import of a
11
+ * sibling module — which is how the rest of the library is written — does not
12
+ * resolve. That is why the one line of date arithmetic below is here instead
13
+ * of coming from `utils/date`.
14
+ */
15
+ /** The minimum an entry has to be for the grid to place it. */
16
+ export interface PlannerDatedEntry {
17
+ date: Date;
18
+ /** Matches a `PlannerCategory` id. An entry without one is uncategorised. */
19
+ category?: string;
20
+ }
21
+ export interface PlannerCountedCategory {
22
+ id: string;
23
+ label: string;
24
+ count: number;
25
+ }
26
+ /** A day's key: local midnight, so two times on the same day agree. */
27
+ export declare function dayKey(date: Date): number;
28
+ /**
29
+ * Entries grouped by the day they fall on, each day in the order it was given.
30
+ *
31
+ * A map rather than a lookup per cell: a month draws 42 cells, and asking each
32
+ * of them to filter the whole list is 42 passes over it every render.
33
+ */
34
+ export declare function bucketByDay<T extends PlannerDatedEntry>(entries: readonly T[]): Map<number, T[]>;
35
+ /** What falls on one day. Always an array, so a cell has nothing to guard. */
36
+ export declare function entriesOn<T extends PlannerDatedEntry>(days: Map<number, T[]>, date: Date): T[];
37
+ /**
38
+ * How many entries a cell draws before it stops and says how many are left.
39
+ *
40
+ * `limit` of 0 means draw none of them — the day still carries its marker and
41
+ * its spoken label, which is the whole content of a compact planner.
42
+ */
43
+ export declare function visibleEntries<T>(entries: readonly T[], limit: number): {
44
+ shown: T[];
45
+ overflow: number;
46
+ };
47
+ /**
48
+ * What a day says when it is read out.
49
+ *
50
+ * The date on its own is what a date picker says, and it is not enough here: a
51
+ * day in a planner differs from the one beside it by what is on it, and a
52
+ * marker that carries that difference in colour alone carries it to nobody who
53
+ * cannot see the colour. So the count and the categories are spoken.
54
+ *
55
+ * `dateLabel` is passed in rather than formatted here, so the grid and the
56
+ * label agree about the calendar system and the locale.
57
+ */
58
+ export declare function dayAccessibilityLabel<T extends PlannerDatedEntry>(dateLabel: string, entries: readonly T[], categoryLabels: ReadonlyMap<string, string>): string;
59
+ /**
60
+ * What the month adds up to, per category, in the order the categories were
61
+ * declared — so the legend and the totals beside it never disagree about which
62
+ * one comes first.
63
+ *
64
+ * Entries outside `month` are left out. The grid draws the days either side of
65
+ * the month it is showing, and counting those would make a total that changes
66
+ * with the week the month happens to start on.
67
+ */
68
+ export declare function summariseMonth<T extends PlannerDatedEntry>(days: Map<number, T[]>, grid: readonly (readonly Date[])[], categories: readonly {
69
+ id: string;
70
+ label: string;
71
+ }[], isInMonth: (date: Date) => boolean): {
72
+ total: number;
73
+ categories: PlannerCountedCategory[];
74
+ };
75
+ //# sourceMappingURL=planner-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-entries.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/planner-entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,iBAAiB,EACrD,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CASlB;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,CAAC,SAAS,iBAAiB,EACnD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EACtB,IAAI,EAAE,IAAI,GACT,CAAC,EAAE,CAEL;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IACvE,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAIA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,EAC/D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,iBAAiB,EACxD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EACtB,IAAI,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,EAClC,UAAU,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACpD,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAwBzD"}
@@ -0,0 +1,4 @@
1
+ export type PlannerGridNavigationKey = 'ArrowLeft' | 'ArrowRight' | 'ArrowUp' | 'ArrowDown' | 'Home' | 'End';
2
+ /** Returns the next visible cell for a bounded, row-major month grid. */
3
+ export declare function plannerGridTarget(key: string, index: number, count: number, columns?: number): number | null;
4
+ //# sourceMappingURL=planner-grid-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-grid-navigation.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/planner-grid-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,MAAM,GACN,KAAK,CAAC;AAEV,yEAAyE;AACzE,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,SAAI,GACV,MAAM,GAAG,IAAI,CA8Bf"}
@@ -0,0 +1,20 @@
1
+ interface PlannerMonthLifecycleOptions {
2
+ month: Date | undefined;
3
+ defaultMonth: Date | undefined;
4
+ settleMonth: (month: Date) => Date;
5
+ onMonthChange: ((month: Date) => void) | undefined;
6
+ }
7
+ /** Keeps controlled requests separate from the month a parent has accepted. */
8
+ export declare function usePlannerMonthLifecycle({ month: monthProp, defaultMonth, settleMonth, onMonthChange, }: PlannerMonthLifecycleOptions): readonly [Date, (month: Date) => void];
9
+ interface PlannerSelectionLifecycleOptions {
10
+ selected: Date | null | undefined;
11
+ defaultSelected: Date | null;
12
+ onSelectedChange: ((date: Date | null) => void) | undefined;
13
+ }
14
+ /** Commits locally only when selection is uncontrolled, but always reports a request. */
15
+ export declare function usePlannerSelectionLifecycle({ selected: selectedProp, defaultSelected, onSelectedChange, }: PlannerSelectionLifecycleOptions): readonly [
16
+ Date | null,
17
+ (date: Date | null) => void
18
+ ];
19
+ export {};
20
+ //# sourceMappingURL=planner-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/planner-lifecycle.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IACpC,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,GACd,EAAE,4BAA4B,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CA+BvE;AAED,UAAU,gCAAgC;IACxC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7D;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EAAE,YAAY,EACtB,eAAe,EACf,gBAAgB,GACjB,EAAE,gCAAgC,GAAG,SAAS;IAC7C,IAAI,GAAG,IAAI;IACX,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI;CAC5B,CAaA"}
@@ -28,6 +28,7 @@
28
28
  import { type ReactNode } from 'react';
29
29
  import { type ViewProps } from 'react-native';
30
30
  import { type SharedValue } from 'react-native-reanimated';
31
+ import { type ChartAccessibilityProps } from '../../primitives/chart-accessibility.js';
31
32
  import { type SeriesColorIndex } from '../../utils/chart.js';
32
33
  export type RadarChartStatus = 'loading' | 'ready';
33
34
  /** One row is one axis: its label, and one value per series. */
@@ -95,6 +96,9 @@ export interface RadarChartProps extends Omit<ViewProps, 'children'> {
95
96
  /** Drop the room reserved for axis labels, for a radar with none. */
96
97
  compact?: boolean;
97
98
  children?: ReactNode;
99
+ /** Accessible data labels and optional activation for each axis row. */
100
+ accessibilityLabelForDatum?: ChartAccessibilityProps<RadarChartDatum>['accessibilityLabelForDatum'];
101
+ onAccessibilityDatumPress?: ChartAccessibilityProps<RadarChartDatum>['onAccessibilityDatumPress'];
98
102
  }
99
103
  /** Imperative handle: re-run the reveal on demand, for a "replay" control. */
100
104
  export interface RadarChartHandle {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/radar-chart/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/radar-chart/index.tsx"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@
40
40
  */
41
41
  import { type ReactNode } from 'react';
42
42
  import { type ViewProps } from 'react-native';
43
+ import { type ChartAccessibilityProps } from '../../primitives/chart-accessibility.js';
43
44
  type Layer = 'svg' | 'overlay' | 'header';
44
45
  export type ScatterChartStatus = 'loading' | 'ready';
45
46
  export type ScatterChartDatum = Record<string, string | number | null | undefined>;
@@ -64,7 +65,7 @@ export declare function useScatterChart(): {
64
65
  activePoint: ScatterChartPoint | null;
65
66
  xDataKey: string;
66
67
  };
67
- export interface ScatterChartProps extends ViewProps {
68
+ export interface ScatterChartProps extends ViewProps, ChartAccessibilityProps<ScatterChartDatum> {
68
69
  className?: string;
69
70
  /** The rows. Each one is a point, placed by two of its values. */
70
71
  data: ScatterChartDatum[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/scatter-chart/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/scatter-chart/index.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,29 @@
1
1
  export interface SkeletonProps {
2
2
  className?: string;
3
+ /**
4
+ * What is loading, for a screen reader. Setting it makes this skeleton
5
+ * announce as a busy status; leaving it unset keeps the placeholder out of
6
+ * the accessibility tree entirely.
7
+ *
8
+ * A screen full of placeholders needs **one** of them labelled, not all of
9
+ * them — put it on the skeleton standing for the region and leave the rest
10
+ * silent.
11
+ */
12
+ label?: string;
3
13
  }
4
- /** Pulsing placeholder. Opacity animation runs on the UI thread. */
5
- export declare const Skeleton: import("react").MemoExoticComponent<({ className }: SkeletonProps) => import("react").JSX.Element>;
14
+ /**
15
+ * Pulsing placeholder for content that has not arrived. The opacity animation
16
+ * runs on the UI thread.
17
+ *
18
+ * A placeholder is a picture of absent content, so it is hidden from assistive
19
+ * technology by default — an unlabelled grey box announces nothing worth
20
+ * hearing, and a screen of them announces it many times over. Pass `label` on
21
+ * the one skeleton that stands for the region to have the wait announced once.
22
+ *
23
+ * Under the platform's reduce-motion setting the pulse stops and the
24
+ * placeholder holds at a middle opacity. Unlike a spinner, a skeleton that
25
+ * stops moving does not read as hung: it is a shape where content will be, and
26
+ * the shape says that on its own.
27
+ */
28
+ export declare const Skeleton: import("react").MemoExoticComponent<({ className, label, }: SkeletonProps) => import("react").JSX.Element>;
6
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/skeleton/index.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,eAAO,MAAM,QAAQ,sDAAyC,aAAa,iCAkBzE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/skeleton/index.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,8DAGlB,aAAa,iCAmCd,CAAC"}
@@ -20,8 +20,31 @@ declare const spinnerVariants: import("tailwind-variants").TVReturnType<{
20
20
  }, undefined, "rounded-full border-2 border-muted border-t-primary", unknown, unknown, undefined>>;
21
21
  export interface SpinnerProps extends VariantProps<typeof spinnerVariants> {
22
22
  className?: string;
23
+ /**
24
+ * What is loading, for a screen reader. Setting it makes the spinner
25
+ * announce as a busy status; leaving it unset keeps it out of the
26
+ * accessibility tree.
27
+ *
28
+ * Leave it unset wherever something around the spinner already says the
29
+ * wait is on — a loading button, a row with its own caption. Set it where
30
+ * the spinner is the only sign, or the wait passes in silence.
31
+ */
32
+ label?: string;
23
33
  }
24
- /** Rotating ring spinner. Animation runs entirely on the UI thread. */
25
- export declare const Spinner: import("react").MemoExoticComponent<({ className, size }: SpinnerProps) => import("react").JSX.Element>;
34
+ /**
35
+ * Rotating ring for work of unknown length. The animation runs entirely on the
36
+ * UI thread.
37
+ *
38
+ * A bare ring carries no words, so it is hidden from assistive technology
39
+ * unless `label` is given — an unnamed progress indicator announces its role
40
+ * and nothing else, which is noise standing in for information.
41
+ *
42
+ * Under the platform's reduce-motion setting the ring stops turning and fades
43
+ * in place instead. Stopping it dead is the other option and it is the wrong
44
+ * one: a spinner that holds still reads as one that has hung, which is the
45
+ * single thing a spinner exists to rule out. Reduce motion asks for less
46
+ * travel, not for less news.
47
+ */
48
+ export declare const Spinner: import("react").MemoExoticComponent<({ className, size, label, }: SpinnerProps) => import("react").JSX.Element>;
26
49
  export {};
27
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/spinner/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;kGAYnB,CAAC;AAEH,MAAM,WAAW,YAAa,SAAQ,YAAY,CAAC,OAAO,eAAe,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uEAAuE;AACvE,eAAO,MAAM,OAAO,4DAA8C,YAAY,iCAsB5E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/spinner/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAS1D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;kGAYnB,CAAC;AAEH,MAAM,WAAW,YAAa,SAAQ,YAAY,CAAC,OAAO,eAAe,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,oEAIjB,YAAY,iCAqDb,CAAC"}
@@ -36,12 +36,11 @@
36
36
  *
37
37
  * ## Scroll offset, not gesture maths
38
38
  *
39
- * The wheel, the clock's list and the ruler are all scroll views with
40
- * `snapToOffsets`, and the selection is `Math.round(offset / itemSize)`. That
41
- * buys momentum, deceleration, edge bounce and platform-correct fling physics
42
- * for nothing, and none of it would be worth rebuilding on a pan gesture. The
43
- * per-item fade and the ruler's readout follow the offset on the UI thread, so
44
- * scrolling never round-trips through React — only the settled value does.
39
+ * The wheel, the clock's list and the ruler are snapping scroll views, and the
40
+ * selection is `Math.round(offset / itemSize)`. That buys momentum,
41
+ * deceleration, edge bounce and platform-correct fling physics for nothing,
42
+ * and none of it would be worth rebuilding on a pan gesture. The ruler keeps
43
+ * that full scroll range but mounts only an overscanned window of its ticks.
45
44
  */
46
45
  import { type ReactElement, type ReactNode } from 'react';
47
46
  import { type HourCycle, type TimeValue } from '../../utils/time.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/time-picker/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA4Bf,OAAO,EAYL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,qBAAkB,CAAC;AAK1B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAErC,kCAAkC;AAClC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D,0CAA0C;AAC1C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;AAiBtF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAy7B/D,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,kCAAkC;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;CAC/D;AASD,iBAAS,cAAc,CAAC,EACtB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,aAAa,EACb,MAAgB,EAChB,YAAwB,EACxB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAc,EACd,UAAU,EACV,OAAO,EACP,OAAO,EACP,WAAiC,EACjC,MAAM,EACN,MAAM,EACN,OAAmB,EACnB,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+BAoLjB;kBAvMQ,cAAc;;;AA0MvB,eAAO,MAAM,UAAU;;CAErB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/time-picker/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA6Bf,OAAO,EAYL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,qBAAkB,CAAC;AAK1B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAErC,kCAAkC;AAClC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D,0CAA0C;AAC1C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;AAiBtF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAq9B/D,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,kCAAkC;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;CAC/D;AASD,iBAAS,cAAc,CAAC,EACtB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,aAAa,EACb,MAAgB,EAChB,YAAwB,EACxB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAc,EACd,UAAU,EACV,OAAO,EACP,OAAO,EACP,WAAiC,EACjC,MAAM,EACN,MAAM,EACN,OAAmB,EACnB,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+BAoLjB;kBAvMQ,cAAc;;;AA0MvB,eAAO,MAAM,UAAU;;CAErB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** Maximum tick cells mounted by the ruler, regardless of the minute step. */
2
+ export declare const RULER_WINDOW_SIZE = 121;
3
+ export interface RulerWindow {
4
+ start: number;
5
+ end: number;
6
+ }
7
+ /**
8
+ * A chunked, overscanned slice around the visible tick. It moves only once per
9
+ * WINDOW_SHIFT ticks, leaving at least forty ticks ahead of a normal scroll.
10
+ */
11
+ export declare function rulerWindow(itemCount: number, visibleIndex: number): RulerWindow;
12
+ //# sourceMappingURL=ruler-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruler-window.d.ts","sourceRoot":"","sources":["../../../../../src/components/time-picker/ruler-window.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAIrC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAShF"}
@@ -0,0 +1,6 @@
1
+ export type BreakpointDefinition = Readonly<Record<string, number>>;
2
+ /** Validate declaration order once, when an app creates its responsive contract. */
3
+ export declare function breakpointEntries<const T extends BreakpointDefinition>(definition: T): [keyof T & string, number][];
4
+ /** Largest satisfied name, with `base` as the deterministic below-range fallback. */
5
+ export declare function breakpointAt<Name extends string>(entries: readonly (readonly [Name, number])[], width: number): Name | 'base';
6
+ //# sourceMappingURL=breakpoint-contract.d.ts.map