panelui-native 0.104.0 → 0.105.1
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/README.md +1 -0
- package/lib/module/components/countdown/countdown-time.js +96 -0
- package/lib/module/components/countdown/countdown-time.js.map +1 -0
- package/lib/module/components/countdown/index.js +345 -0
- package/lib/module/components/countdown/index.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/countdown/countdown-time.d.ts +53 -0
- package/lib/typescript/src/components/countdown/countdown-time.d.ts.map +1 -0
- package/lib/typescript/src/components/countdown/index.d.ts +170 -0
- package/lib/typescript/src/components/countdown/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/countdown/countdown-time.ts +105 -0
- package/src/components/countdown/index.tsx +335 -0
- package/src/index.ts +5 -0
package/README.md
CHANGED
|
@@ -228,6 +228,7 @@ memory pressure the OS can end the process with nothing in the terminal to expla
|
|
|
228
228
|
| `ColorPicker` | A colour chosen by dragging — a saturation square, a hue scale, and opacity |
|
|
229
229
|
| `Combobox` | A text field that filters a list of options as you type |
|
|
230
230
|
| `Compare` | Two versions of one picture, with a seam you drag across it |
|
|
231
|
+
| `Countdown` | The time left until a moment, ticking down to it |
|
|
231
232
|
| `ContextMenu` | Actions for a piece of content, opened by holding it |
|
|
232
233
|
| `DatePicker` | A calendar behind a button |
|
|
233
234
|
| `DateTimePicker` | A day and a time of day, picked in one panel |
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Time arithmetic for `Countdown`, kept apart from the views so it can be
|
|
5
|
+
* tested without a clock.
|
|
6
|
+
*
|
|
7
|
+
* Whole seconds are rounded **up**. A countdown that floors shows 0:00 for the
|
|
8
|
+
* last second before it ends, so it reads as finished while it is not — and
|
|
9
|
+
* an "ends at 12:00" sale still taking orders under a zero is the bug people
|
|
10
|
+
* report. Rounding up shows 0:01 until the very end and reaches 0:00 at the
|
|
11
|
+
* moment the target passes.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export const COUNTDOWN_UNITS = ['days', 'hours', 'minutes', 'seconds'];
|
|
15
|
+
const SECONDS = {
|
|
16
|
+
days: 86400,
|
|
17
|
+
hours: 3600,
|
|
18
|
+
minutes: 60,
|
|
19
|
+
seconds: 1
|
|
20
|
+
};
|
|
21
|
+
/** Whole seconds left until `target`, rounded up, never below zero. */
|
|
22
|
+
export function secondsLeft(target, now) {
|
|
23
|
+
if (!Number.isFinite(target) || !Number.isFinite(now)) return 0;
|
|
24
|
+
return Math.max(0, Math.ceil((target - now) / 1000));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Milliseconds until the displayed second next changes.
|
|
29
|
+
*
|
|
30
|
+
* The tick is scheduled for that moment rather than every 1000ms from mount,
|
|
31
|
+
* so the display changes when the second actually turns over instead of
|
|
32
|
+
* drifting by however late the first timer fired.
|
|
33
|
+
*/
|
|
34
|
+
export function msUntilNextTick(target, now) {
|
|
35
|
+
const remaining = target - now;
|
|
36
|
+
if (remaining <= 0) return 0;
|
|
37
|
+
const into = remaining % 1000;
|
|
38
|
+
return into === 0 ? 1000 : into;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Splits a number of seconds across the given units, largest first.
|
|
43
|
+
*
|
|
44
|
+
* The largest unit absorbs everything above it, so with `['hours',
|
|
45
|
+
* 'minutes', 'seconds']` two days reads as 48 hours rather than losing the
|
|
46
|
+
* days. Units are always returned in largest-to-smallest order whatever order
|
|
47
|
+
* they were passed in.
|
|
48
|
+
*/
|
|
49
|
+
export function splitSeconds(total, units = COUNTDOWN_UNITS) {
|
|
50
|
+
const wanted = COUNTDOWN_UNITS.filter(unit => units.includes(unit));
|
|
51
|
+
if (wanted.length === 0) return [];
|
|
52
|
+
let rest = Math.max(0, Math.floor(total));
|
|
53
|
+
return wanted.map(unit => {
|
|
54
|
+
const value = Math.floor(rest / SECONDS[unit]);
|
|
55
|
+
rest -= value * SECONDS[unit];
|
|
56
|
+
return {
|
|
57
|
+
unit,
|
|
58
|
+
value
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Drops leading units that are zero, keeping at least `keep` of them.
|
|
65
|
+
*
|
|
66
|
+
* A launch three hours away has no use for a "00 days" box, but a countdown
|
|
67
|
+
* should not shrink to a lone seconds field in its last minute either, so the
|
|
68
|
+
* smallest `keep` units always stay.
|
|
69
|
+
*/
|
|
70
|
+
export function trimLeading(parts, keep = 2) {
|
|
71
|
+
let start = 0;
|
|
72
|
+
while (start < parts.length - keep && parts[start].value === 0) start += 1;
|
|
73
|
+
return parts.slice(start);
|
|
74
|
+
}
|
|
75
|
+
const NAMES = {
|
|
76
|
+
days: ['day', 'days'],
|
|
77
|
+
hours: ['hour', 'hours'],
|
|
78
|
+
minutes: ['minute', 'minutes'],
|
|
79
|
+
seconds: ['second', 'seconds']
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* What a screen reader hears. Coarser than what is on screen.
|
|
84
|
+
*
|
|
85
|
+
* The label changes only when the minute does, until the last minute, when it
|
|
86
|
+
* counts seconds. A label that changed every second would be re-read every
|
|
87
|
+
* second by anything polling it, and a reader does not need the seconds of a
|
|
88
|
+
* launch two days away.
|
|
89
|
+
*/
|
|
90
|
+
export function describeSeconds(total) {
|
|
91
|
+
if (total <= 0) return 'Time is up';
|
|
92
|
+
if (total < 60) return `${total} ${NAMES.seconds[total === 1 ? 0 : 1]} left`;
|
|
93
|
+
const parts = splitSeconds(total, ['days', 'hours', 'minutes']).filter(part => part.value > 0).map(part => `${part.value} ${NAMES[part.unit][part.value === 1 ? 0 : 1]}`);
|
|
94
|
+
return `${parts.join(', ')} left`;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=countdown-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["COUNTDOWN_UNITS","SECONDS","days","hours","minutes","seconds","secondsLeft","target","now","Number","isFinite","Math","max","ceil","msUntilNextTick","remaining","into","splitSeconds","total","units","wanted","filter","unit","includes","length","rest","floor","map","value","trimLeading","parts","keep","start","slice","NAMES","describeSeconds","part","join"],"sourceRoot":"../../../../src","sources":["components/countdown/countdown-time.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Countdown — the time left until a moment, ticking.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <Countdown to={launch} />
|
|
8
|
+
* <Countdown to={saleEnds} variant="inline" urgentBelow={300} />
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* The clock is read, not counted. Every tick works out what is left from
|
|
12
|
+
* `Date.now()` and the target, and the next tick is scheduled for the moment
|
|
13
|
+
* the displayed second turns over. A countdown that subtracted one per
|
|
14
|
+
* interval would drift by however late each timer fired, and would be wrong
|
|
15
|
+
* by the whole time the app spent in the background.
|
|
16
|
+
*
|
|
17
|
+
* Each digit is its own keyed view: when it changes, the old one slides out
|
|
18
|
+
* downward and the new one drops in from above, on the UI thread. Only the
|
|
19
|
+
* digits that changed move, so a ticking clock is one column moving, not the
|
|
20
|
+
* whole number re-rendering. Nothing moves on the first render, and nothing
|
|
21
|
+
* moves at all under reduce motion.
|
|
22
|
+
*
|
|
23
|
+
* The screen-reader label is coarser than the display — minutes until the
|
|
24
|
+
* last minute, then seconds — because a label that changed every second
|
|
25
|
+
* would be re-read every second. See `countdown-time.ts`.
|
|
26
|
+
*/
|
|
27
|
+
import { forwardRef, useEffect, useRef, useState } from 'react';
|
|
28
|
+
import { View } from 'react-native';
|
|
29
|
+
import Animated, { Easing, useReducedMotion, withTiming } from 'react-native-reanimated';
|
|
30
|
+
import { tv } from 'tailwind-variants';
|
|
31
|
+
import { Text } from "../../primitives/text.js";
|
|
32
|
+
import { cn } from "../../utils/cn.js";
|
|
33
|
+
import { describeSeconds, msUntilNextTick, secondsLeft, splitSeconds, trimLeading } from "./countdown-time.js";
|
|
34
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
35
|
+
/** How long a digit takes to change. Well inside the second it is shown for. */
|
|
36
|
+
const DIGIT_MS = 260;
|
|
37
|
+
const EASE = Easing.out(Easing.cubic);
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* The new digit drops into its slot from one digit-height above while the old
|
|
41
|
+
* one drops out by one digit-height below, so the two travel together like an
|
|
42
|
+
* odometer wheel and are never on top of each other. A fixed distance would
|
|
43
|
+
* overlap them at large sizes and overshoot the window at small ones, so the
|
|
44
|
+
* distance is the measured height of the digit itself.
|
|
45
|
+
*/
|
|
46
|
+
function enter(values) {
|
|
47
|
+
'worklet';
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
initialValues: {
|
|
51
|
+
originY: values.targetOriginY - values.targetHeight,
|
|
52
|
+
opacity: 0
|
|
53
|
+
},
|
|
54
|
+
animations: {
|
|
55
|
+
originY: withTiming(values.targetOriginY, {
|
|
56
|
+
duration: DIGIT_MS,
|
|
57
|
+
easing: EASE
|
|
58
|
+
}),
|
|
59
|
+
opacity: withTiming(1, {
|
|
60
|
+
duration: DIGIT_MS,
|
|
61
|
+
easing: EASE
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function exit(values) {
|
|
67
|
+
'worklet';
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
initialValues: {
|
|
71
|
+
originY: values.currentOriginY,
|
|
72
|
+
opacity: 1
|
|
73
|
+
},
|
|
74
|
+
animations: {
|
|
75
|
+
originY: withTiming(values.currentOriginY + values.currentHeight, {
|
|
76
|
+
duration: DIGIT_MS,
|
|
77
|
+
easing: EASE
|
|
78
|
+
}),
|
|
79
|
+
opacity: withTiming(0, {
|
|
80
|
+
duration: DIGIT_MS,
|
|
81
|
+
easing: EASE
|
|
82
|
+
})
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const countdownVariants = tv({
|
|
87
|
+
slots: {
|
|
88
|
+
root: 'flex-row items-start',
|
|
89
|
+
segment: 'items-center',
|
|
90
|
+
digits: 'flex-row',
|
|
91
|
+
digit: 'font-semibold tabular-nums text-foreground',
|
|
92
|
+
label: 'font-medium uppercase tracking-wider text-muted-foreground',
|
|
93
|
+
separator: 'font-semibold tabular-nums text-muted-foreground',
|
|
94
|
+
suffix: 'font-semibold text-muted-foreground'
|
|
95
|
+
},
|
|
96
|
+
variants: {
|
|
97
|
+
/**
|
|
98
|
+
* `segmented` puts each unit in its own box with its name under it — a
|
|
99
|
+
* launch page, a hero, anything the countdown is the point of.
|
|
100
|
+
* `inline` is a line of text, `2d 14:03:22`, for a banner, a button
|
|
101
|
+
* caption or a row.
|
|
102
|
+
*/
|
|
103
|
+
variant: {
|
|
104
|
+
segmented: {
|
|
105
|
+
root: 'gap-2',
|
|
106
|
+
segment: 'gap-1.5 rounded-xl border border-border bg-card shadow-sm'
|
|
107
|
+
},
|
|
108
|
+
inline: {
|
|
109
|
+
root: 'items-baseline',
|
|
110
|
+
segment: 'flex-row items-baseline'
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
size: {
|
|
114
|
+
sm: {
|
|
115
|
+
digit: 'text-lg',
|
|
116
|
+
label: 'text-[10px]',
|
|
117
|
+
separator: 'text-lg',
|
|
118
|
+
suffix: 'text-sm'
|
|
119
|
+
},
|
|
120
|
+
md: {
|
|
121
|
+
digit: 'text-3xl',
|
|
122
|
+
label: 'text-[10px]',
|
|
123
|
+
separator: 'text-3xl',
|
|
124
|
+
suffix: 'text-xl'
|
|
125
|
+
},
|
|
126
|
+
lg: {
|
|
127
|
+
digit: 'text-4xl',
|
|
128
|
+
label: 'text-[11px]',
|
|
129
|
+
separator: 'text-4xl',
|
|
130
|
+
suffix: 'text-2xl'
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
compoundVariants: [{
|
|
135
|
+
variant: 'segmented',
|
|
136
|
+
size: 'sm',
|
|
137
|
+
class: {
|
|
138
|
+
segment: 'min-w-12 px-2 py-1.5'
|
|
139
|
+
}
|
|
140
|
+
}, {
|
|
141
|
+
variant: 'segmented',
|
|
142
|
+
size: 'md',
|
|
143
|
+
class: {
|
|
144
|
+
segment: 'min-w-16 px-3 py-2.5'
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
variant: 'segmented',
|
|
148
|
+
size: 'lg',
|
|
149
|
+
class: {
|
|
150
|
+
segment: 'min-w-16 px-3 py-3'
|
|
151
|
+
}
|
|
152
|
+
}],
|
|
153
|
+
defaultVariants: {
|
|
154
|
+
variant: 'segmented',
|
|
155
|
+
size: 'md'
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
/**
|
|
159
|
+
* The urgent colour. A class added on top rather than a `tv()` variant: it is
|
|
160
|
+
* derived from `urgentBelow` and the clock, not passed, and a variant here
|
|
161
|
+
* would be documented as a prop.
|
|
162
|
+
*/
|
|
163
|
+
const URGENT = {
|
|
164
|
+
digit: 'text-destructive',
|
|
165
|
+
separator: 'text-destructive/60'
|
|
166
|
+
};
|
|
167
|
+
const DEFAULT_LABELS = {
|
|
168
|
+
days: 'Days',
|
|
169
|
+
hours: 'Hours',
|
|
170
|
+
minutes: 'Minutes',
|
|
171
|
+
seconds: 'Seconds'
|
|
172
|
+
};
|
|
173
|
+
const SUFFIX = {
|
|
174
|
+
days: 'd',
|
|
175
|
+
hours: 'h',
|
|
176
|
+
minutes: 'm',
|
|
177
|
+
seconds: 's'
|
|
178
|
+
};
|
|
179
|
+
/** One digit in a window its own height, swapped with a slide when it changes. */
|
|
180
|
+
function Digit({
|
|
181
|
+
value,
|
|
182
|
+
animate,
|
|
183
|
+
className
|
|
184
|
+
}) {
|
|
185
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
186
|
+
className: "overflow-hidden",
|
|
187
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
188
|
+
className: cn(className, 'opacity-0'),
|
|
189
|
+
children: "0"
|
|
190
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
191
|
+
entering: animate ? enter : undefined,
|
|
192
|
+
exiting: animate ? exit : undefined,
|
|
193
|
+
style: {
|
|
194
|
+
position: 'absolute',
|
|
195
|
+
top: 0,
|
|
196
|
+
left: 0,
|
|
197
|
+
right: 0
|
|
198
|
+
},
|
|
199
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
200
|
+
className: cn(className, 'text-center'),
|
|
201
|
+
children: value
|
|
202
|
+
})
|
|
203
|
+
}, value)]
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
function Digits({
|
|
207
|
+
part,
|
|
208
|
+
animate,
|
|
209
|
+
className
|
|
210
|
+
}) {
|
|
211
|
+
const slots = countdownVariants();
|
|
212
|
+
const text = String(part.value).padStart(2, '0');
|
|
213
|
+
return /*#__PURE__*/_jsx(View, {
|
|
214
|
+
className: slots.digits(),
|
|
215
|
+
children: text.split('').map((char, index) =>
|
|
216
|
+
/*#__PURE__*/
|
|
217
|
+
// Keyed by place from the right, so a days count going from 10 to 9
|
|
218
|
+
// keeps the ones column it already had.
|
|
219
|
+
_jsx(Digit, {
|
|
220
|
+
value: char,
|
|
221
|
+
animate: animate,
|
|
222
|
+
className: className
|
|
223
|
+
}, text.length - index))
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
const CountdownRoot = /*#__PURE__*/forwardRef(function Countdown({
|
|
227
|
+
className,
|
|
228
|
+
to,
|
|
229
|
+
variant = 'segmented',
|
|
230
|
+
size = 'md',
|
|
231
|
+
units,
|
|
232
|
+
trim = true,
|
|
233
|
+
labels,
|
|
234
|
+
urgentBelow,
|
|
235
|
+
onComplete,
|
|
236
|
+
onTick,
|
|
237
|
+
...props
|
|
238
|
+
}, ref) {
|
|
239
|
+
const target = typeof to === 'number' ? to : to.getTime();
|
|
240
|
+
const [left, setLeft] = useState(() => secondsLeft(target, Date.now()));
|
|
241
|
+
|
|
242
|
+
// Callbacks through refs, so a new arrow function from the parent on every
|
|
243
|
+
// render does not restart the clock.
|
|
244
|
+
const completeRef = useRef(onComplete);
|
|
245
|
+
const tickRef = useRef(onTick);
|
|
246
|
+
completeRef.current = onComplete;
|
|
247
|
+
tickRef.current = onTick;
|
|
248
|
+
|
|
249
|
+
// No animation on the first render: the numbers are arriving, not changing.
|
|
250
|
+
const mounted = useRef(false);
|
|
251
|
+
useEffect(() => {
|
|
252
|
+
mounted.current = true;
|
|
253
|
+
}, []);
|
|
254
|
+
useEffect(() => {
|
|
255
|
+
let timer;
|
|
256
|
+
let done = false;
|
|
257
|
+
const tick = () => {
|
|
258
|
+
const now = Date.now();
|
|
259
|
+
const next = secondsLeft(target, now);
|
|
260
|
+
setLeft(next);
|
|
261
|
+
tickRef.current?.(next);
|
|
262
|
+
if (next === 0) {
|
|
263
|
+
if (!done) {
|
|
264
|
+
done = true;
|
|
265
|
+
completeRef.current?.();
|
|
266
|
+
}
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
// A few milliseconds past the turn, so the read lands in the new second.
|
|
270
|
+
timer = setTimeout(tick, msUntilNextTick(target, now) + 8);
|
|
271
|
+
};
|
|
272
|
+
tick();
|
|
273
|
+
return () => clearTimeout(timer);
|
|
274
|
+
}, [target]);
|
|
275
|
+
const urgent = urgentBelow != null && left > 0 && left <= urgentBelow;
|
|
276
|
+
const variants = countdownVariants({
|
|
277
|
+
variant,
|
|
278
|
+
size
|
|
279
|
+
});
|
|
280
|
+
const slots = {
|
|
281
|
+
...variants,
|
|
282
|
+
digit: () => cn(variants.digit(), urgent && URGENT.digit),
|
|
283
|
+
separator: () => cn(variants.separator(), urgent && URGENT.separator)
|
|
284
|
+
};
|
|
285
|
+
const split = splitSeconds(left, units);
|
|
286
|
+
const parts = trim ? trimLeading(split) : split;
|
|
287
|
+
// Custom layout animations do not read the system setting on their own.
|
|
288
|
+
const reduced = useReducedMotion();
|
|
289
|
+
const animate = mounted.current && !reduced;
|
|
290
|
+
const names = {
|
|
291
|
+
...DEFAULT_LABELS,
|
|
292
|
+
...labels
|
|
293
|
+
};
|
|
294
|
+
return /*#__PURE__*/_jsx(View, {
|
|
295
|
+
ref: ref,
|
|
296
|
+
accessible: true,
|
|
297
|
+
accessibilityRole: "timer",
|
|
298
|
+
accessibilityLabel: describeSeconds(left),
|
|
299
|
+
className: slots.root({
|
|
300
|
+
className
|
|
301
|
+
}),
|
|
302
|
+
...props,
|
|
303
|
+
children: parts.map((part, index) => {
|
|
304
|
+
if (variant === 'inline') {
|
|
305
|
+
// Days read as "2d" ahead of a clock; the rest as hh:mm:ss.
|
|
306
|
+
const isDays = part.unit === 'days';
|
|
307
|
+
const nextIsClock = parts[index + 1] && parts[index + 1].unit !== 'days';
|
|
308
|
+
return /*#__PURE__*/_jsx(View, {
|
|
309
|
+
className: slots.segment(),
|
|
310
|
+
children: isDays ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
311
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
312
|
+
className: slots.digit(),
|
|
313
|
+
children: part.value
|
|
314
|
+
}), /*#__PURE__*/_jsxs(Text, {
|
|
315
|
+
className: slots.suffix(),
|
|
316
|
+
children: [SUFFIX.days, " "]
|
|
317
|
+
})]
|
|
318
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
319
|
+
children: [/*#__PURE__*/_jsx(Digits, {
|
|
320
|
+
part: part,
|
|
321
|
+
animate: animate,
|
|
322
|
+
className: slots.digit()
|
|
323
|
+
}), nextIsClock ? /*#__PURE__*/_jsx(Text, {
|
|
324
|
+
className: slots.separator(),
|
|
325
|
+
children: ":"
|
|
326
|
+
}) : null]
|
|
327
|
+
})
|
|
328
|
+
}, part.unit);
|
|
329
|
+
}
|
|
330
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
331
|
+
className: slots.segment(),
|
|
332
|
+
children: [/*#__PURE__*/_jsx(Digits, {
|
|
333
|
+
part: part,
|
|
334
|
+
animate: animate,
|
|
335
|
+
className: slots.digit()
|
|
336
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
337
|
+
className: slots.label(),
|
|
338
|
+
children: names[part.unit]
|
|
339
|
+
})]
|
|
340
|
+
}, part.unit);
|
|
341
|
+
})
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
export const Countdown = CountdownRoot;
|
|
345
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useRef","useState","View","Animated","Easing","useReducedMotion","withTiming","tv","Text","cn","describeSeconds","msUntilNextTick","secondsLeft","splitSeconds","trimLeading","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DIGIT_MS","EASE","out","cubic","enter","values","initialValues","originY","targetOriginY","targetHeight","opacity","animations","duration","easing","exit","currentOriginY","currentHeight","countdownVariants","slots","root","segment","digits","digit","label","separator","suffix","variants","variant","segmented","inline","size","sm","md","lg","compoundVariants","class","defaultVariants","URGENT","DEFAULT_LABELS","days","hours","minutes","seconds","SUFFIX","Digit","value","animate","className","children","entering","undefined","exiting","style","position","top","left","right","Digits","part","text","String","padStart","split","map","char","index","length","CountdownRoot","Countdown","to","units","trim","labels","urgentBelow","onComplete","onTick","props","ref","target","getTime","setLeft","Date","now","completeRef","tickRef","current","mounted","timer","done","tick","next","setTimeout","clearTimeout","urgent","parts","reduced","names","accessible","accessibilityRole","accessibilityLabel","isDays","unit","nextIsClock"],"sourceRoot":"../../../../src","sources":["components/countdown/index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -105,6 +105,7 @@ export { ThemeSelector, useThemeSelection } from "./components/theme-selector/in
|
|
|
105
105
|
export { TagInput } from "./components/tag-input/index.js";
|
|
106
106
|
export { Item } from "./components/item/index.js";
|
|
107
107
|
export { Kpi } from "./components/kpi/index.js";
|
|
108
|
+
export { Countdown } from "./components/countdown/index.js";
|
|
108
109
|
export { Leaderboard, rankEntries } from "./components/leaderboard/index.js";
|
|
109
110
|
export { Label } from "./components/label/index.js";
|
|
110
111
|
export { LineChart, useLineChart } from "./components/line-chart/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Scrim","hasBlur","Glass","GlassContainer","hasGlass","useGlassMaterial","Text","Collapse","KeyboardAvoider","AnimatedPressable","ScrollProgress","useScrollProgress","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","AreaChart","useAreaChart","AnimatedBadge","Badge","BarChart","useBarChart","CandlestickChart","useCandlestickChart","BottomSheet","Breadcrumb","Button","ButtonGroup","ToggleButton","ToggleButtonGroup","useToggleButton","DatePicker","DateTimePicker","Dialog","Feedback","Soundwave","Direction","useDirection","useDirectionSign","Fab","Flow","FlipCard","useFlipCard","FunnelChart","useFunnelChart","Frame","GridItem","HeatmapChart","useHeatmapChart","buildHeatmapCalendar","HexChart","useHexChart","Map","useMap","hasMapLibre","CARTO_SOURCE","RadarChart","useRadarChart","Select","useSelectSearch","SelectionMode","useSelectionMode","SectionRail","SectionProgress","Tabs","Table","Carousel","useCarouselState","Calendar","Card","Checkbox","Chip","useChip","CircularText","Collapsible","ColorPicker","Combobox","Compare","ContextMenu","Drawer","EmptyState","Field","Form","createForm","useForm","useField","ImageGeneration","ImageViewer","Input","InputGroup","NumberInput","OtpInput","SearchBar","Panelside","usePanelside","Pagination","paginationRange","PageHeader","PieChart","usePieChart","LiveLineChart","useLiveLineChart","BubbleChart","useBubbleChart","BumpChart","useBumpChart","bumpRanks","PyramidChart","usePyramidChart","PolarAreaChart","usePolarAreaChart","Plot","usePlot","usePlotCursor","areaPath","bandOf","barPath","compactNumber","linePath","segment","xAt","xOf","yOf","Textarea","ThemeSelector","useThemeSelection","TagInput","Item","Kpi","Leaderboard","rankEntries","Label","LineChart","useLineChart","Loader","MarkdownEditor","Marker","Marquee","Menu","Meter","MessageScroller","useMessageScroller","useMessageScrollerVisibility","MirrorAreaChart","useMirrorAreaChart","Message","Popover","usePopoverAnchor","Planner","Post","Progress","ProgressButton","useProgressButton","QRCode","Questionnaire","RadioGroup","Rating","RingChart","useRingChart","Support","useSupport","SankeyChart","useSankeyChart","ScatterChart","useScatterChart","ScrollBlur","ScrollFade","ScrollHeader","Separator","Signature","hasSignatureFileSystem","hasSignatureRaster","Sketch","hasSketchRaster","AIInput","Shimmer","Reasoning","Response","Sources","Task","CodeBlock","resolveLanguage","Plan","ScrollText","TextAnimation","ScrollCanvas","ThinkingOrb","Skeleton","SlideButton","useSlideButton","Slider","Sortable","reorderItems","useSortableItem","Spinner","Splitter","SplitView","useSplitView","StackCard","useStackCard","Steps","Surface","Swipe","useSwipeGroup","Switch","TimePicker","Timeline","Toast","ToastViewport","toast","useToast","TreemapChart","useTreemapChart","squarifyLayout","Tree","Tooltip","Tour","Typography","WaterfallChart","useWaterfallChart","waterfallSteps","AlertTriangleIcon","AppleIcon","ArrowDownIcon","ArrowUpIcon","ArrowUpRightIcon","AudioLinesIcon","BadgeCheckIcon","BellIcon","BookmarkIcon","BoldIcon","CalendarIcon","CameraIcon","CardIcon","HeadsetIcon","LifebuoyIcon","HelpCircleIcon","MailIcon","CallIcon","BugIcon","BookIcon","TicketIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronsUpDownIcon","ChevronUpIcon","CircleIcon","CodeIcon","ClockIcon","CompassIcon","CopyIcon","CrosshairIcon","DownloadIcon","EllipsisIcon","EyeIcon","FacebookIcon","FileIcon","FolderIcon","FolderOpenIcon","GlobeIcon","GoogleIcon","HeartIcon","HeadingIcon","IconColorProvider","InfoIcon","ItalicIcon","ImageIcon","KeyboardIcon","LinkIcon","ListIcon","ListChecksIcon","ListOrderedIcon","LockIcon","MaximizeIcon","MenuIcon","MessageCircleIcon","MicIcon","MinusIcon","MoonIcon","PackageIcon","PaperclipIcon","PauseIcon","PencilIcon","PlayIcon","PlusIcon","PlusSquareIcon","QuoteIcon","ReceiptIcon","RepeatIcon","RotateCcwIcon","RotateCwIcon","SearchIcon","SendArrowIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SparklesIcon","StarIcon","SunIcon","TrashIcon","UnlockIcon","XIcon","useIconColor","cn","formatColor","hsvToCss","hsvToHex","hsvToHsl","hsvToRgb","isValidColor","parseColor","rgbToHsv","clampTime","compareTime","displayHour","formatTime","isSameTime","isTimeInRange","meridiemLabels","minutesToTime","roundToStep","timeFromDate","timeToDate","timeToMinutes","timesOfDay"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Scrim","hasBlur","Glass","GlassContainer","hasGlass","useGlassMaterial","Text","Collapse","KeyboardAvoider","AnimatedPressable","ScrollProgress","useScrollProgress","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","AreaChart","useAreaChart","AnimatedBadge","Badge","BarChart","useBarChart","CandlestickChart","useCandlestickChart","BottomSheet","Breadcrumb","Button","ButtonGroup","ToggleButton","ToggleButtonGroup","useToggleButton","DatePicker","DateTimePicker","Dialog","Feedback","Soundwave","Direction","useDirection","useDirectionSign","Fab","Flow","FlipCard","useFlipCard","FunnelChart","useFunnelChart","Frame","GridItem","HeatmapChart","useHeatmapChart","buildHeatmapCalendar","HexChart","useHexChart","Map","useMap","hasMapLibre","CARTO_SOURCE","RadarChart","useRadarChart","Select","useSelectSearch","SelectionMode","useSelectionMode","SectionRail","SectionProgress","Tabs","Table","Carousel","useCarouselState","Calendar","Card","Checkbox","Chip","useChip","CircularText","Collapsible","ColorPicker","Combobox","Compare","ContextMenu","Drawer","EmptyState","Field","Form","createForm","useForm","useField","ImageGeneration","ImageViewer","Input","InputGroup","NumberInput","OtpInput","SearchBar","Panelside","usePanelside","Pagination","paginationRange","PageHeader","PieChart","usePieChart","LiveLineChart","useLiveLineChart","BubbleChart","useBubbleChart","BumpChart","useBumpChart","bumpRanks","PyramidChart","usePyramidChart","PolarAreaChart","usePolarAreaChart","Plot","usePlot","usePlotCursor","areaPath","bandOf","barPath","compactNumber","linePath","segment","xAt","xOf","yOf","Textarea","ThemeSelector","useThemeSelection","TagInput","Item","Kpi","Countdown","Leaderboard","rankEntries","Label","LineChart","useLineChart","Loader","MarkdownEditor","Marker","Marquee","Menu","Meter","MessageScroller","useMessageScroller","useMessageScrollerVisibility","MirrorAreaChart","useMirrorAreaChart","Message","Popover","usePopoverAnchor","Planner","Post","Progress","ProgressButton","useProgressButton","QRCode","Questionnaire","RadioGroup","Rating","RingChart","useRingChart","Support","useSupport","SankeyChart","useSankeyChart","ScatterChart","useScatterChart","ScrollBlur","ScrollFade","ScrollHeader","Separator","Signature","hasSignatureFileSystem","hasSignatureRaster","Sketch","hasSketchRaster","AIInput","Shimmer","Reasoning","Response","Sources","Task","CodeBlock","resolveLanguage","Plan","ScrollText","TextAnimation","ScrollCanvas","ThinkingOrb","Skeleton","SlideButton","useSlideButton","Slider","Sortable","reorderItems","useSortableItem","Spinner","Splitter","SplitView","useSplitView","StackCard","useStackCard","Steps","Surface","Swipe","useSwipeGroup","Switch","TimePicker","Timeline","Toast","ToastViewport","toast","useToast","TreemapChart","useTreemapChart","squarifyLayout","Tree","Tooltip","Tour","Typography","WaterfallChart","useWaterfallChart","waterfallSteps","AlertTriangleIcon","AppleIcon","ArrowDownIcon","ArrowUpIcon","ArrowUpRightIcon","AudioLinesIcon","BadgeCheckIcon","BellIcon","BookmarkIcon","BoldIcon","CalendarIcon","CameraIcon","CardIcon","HeadsetIcon","LifebuoyIcon","HelpCircleIcon","MailIcon","CallIcon","BugIcon","BookIcon","TicketIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronsUpDownIcon","ChevronUpIcon","CircleIcon","CodeIcon","ClockIcon","CompassIcon","CopyIcon","CrosshairIcon","DownloadIcon","EllipsisIcon","EyeIcon","FacebookIcon","FileIcon","FolderIcon","FolderOpenIcon","GlobeIcon","GoogleIcon","HeartIcon","HeadingIcon","IconColorProvider","InfoIcon","ItalicIcon","ImageIcon","KeyboardIcon","LinkIcon","ListIcon","ListChecksIcon","ListOrderedIcon","LockIcon","MaximizeIcon","MenuIcon","MessageCircleIcon","MicIcon","MinusIcon","MoonIcon","PackageIcon","PaperclipIcon","PauseIcon","PencilIcon","PlayIcon","PlusIcon","PlusSquareIcon","QuoteIcon","ReceiptIcon","RepeatIcon","RotateCcwIcon","RotateCwIcon","SearchIcon","SendArrowIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SparklesIcon","StarIcon","SunIcon","TrashIcon","UnlockIcon","XIcon","useIconColor","cn","formatColor","hsvToCss","hsvToHex","hsvToHsl","hsvToRgb","isValidColor","parseColor","rgbToHsv","clampTime","compareTime","displayHour","formatTime","isSameTime","isTimeInRange","meridiemLabels","minutesToTime","roundToStep","timeFromDate","timeToDate","timeToMinutes","timesOfDay"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,SAASA,eAAe,QAAmC,kCAA+B;;AAE1F;AACA,SACEC,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,QAKb,sBAAmB;;AAE1B;AACA,SAASC,MAAM,EAAEC,UAAU,EAAEC,cAAc,QAAQ,wBAAqB;AACxE;AACA;AACA;AACA,SAASC,KAAK,EAAEC,OAAO,QAAyB,uBAAoB;AACpE;AACA;AACA,SACEC,KAAK,EACLC,cAAc,EACdC,QAAQ,EACRC,gBAAgB,QAKX,uBAAoB;AAC3B,SAASC,IAAI,QAAwB,sBAAmB;AACxD,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SACEC,eAAe,QAEV,kCAA+B;AACtC,SACEC,iBAAiB,QAEZ,oCAAiC;AACxC,SACEC,cAAc,EACdC,iBAAiB,QAGZ,iCAA8B;;AAErC;AACA,SAASC,WAAW,QAAQ,mBAAU;AACtC,SAASC,UAAU,EAAEC,aAAa,QAAQ,oBAAiB;;AAE3D;AACA,SACEC,SAAS,QAQJ,iCAAwB;AAC/B,SACEC,KAAK,QAGA,6BAAoB;AAC3B,SACEC,MAAM,QAID,8BAAqB;AAC5B,SACEC,UAAU,QAUL,kCAAyB;AAChC,SACEC,SAAS,EACTC,YAAY,QAYP,kCAAyB;AAChC,SACEC,aAAa,QAIR,sCAA6B;AACpC,SAASC,KAAK,QAAyB,6BAAoB;AAC3D,SACEC,QAAQ,EACRC,WAAW,QAaN,iCAAwB;AAC/B,SACEC,gBAAgB,EAChBC,mBAAmB,QAYd,yCAAgC;AACvC,SACEC,WAAW,QAMN,oCAA2B;AAClC,SACEC,UAAU,QAQL,kCAAyB;AAChC,SACEC,MAAM,QAID,8BAAqB;AAC5B,SACEC,WAAW,QAGN,oCAA2B;AAClC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,eAAe,QAOV,qCAA4B;AACnC,SACEC,UAAU,QAGL,mCAA0B;AACjC,SACEC,cAAc,QAGT,wCAA+B;AACtC,SACEC,MAAM,QAGD,8BAAqB;AAC5B,SACEC,QAAQ,QASH,gCAAuB;AAC9B,SACEC,SAAS,QAIJ,iCAAwB;AAC/B,SACEC,SAAS,EACTC,YAAY,EACZC,gBAAgB,QAGX,iCAAwB;AAC/B,SACEC,GAAG,QAUE,2BAAkB;AACzB,SACEC,IAAI,QAkBC,4BAAmB;AAC1B,SACEC,QAAQ,EACRC,WAAW,QAMN,iCAAwB;AAC/B,SACEC,WAAW,EACXC,cAAc,QAaT,oCAA2B;AAClC,SACEC,KAAK,QAaA,6BAAoB;AAC3B,SACEC,QAAQ,QAUH,iCAAwB;AAC/B,SACEC,YAAY,EACZC,eAAe,EACfC,oBAAoB,QAYf,qCAA4B;AACnC,SACEC,QAAQ,EACRC,WAAW,QAWN,iCAAwB;AAC/B,SACEC,GAAG,EACHC,MAAM,EACNC,WAAW,EACXC,YAAY,QAsBP,2BAAkB;AACzB,SACEC,UAAU,EACVC,aAAa,QAUR,mCAA0B;AACjC,SACEC,MAAM,EACNC,eAAe,QAKV,8BAAqB;AAC5B,SACEC,aAAa,EACbC,gBAAgB,QAOX,sCAA6B;AACpC,SACEC,WAAW,QAQN,oCAA2B;AAClC,SACEC,eAAe,QAMV,wCAA+B;AACtC,SACEC,IAAI,QAQC,4BAAmB;AAC1B,SACEC,KAAK,QAaA,6BAAoB;AAC3B,SACEC,QAAQ,EACRC,gBAAgB,QAYX,gCAAuB;AAC9B,SACEC,QAAQ,QASH,gCAAuB;AAC9B,SAASC,IAAI,QAAwB,4BAAmB;AACxD,SAASC,QAAQ,QAA4B,gCAAuB;AACpE,SACEC,IAAI,EACJC,OAAO,QAKF,4BAAmB;AAC1B,SAASC,YAAY,QAAgC,qCAA4B;AACjF,SACEC,WAAW,QAMN,mCAA0B;AACjC,SACEC,WAAW,QAgBN,oCAA2B;AAClC,SACEC,QAAQ,QAOH,gCAAuB;AAC9B,SACEC,OAAO,QAOF,+BAAsB;AAC7B,SACEC,WAAW,QAON,oCAA2B;AAClC,SACEC,MAAM,QAWD,8BAAqB;AAC5B,SACEC,UAAU,QAGL,mCAA0B;AACjC,SACEC,KAAK,QAWA,6BAAoB;AAC3B,SACEC,IAAI,EACJC,UAAU,EACVC,OAAO,EACPC,QAAQ,QAcH,4BAAmB;AAC1B,SACEC,eAAe,QAIV,wCAA+B;AACtC,SACEC,WAAW,QAGN,oCAA2B;AAClC,SAASC,KAAK,QAAyB,6BAAoB;AAC3D,SACEC,UAAU,QAIL,mCAA0B;AACjC,SACEC,WAAW,QAEN,oCAA2B;AAClC,SAASC,QAAQ,QAA4B,iCAAwB;AACrE,SACEC,SAAS,QASJ,kCAAyB;AAChC,SACEC,SAAS,EACTC,YAAY,QA4BP,iCAAwB;AAC/B,SACEC,UAAU,EACVC,eAAe,QAWV,kCAAyB;AAChC,SACEC,UAAU,QAcL,mCAA0B;AACjC,SACEC,QAAQ,EACRC,WAAW,QAUN,iCAAwB;AAC/B,SACEC,aAAa,EACbC,gBAAgB,QAgBX,uCAA8B;AACrC,SACEC,WAAW,EACXC,cAAc,QAkBT,oCAA2B;AAClC,SACEC,SAAS,EACTC,YAAY,EACZC,SAAS,QAeJ,kCAAyB;AAChC,SACEC,YAAY,EACZC,eAAe,QAeV,qCAA4B;AACnC,SACEC,cAAc,EACdC,iBAAiB,QAaZ,wCAA+B;AACtC,SACEC,IAAI,EACJC,OAAO,EACPC,aAAa,QAyBR,4BAAmB;AAC1B;AACA;AACA;AACA;AACA;AACA,SACEC,QAAQ,EACRC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,QAAQ,EACRC,OAAO,EACPC,GAAG,EACHC,GAAG,EACHC,GAAG,QAEE,4BAAmB;AAC1B,SAASC,QAAQ,QAA4B,gCAAuB;AACpE,SACEC,aAAa,EACbC,iBAAiB,QAMZ,sCAA6B;AACpC,SACEC,QAAQ,QAMH,iCAAwB;AAC/B,SACEC,IAAI,QAWC,4BAAmB;AAC1B,SACEC,GAAG,QAkBE,2BAAkB;AACzB,SACEC,SAAS,QAGJ,iCAAwB;AAC/B,SACEC,WAAW,EACXC,WAAW,QAKN,mCAA0B;AACjC,SAASC,KAAK,QAA8C,6BAAoB;AAChF,SACEC,SAAS,EACTC,YAAY,QAeP,kCAAyB;AAChC,SACEC,MAAM,QAID,8BAAqB;AAC5B,SACEC,cAAc,QAWT,uCAA8B;AACrC,SACEC,MAAM,QAID,8BAAqB;AAC5B,SACEC,OAAO,QAIF,+BAAsB;AAC7B,SACEC,IAAI,QAgBC,4BAAmB;AAC1B,SACEC,KAAK,QAIA,6BAAoB;AAC3B,SACEC,eAAe,EACfC,kBAAkB,EAClBC,4BAA4B,QAOvB,wCAA+B;AACtC,SACEC,eAAe,EACfC,kBAAkB,QAeb,yCAAgC;AACvC,SACEC,OAAO,QAUF,+BAAsB;AAC7B,SACEC,OAAO,EACPC,gBAAgB,QAWX,+BAAsB;AAC7B,SACEC,OAAO,QAoBF,+BAAsB;AAC7B,SACEC,IAAI,QAaC,4BAAmB;AAC1B,SAASC,QAAQ,QAA4B,gCAAuB;AACpE,SACEC,cAAc,EACdC,iBAAiB,QAMZ,uCAA8B;AACrC,SACEC,MAAM,QAoBD,+BAAsB;AAC7B,SACEC,aAAa,QAoBR,qCAA4B;AACnC,SACEC,UAAU,QAGL,mCAA0B;AACjC,SACEC,MAAM,QAID,8BAAqB;AAC5B,SACEC,SAAS,EACTC,YAAY,QAOP,kCAAyB;AAChC,SACEC,OAAO,EACPC,UAAU,QAmBL,+BAAsB;AAC7B,SACEC,WAAW,EACXC,cAAc,QAkBT,oCAA2B;AAClC,SACEC,YAAY,EACZC,eAAe,QAcV,qCAA4B;AACnC,SACEC,UAAU,QAGL,mCAA0B;AACjC,SACEC,UAAU,QAEL,mCAA0B;AACjC,SACEC,YAAY,QAQP,qCAA4B;AACnC,SAASC,SAAS,QAA6B,iCAAwB;AACvE,SACEC,SAAS,EACTC,sBAAsB,EACtBC,kBAAkB,QAOb,iCAAwB;AAC/B,SACEC,MAAM,EACNC,eAAe,QAQV,8BAAqB;AAC5B,SACEC,OAAO,QAiBF,gCAAuB;AAC9B,SAASC,OAAO,QAA2B,+BAAsB;AACjE,SACEC,SAAS,QAIJ,iCAAwB;AAC/B,SACEC,QAAQ,QAKH,gCAAuB;AAC9B,SACEC,OAAO,QAKF,+BAAsB;AAC7B,SACEC,IAAI,QAOC,4BAAmB;AAC1B,SACEC,SAAS,EACTC,eAAe,QAUV,kCAAyB;AAChC,SACEC,IAAI,QAeC,4BAAmB;AAC1B,SACEC,UAAU,QAIL,mCAA0B;AACjC,SACEC,aAAa,QAOR,sCAA6B;AACpC,SACEC,YAAY,QAGP,qCAA4B;AACnC,SACEC,WAAW,QAGN,oCAA2B;AAClC,SAASC,QAAQ,QAA4B,gCAAuB;AACpE,SACEC,WAAW,EACXC,cAAc,QAMT,oCAA2B;AAClC,SAASC,MAAM,QAA0B,8BAAqB;AAC9D,SACEC,QAAQ,EACRC,YAAY,EACZC,eAAe,QAMV,gCAAuB;AAC9B,SAASC,OAAO,QAA2B,+BAAsB;AACjE,SACEC,QAAQ,QAMH,gCAAuB;AAC9B,SACEC,SAAS,EACTC,YAAY,QAMP,kCAAyB;AAChC,SACEC,SAAS,EACTC,YAAY,QAWP,kCAAyB;AAChC,SACEC,KAAK,QAQA,6BAAoB;AAC3B,SAASC,OAAO,QAA2B,+BAAsB;AACjE,SACEC,KAAK,EACLC,aAAa,QAQR,6BAAoB;AAC3B,SAASC,MAAM,QAA0B,8BAAqB;AAC9D,SACEC,UAAU,QAIL,mCAA0B;AACjC,SACEC,QAAQ,QAQH,gCAAuB;AAC9B,SACEC,KAAK,EACLC,aAAa,EACbC,KAAK,EACLC,QAAQ,QASH,6BAAoB;AAC3B,SACEC,YAAY,EACZC,eAAe,EACfC,cAAc,QAaT,qCAA4B;AACnC,SACEC,IAAI,QAUC,4BAAmB;AAC1B,SACEC,OAAO,QAWF,+BAAsB;AAC7B,SACEC,IAAI,QAMC,4BAAmB;AAC1B,SACEC,UAAU,QAML,kCAAyB;AAChC,SACEC,cAAc,EACdC,iBAAiB,EACjBC,cAAc,QAkBT,uCAA8B;;AAErC;AACA,SACEC,iBAAiB,EACjBC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,gBAAgB,EAChBC,cAAc,EACdC,cAAc,EACdC,QAAQ,EACRC,YAAY,EACZC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,YAAY,EACZC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,kBAAkB,EAClBC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACXC,QAAQ,EACRC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,OAAO,EACPC,YAAY,EACZC,QAAQ,EACRC,UAAU,EACVC,cAAc,EACdC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,iBAAiB,EACjBC,QAAQ,EACRC,UAAU,EACVC,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,QAAQ,EACRC,YAAY,EACZC,QAAQ,EACRC,iBAAiB,EACjBC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,eAAe,EACfC,YAAY,EACZC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,YAAY,QAIP,kBAAS;;AAEhB;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASC,EAAE,QAAQ,eAAY;AAC/B,SACEC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,QAAQ,QAGH,kBAAe;AACtB,SACEC,SAAS,EACTC,WAAW,EACXC,WAAW,EACXC,UAAU,EACVC,UAAU,EACVC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbC,UAAU,QAGL,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time arithmetic for `Countdown`, kept apart from the views so it can be
|
|
3
|
+
* tested without a clock.
|
|
4
|
+
*
|
|
5
|
+
* Whole seconds are rounded **up**. A countdown that floors shows 0:00 for the
|
|
6
|
+
* last second before it ends, so it reads as finished while it is not — and
|
|
7
|
+
* an "ends at 12:00" sale still taking orders under a zero is the bug people
|
|
8
|
+
* report. Rounding up shows 0:01 until the very end and reaches 0:00 at the
|
|
9
|
+
* moment the target passes.
|
|
10
|
+
*/
|
|
11
|
+
export type CountdownUnit = 'days' | 'hours' | 'minutes' | 'seconds';
|
|
12
|
+
export declare const COUNTDOWN_UNITS: readonly CountdownUnit[];
|
|
13
|
+
export interface CountdownPart {
|
|
14
|
+
unit: CountdownUnit;
|
|
15
|
+
value: number;
|
|
16
|
+
}
|
|
17
|
+
/** Whole seconds left until `target`, rounded up, never below zero. */
|
|
18
|
+
export declare function secondsLeft(target: number, now: number): number;
|
|
19
|
+
/**
|
|
20
|
+
* Milliseconds until the displayed second next changes.
|
|
21
|
+
*
|
|
22
|
+
* The tick is scheduled for that moment rather than every 1000ms from mount,
|
|
23
|
+
* so the display changes when the second actually turns over instead of
|
|
24
|
+
* drifting by however late the first timer fired.
|
|
25
|
+
*/
|
|
26
|
+
export declare function msUntilNextTick(target: number, now: number): number;
|
|
27
|
+
/**
|
|
28
|
+
* Splits a number of seconds across the given units, largest first.
|
|
29
|
+
*
|
|
30
|
+
* The largest unit absorbs everything above it, so with `['hours',
|
|
31
|
+
* 'minutes', 'seconds']` two days reads as 48 hours rather than losing the
|
|
32
|
+
* days. Units are always returned in largest-to-smallest order whatever order
|
|
33
|
+
* they were passed in.
|
|
34
|
+
*/
|
|
35
|
+
export declare function splitSeconds(total: number, units?: readonly CountdownUnit[]): CountdownPart[];
|
|
36
|
+
/**
|
|
37
|
+
* Drops leading units that are zero, keeping at least `keep` of them.
|
|
38
|
+
*
|
|
39
|
+
* A launch three hours away has no use for a "00 days" box, but a countdown
|
|
40
|
+
* should not shrink to a lone seconds field in its last minute either, so the
|
|
41
|
+
* smallest `keep` units always stay.
|
|
42
|
+
*/
|
|
43
|
+
export declare function trimLeading(parts: CountdownPart[], keep?: number): CountdownPart[];
|
|
44
|
+
/**
|
|
45
|
+
* What a screen reader hears. Coarser than what is on screen.
|
|
46
|
+
*
|
|
47
|
+
* The label changes only when the minute does, until the last minute, when it
|
|
48
|
+
* counts seconds. A label that changed every second would be re-read every
|
|
49
|
+
* second by anything polling it, and a reader does not need the seconds of a
|
|
50
|
+
* launch two days away.
|
|
51
|
+
*/
|
|
52
|
+
export declare function describeSeconds(total: number): string;
|
|
53
|
+
//# sourceMappingURL=countdown-time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countdown-time.d.ts","sourceRoot":"","sources":["../../../../../src/components/countdown/countdown-time.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAA4C,CAAC;AASjG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,SAAS,aAAa,EAAoB,GAChD,aAAa,EAAE,CASjB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,SAAI,GAAG,aAAa,EAAE,CAI7E;AASD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD"}
|