panelui-native 0.80.0 → 0.82.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.
- package/lib/module/components/bottom-sheet/index.js +90 -17
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/button/index.js +13 -0
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/button-group/index.js +3 -0
- package/lib/module/components/button-group/index.js.map +1 -1
- package/lib/module/components/image-generation/dot-field.js +210 -0
- package/lib/module/components/image-generation/dot-field.js.map +1 -0
- package/lib/module/components/image-generation/index.js +417 -0
- package/lib/module/components/image-generation/index.js.map +1 -0
- package/lib/module/components/kpi/index.js +2 -4
- package/lib/module/components/kpi/index.js.map +1 -1
- package/lib/module/components/menu/index.js +8 -16
- package/lib/module/components/menu/index.js.map +1 -1
- package/lib/module/components/panelside/index.js +340 -33
- package/lib/module/components/panelside/index.js.map +1 -1
- package/lib/module/components/planner/index.js +446 -32
- package/lib/module/components/planner/index.js.map +1 -1
- package/lib/module/components/planner/planner-entries.js +36 -0
- package/lib/module/components/planner/planner-entries.js.map +1 -1
- package/lib/module/components/planner/planner-grid-navigation.js +34 -2
- package/lib/module/components/planner/planner-grid-navigation.js.map +1 -1
- package/lib/module/components/planner/planner-weeks.js +95 -0
- package/lib/module/components/planner/planner-weeks.js.map +1 -0
- package/lib/module/components/select/index.js +127 -23
- package/lib/module/components/select/index.js.map +1 -1
- package/lib/module/components/slide-button/index.js +610 -0
- package/lib/module/components/slide-button/index.js.map +1 -0
- package/lib/module/components/slide-button/slide-button-track.js +98 -0
- package/lib/module/components/slide-button/slide-button-track.js.map +1 -0
- package/lib/module/icons/index.js +553 -1934
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/primitives/portal.js +15 -1
- package/lib/module/primitives/portal.js.map +1 -1
- package/lib/module/utils/date.js +10 -3
- package/lib/module/utils/date.js.map +1 -1
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts +12 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button-group/index.d.ts +9 -0
- package/lib/typescript/src/components/button-group/index.d.ts.map +1 -1
- package/lib/typescript/src/components/image-generation/dot-field.d.ts +61 -0
- package/lib/typescript/src/components/image-generation/dot-field.d.ts.map +1 -0
- package/lib/typescript/src/components/image-generation/index.d.ts +126 -0
- package/lib/typescript/src/components/image-generation/index.d.ts.map +1 -0
- package/lib/typescript/src/components/kpi/index.d.ts.map +1 -1
- package/lib/typescript/src/components/menu/index.d.ts.map +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts +194 -10
- package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/index.d.ts +65 -4
- package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-entries.d.ts +18 -0
- package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +7 -1
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-weeks.d.ts +50 -0
- package/lib/typescript/src/components/planner/planner-weeks.d.ts.map +1 -0
- package/lib/typescript/src/components/select/index.d.ts +75 -2
- package/lib/typescript/src/components/select/index.d.ts.map +1 -1
- package/lib/typescript/src/components/slide-button/index.d.ts +317 -0
- package/lib/typescript/src/components/slide-button/index.d.ts.map +1 -0
- package/lib/typescript/src/components/slide-button/slide-button-track.d.ts +70 -0
- package/lib/typescript/src/components/slide-button/slide-button-track.d.ts.map +1 -0
- package/lib/typescript/src/icons/index.d.ts +136 -189
- package/lib/typescript/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
- package/lib/typescript/src/utils/date.d.ts +1 -1
- package/lib/typescript/src/utils/date.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/components/bottom-sheet/index.tsx +97 -17
- package/src/components/button/index.tsx +10 -2
- package/src/components/button-group/index.tsx +1 -0
- package/src/components/image-generation/dot-field.ts +226 -0
- package/src/components/image-generation/index.tsx +488 -0
- package/src/components/kpi/index.tsx +2 -4
- package/src/components/menu/index.tsx +10 -15
- package/src/components/panelside/index.tsx +498 -33
- package/src/components/planner/index.tsx +516 -38
- package/src/components/planner/planner-entries.ts +33 -0
- package/src/components/planner/planner-grid-navigation.ts +37 -2
- package/src/components/planner/planner-weeks.ts +90 -0
- package/src/components/select/index.tsx +158 -31
- package/src/components/slide-button/index.tsx +681 -0
- package/src/components/slide-button/slide-button-track.ts +100 -0
- package/src/icons/index.tsx +338 -1327
- package/src/index.ts +30 -0
- package/src/primitives/portal.tsx +15 -1
- package/src/utils/date.ts +13 -3
|
@@ -60,6 +60,15 @@ import { View, type ViewProps } from 'react-native';
|
|
|
60
60
|
import { type TextProps } from '../../primitives/text.js';
|
|
61
61
|
import { type CalendarSystem, type DateLocale } from '../../utils/date.js';
|
|
62
62
|
import { type PlannerCountedCategory } from './planner-entries.js';
|
|
63
|
+
/**
|
|
64
|
+
* What a day cell draws.
|
|
65
|
+
*
|
|
66
|
+
* `default` is a number, a marker and small icons. `tiles` gives the day over
|
|
67
|
+
* to one large icon tinted with its category's colour, with the date in the
|
|
68
|
+
* corner. `calendar` names each entry in a block under a centred date, on an
|
|
69
|
+
* open grid ruled off by week.
|
|
70
|
+
*/
|
|
71
|
+
export type PlannerVariant = 'default' | 'tiles' | 'calendar';
|
|
63
72
|
/** One thing that falls on a day. */
|
|
64
73
|
export interface PlannerEntry {
|
|
65
74
|
/** Stable across renders; it keys the cell's contents. */
|
|
@@ -72,6 +81,12 @@ export interface PlannerEntry {
|
|
|
72
81
|
category?: string;
|
|
73
82
|
/** Drawn in the cell — a brand mark, an avatar, a glyph. */
|
|
74
83
|
icon?: ReactNode;
|
|
84
|
+
/**
|
|
85
|
+
* This entry's own colour, for a mark that belongs to the entry rather than
|
|
86
|
+
* to a group of them — a brand. It wins over the category's colour, and
|
|
87
|
+
* under `tiles` it is what tints the day.
|
|
88
|
+
*/
|
|
89
|
+
color?: string;
|
|
75
90
|
}
|
|
76
91
|
/** A group of entries: the key to a colour, and a line in the legend. */
|
|
77
92
|
export interface PlannerCategory {
|
|
@@ -102,7 +117,22 @@ export interface PlannerProps extends Omit<ViewProps, 'children'> {
|
|
|
102
117
|
onSelectedChange?: (date: Date | null) => void;
|
|
103
118
|
/** Runs before the selection moves, whether or not `Details` is present. */
|
|
104
119
|
onDayPress?: (date: Date, entries: PlannerEntry[]) => void;
|
|
105
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* What each day draws. `tiles` is one large icon per day, tinted by its
|
|
122
|
+
* category; `calendar` names every entry and needs the height to do it.
|
|
123
|
+
*/
|
|
124
|
+
variant?: PlannerVariant;
|
|
125
|
+
/**
|
|
126
|
+
* Stretch the grid to its container instead of standing at its own height.
|
|
127
|
+
* For a planner that owns a screen — the six weeks share out whatever is
|
|
128
|
+
* left after the header, the legend and anything below them.
|
|
129
|
+
*/
|
|
130
|
+
fill?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* How many entries a cell draws before it counts the rest. Default `2`, or
|
|
133
|
+
* `3` under `calendar`, which has the room; `tiles` draws one whatever you
|
|
134
|
+
* pass.
|
|
135
|
+
*/
|
|
106
136
|
entryLimit?: number;
|
|
107
137
|
/** First day of the week, 0 is Sunday. Defaults to the locale's. */
|
|
108
138
|
weekStartsOn?: number | 'auto';
|
|
@@ -194,9 +224,6 @@ export interface PlannerDayProps {
|
|
|
194
224
|
}
|
|
195
225
|
/** One cell. Pressing it selects the day and opens whatever is bound to it. */
|
|
196
226
|
declare function PlannerDay({ date, renderDay }: PlannerDayProps): import("react").JSX.Element;
|
|
197
|
-
declare namespace PlannerDay {
|
|
198
|
-
var displayName: string;
|
|
199
|
-
}
|
|
200
227
|
export interface PlannerLegendProps {
|
|
201
228
|
className?: string;
|
|
202
229
|
/** Print each category's count for the month beside its label. */
|
|
@@ -257,6 +284,39 @@ declare function PlannerDetails({ className, title, description, children }: Pla
|
|
|
257
284
|
declare namespace PlannerDetails {
|
|
258
285
|
var displayName: string;
|
|
259
286
|
}
|
|
287
|
+
export interface PlannerScrollerProps {
|
|
288
|
+
className?: string;
|
|
289
|
+
/**
|
|
290
|
+
* How many weeks either side of the opening month can be reached. Default
|
|
291
|
+
* `53`, about a year each way.
|
|
292
|
+
*/
|
|
293
|
+
weeks?: number;
|
|
294
|
+
/** The height of one week row. Default `96`. */
|
|
295
|
+
rowHeight?: number;
|
|
296
|
+
/** Draws a cell yourself. It is handed the day and what falls on it. */
|
|
297
|
+
renderDay?: PlannerDayRenderer;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The weeks of the year, scrolled through rather than paged.
|
|
301
|
+
*
|
|
302
|
+
* A month grid answers "what does this month look like"; a scroller answers
|
|
303
|
+
* "what is coming", which does not stop at the end of a month. The week
|
|
304
|
+
* straddling the boundary is drawn once, in one piece, instead of appearing cut
|
|
305
|
+
* in half at the bottom of one page and again at the top of the next.
|
|
306
|
+
*
|
|
307
|
+
* The range is bounded rather than endless. A scroller has to know its own
|
|
308
|
+
* height to place a scrollbar and to jump to a month without rendering its way
|
|
309
|
+
* there, and neither is possible over a list with no end.
|
|
310
|
+
*
|
|
311
|
+
* The month in the header follows the scroll: whichever month holds most of the
|
|
312
|
+
* first week on screen is the one named, and the days either side of it grey
|
|
313
|
+
* out. `Planner.Nav` and `Planner.Today` still work — they scroll the list
|
|
314
|
+
* rather than replacing what is in it.
|
|
315
|
+
*/
|
|
316
|
+
declare function PlannerScroller({ className, weeks: span, rowHeight, renderDay, }: PlannerScrollerProps): import("react").JSX.Element;
|
|
317
|
+
declare namespace PlannerScroller {
|
|
318
|
+
var displayName: string;
|
|
319
|
+
}
|
|
260
320
|
export declare const Planner: import("react").ForwardRefExoticComponent<PlannerProps & import("react").RefAttributes<View>> & {
|
|
261
321
|
Header: typeof PlannerHeader;
|
|
262
322
|
Title: typeof PlannerTitle;
|
|
@@ -264,6 +324,7 @@ export declare const Planner: import("react").ForwardRefExoticComponent<PlannerP
|
|
|
264
324
|
Nav: typeof PlannerNav;
|
|
265
325
|
Action: typeof PlannerAction;
|
|
266
326
|
Grid: typeof PlannerGrid;
|
|
327
|
+
Scroller: typeof PlannerScroller;
|
|
267
328
|
Day: typeof PlannerDay;
|
|
268
329
|
Legend: typeof PlannerLegend;
|
|
269
330
|
Summary: typeof PlannerSummary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,EAYL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -72,4 +72,22 @@ export declare function summariseMonth<T extends PlannerDatedEntry>(days: Map<nu
|
|
|
72
72
|
total: number;
|
|
73
73
|
categories: PlannerCountedCategory[];
|
|
74
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* Minutes since midnight, or `null` for an entry that lands exactly on it.
|
|
77
|
+
*
|
|
78
|
+
* The grid has only ever read an entry's day, so a date with no time set is
|
|
79
|
+
* midnight — and that is indistinguishable from something genuinely scheduled
|
|
80
|
+
* at 00:00. Reading it as all-day is the right way round: a set of entries
|
|
81
|
+
* built without times renders as a list of things happening that day, which is
|
|
82
|
+
* what it is, rather than as a column of midnights.
|
|
83
|
+
*/
|
|
84
|
+
export declare function entryTimeMinutes(date: Date): number | null;
|
|
85
|
+
/**
|
|
86
|
+
* All-day first, then by time, keeping the caller's order within each.
|
|
87
|
+
*
|
|
88
|
+
* All-day leads because it frames the rest of the day rather than falling at a
|
|
89
|
+
* point in it, and a list that opens with "All day" reads as a heading for
|
|
90
|
+
* what follows.
|
|
91
|
+
*/
|
|
92
|
+
export declare function sortByTime<T extends PlannerDatedEntry>(entries: readonly T[]): T[];
|
|
75
93
|
//# sourceMappingURL=planner-entries.d.ts.map
|
|
@@ -1 +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"}
|
|
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;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,iBAAiB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAUlF"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export type PlannerGridNavigationKey = 'ArrowLeft' | 'ArrowRight' | 'ArrowUp' | 'ArrowDown' | 'Home' | 'End';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a cell can take focus. Some looks leave the days either side of the
|
|
4
|
+
* month blank, and a blank has nothing to focus — so the caller says which
|
|
5
|
+
* indices are real and movement steps over the rest.
|
|
6
|
+
*/
|
|
7
|
+
export type PlannerGridNavigable = (index: number) => boolean;
|
|
2
8
|
/** 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;
|
|
9
|
+
export declare function plannerGridTarget(key: string, index: number, count: number, columns?: number, navigable?: PlannerGridNavigable): number | null;
|
|
4
10
|
//# sourceMappingURL=planner-grid-navigation.d.ts.map
|
|
@@ -1 +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,
|
|
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;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAE9D,yEAAyE;AACzE,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,SAAI,EACX,SAAS,CAAC,EAAE,oBAAoB,GAC/B,MAAM,GAAG,IAAI,CAyDf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arithmetic behind a calendar that scrolls instead of paging: which weeks
|
|
3
|
+
* are reachable, where a week starts, and which month a week belongs to.
|
|
4
|
+
*
|
|
5
|
+
* Nothing here imports anything, for the same reason as `planner-entries`: the
|
|
6
|
+
* tests run this file through `node --test` with type stripping rather than a
|
|
7
|
+
* bundler, so an extensionless import of a sibling does not resolve.
|
|
8
|
+
*
|
|
9
|
+
* A week is seven days whatever calendar is in force, so all of this is plain
|
|
10
|
+
* day arithmetic. Naming the month a week falls in is not, and is left to the
|
|
11
|
+
* caller, which has the calendar system.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Days added by the calendar rather than by milliseconds.
|
|
15
|
+
*
|
|
16
|
+
* A day is not always 24 hours — the ones a daylight-saving change falls on are
|
|
17
|
+
* 23 or 25 — so stepping by `DAY_MS` drifts across a transition and lands a
|
|
18
|
+
* week row an hour before or after midnight, which then reads as the wrong day.
|
|
19
|
+
*/
|
|
20
|
+
export declare function addDaysLocal(date: Date, days: number): Date;
|
|
21
|
+
/** The first day of the week `date` falls in, for a week starting on `weekStartsOn`. */
|
|
22
|
+
export declare function startOfWeek(date: Date, weekStartsOn: number): Date;
|
|
23
|
+
/**
|
|
24
|
+
* The day a week is named after: its midpoint.
|
|
25
|
+
*
|
|
26
|
+
* A week straddling a month boundary belongs to whichever month holds most of
|
|
27
|
+
* it, and the fourth day is the cheapest way to ask that — it is on the heavier
|
|
28
|
+
* side by definition. Naming the week after its first day would put the last
|
|
29
|
+
* week of January under December for as little as one day's overlap.
|
|
30
|
+
*/
|
|
31
|
+
export declare function weekAnchor(weekStart: Date): Date;
|
|
32
|
+
/** The seven days of a week, in order. */
|
|
33
|
+
export declare function weekDays(weekStart: Date): Date[];
|
|
34
|
+
/**
|
|
35
|
+
* Every week start from `weeksBefore` before the anchor's week to `weeksAfter`
|
|
36
|
+
* after it, in order.
|
|
37
|
+
*
|
|
38
|
+
* A bounded range rather than an endless one: a scroller needs to know how tall
|
|
39
|
+
* it is to place a scrollbar and to jump to a month without rendering its way
|
|
40
|
+
* there, and neither is possible over an infinite list.
|
|
41
|
+
*/
|
|
42
|
+
export declare function weekRange(anchor: Date, weekStartsOn: number, weeksBefore: number, weeksAfter: number): Date[];
|
|
43
|
+
/**
|
|
44
|
+
* Where `date`'s week sits in a range, or `-1`.
|
|
45
|
+
*
|
|
46
|
+
* Computed from the span rather than searched for, so jumping to a month costs
|
|
47
|
+
* the same whether it is one screen away or a year.
|
|
48
|
+
*/
|
|
49
|
+
export declare function weekIndex(weeks: readonly Date[], date: Date, weekStartsOn: number): number;
|
|
50
|
+
//# sourceMappingURL=planner-weeks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner-weeks.d.ts","sourceRoot":"","sources":["../../../../../src/components/planner/planner-weeks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAKlE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAEhD;AAED,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,CAO7G;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAM1F"}
|
|
@@ -35,9 +35,41 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import { type ReactNode } from 'react';
|
|
37
37
|
export type SelectPresentation = 'sheet' | 'inline' | 'overlay';
|
|
38
|
+
/**
|
|
39
|
+
* The filter field's text, from inside an open Select.
|
|
40
|
+
*
|
|
41
|
+
* Select can only filter the options it renders itself. A caller who hands it
|
|
42
|
+
* a virtualized list is rendering their own rows, from their own data, and
|
|
43
|
+
* this is how they get the query to filter that data with — `Select.Item`
|
|
44
|
+
* still works wherever those rows put it, because selection travels by
|
|
45
|
+
* context rather than by position.
|
|
46
|
+
*
|
|
47
|
+
* ```tsx
|
|
48
|
+
* function Options() {
|
|
49
|
+
* const { query } = useSelectSearch();
|
|
50
|
+
* const rows = useMemo(() => filter(timezones, query), [query]);
|
|
51
|
+
* return (
|
|
52
|
+
* <FlashList
|
|
53
|
+
* data={rows}
|
|
54
|
+
* renderItem={({ item }) => <Select.Item value={item.id} label={item.name} />}
|
|
55
|
+
* />
|
|
56
|
+
* );
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* `setQuery` is there for a caller who wants to clear or seed the field.
|
|
61
|
+
*/
|
|
62
|
+
export declare function useSelectSearch(): {
|
|
63
|
+
query: string;
|
|
64
|
+
setQuery: (query: string) => void;
|
|
65
|
+
};
|
|
38
66
|
export interface SelectItemProps {
|
|
39
67
|
value: string;
|
|
40
68
|
label: string;
|
|
69
|
+
/** Extra classes for the option row. */
|
|
70
|
+
className?: string;
|
|
71
|
+
/** Extra classes for the option's label. */
|
|
72
|
+
labelClassName?: string;
|
|
41
73
|
/**
|
|
42
74
|
* Shows the option but refuses it — a plan above the current tier, a region
|
|
43
75
|
* with nothing in stock. Kept in the list rather than dropped from it, because
|
|
@@ -46,7 +78,7 @@ export interface SelectItemProps {
|
|
|
46
78
|
disabled?: boolean;
|
|
47
79
|
}
|
|
48
80
|
/** Declarative option. Rendered inside whichever surface is presenting. */
|
|
49
|
-
declare function SelectItem({ value, label, disabled }: SelectItemProps): import("react").JSX.Element;
|
|
81
|
+
declare function SelectItem({ value, label, disabled, className, labelClassName }: SelectItemProps): import("react").JSX.Element;
|
|
50
82
|
declare namespace SelectItem {
|
|
51
83
|
var displayName: string;
|
|
52
84
|
}
|
|
@@ -73,11 +105,52 @@ declare namespace SelectGroup {
|
|
|
73
105
|
var displayName: string;
|
|
74
106
|
}
|
|
75
107
|
export interface SelectProps {
|
|
108
|
+
/**
|
|
109
|
+
* Extra classes for the wrapper around the trigger — the box the select
|
|
110
|
+
* occupies in your layout, which is where margins and widths belong. To
|
|
111
|
+
* restyle the field itself, use `triggerClassName`.
|
|
112
|
+
*/
|
|
76
113
|
className?: string;
|
|
114
|
+
/** The selected option's `value`. Leave unset for the placeholder. */
|
|
77
115
|
value?: string;
|
|
116
|
+
/**
|
|
117
|
+
* What the trigger shows for the current `value`.
|
|
118
|
+
*
|
|
119
|
+
* Select reads the label off its `Select.Item` children, which it cannot do
|
|
120
|
+
* when a list component renders those rows — the elements do not exist until
|
|
121
|
+
* the list decides to draw them, and the selected one may be scrolled far
|
|
122
|
+
* out of view. Pass the label yourself in that case; otherwise leave it
|
|
123
|
+
* unset and the trigger will find it.
|
|
124
|
+
*/
|
|
125
|
+
valueLabel?: string;
|
|
126
|
+
/** Called with the `value` of the option that was picked. */
|
|
78
127
|
onValueChange: (value: string) => void;
|
|
128
|
+
/** Shown on the trigger while nothing is selected. */
|
|
79
129
|
placeholder?: string;
|
|
130
|
+
/** Refuses the trigger and dims it. The options cannot be opened. */
|
|
80
131
|
disabled?: boolean;
|
|
132
|
+
/** Extra classes for the trigger — the field you press to open the list. */
|
|
133
|
+
triggerClassName?: string;
|
|
134
|
+
/** Extra classes for the selected option's text on the trigger. */
|
|
135
|
+
valueClassName?: string;
|
|
136
|
+
/** Extra classes for the placeholder text on the trigger. */
|
|
137
|
+
placeholderClassName?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Extra classes for the surface the options sit on. In `sheet` the sheet is
|
|
140
|
+
* that surface, so this reaches the block of options inside it instead.
|
|
141
|
+
*/
|
|
142
|
+
listClassName?: string;
|
|
143
|
+
/** Extra classes for the row the filter field sits in. `searchable` only. */
|
|
144
|
+
searchClassName?: string;
|
|
145
|
+
/** Extra classes for the filter field itself. `searchable` only. */
|
|
146
|
+
searchInputClassName?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Extra classes for the box drawn around the filter field — its fill, border
|
|
149
|
+
* and radius. `searchable` only.
|
|
150
|
+
*/
|
|
151
|
+
searchContainerClassName?: string;
|
|
152
|
+
/** Extra classes for the message shown when the filter matches nothing. */
|
|
153
|
+
emptyClassName?: string;
|
|
81
154
|
/**
|
|
82
155
|
* Where the options appear. `sheet` takes the bottom of the screen, `inline`
|
|
83
156
|
* expands the list in layout flow, `overlay` floats it above the page
|
|
@@ -125,7 +198,7 @@ export interface SelectProps {
|
|
|
125
198
|
nativeAppearance?: 'menu' | 'wheel';
|
|
126
199
|
children: ReactNode;
|
|
127
200
|
}
|
|
128
|
-
declare function SelectRoot({ className, value, onValueChange, placeholder, disabled, presentation, title, contentWidth, offset, onOpenChange, searchable, searchPlaceholder, emptyMessage, native, nativeAppearance, children, }: SelectProps): import("react").JSX.Element;
|
|
201
|
+
declare function SelectRoot({ className, value, valueLabel, onValueChange, placeholder, disabled, triggerClassName, valueClassName, placeholderClassName, listClassName, searchClassName, searchInputClassName, searchContainerClassName, emptyClassName, presentation, title, contentWidth, offset, onOpenChange, searchable, searchPlaceholder, emptyMessage, native, nativeAppearance, children, }: SelectProps): import("react").JSX.Element;
|
|
129
202
|
export declare const Select: typeof SelectRoot & {
|
|
130
203
|
Item: typeof SelectItem;
|
|
131
204
|
Group: typeof SelectGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/select/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/select/index.tsx"],"names":[],"mappings":"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"}
|