@hero-design/rn 8.139.3 → 8.141.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/CHANGELOG.md +12 -0
- package/assets/fonts/hero-icons-mobile.ttf +0 -0
- package/es/index.js +397 -125
- package/lib/assets/fonts/hero-icons-mobile.ttf +0 -0
- package/lib/index.js +395 -122
- package/package.json +1 -1
- package/src/components/Confetti/Confetti.tsx +239 -0
- package/src/components/Confetti/ConfettiProvider.tsx +61 -0
- package/src/components/Confetti/computeXKeyframes.ts +38 -0
- package/src/components/Confetti/index.tsx +12 -0
- package/src/components/Confetti/useConfetti.ts +13 -0
- package/src/components/Icon/HeroIcon/glyphMap.json +1 -1
- package/src/components/Icon/IconList.ts +2 -0
- package/src/components/Icon/index.tsx +4 -0
- package/src/components/Illustration/assets/Confetti.tsx +2 -0
- package/src/index.ts +4 -0
- package/types/components/Confetti/Confetti.d.ts +22 -0
- package/types/components/Confetti/ConfettiProvider.d.ts +9 -0
- package/types/components/Confetti/computeXKeyframes.d.ts +9 -0
- package/types/components/Confetti/index.d.ts +8 -0
- package/types/components/Confetti/useConfetti.d.ts +4 -0
- package/types/components/Icon/IconList.d.ts +1 -1
- package/types/components/Icon/index.d.ts +1 -1
- package/types/components/Illustration/assets/Confetti.d.ts +4 -1
- package/types/components/Illustration/illustrations.d.ts +4 -1
- package/types/components/TextInput/index.d.ts +1 -1
- package/types/index.d.ts +3 -1
package/package.json
CHANGED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
useCallback,
|
|
3
|
+
useEffect,
|
|
4
|
+
useMemo,
|
|
5
|
+
useRef,
|
|
6
|
+
useState,
|
|
7
|
+
} from 'react';
|
|
8
|
+
import {
|
|
9
|
+
AccessibilityInfo,
|
|
10
|
+
Animated,
|
|
11
|
+
StyleSheet,
|
|
12
|
+
useWindowDimensions,
|
|
13
|
+
} from 'react-native';
|
|
14
|
+
import type { LayoutChangeEvent } from 'react-native';
|
|
15
|
+
|
|
16
|
+
import { useTheme } from '../../theme';
|
|
17
|
+
import { computeXKeyframes } from './computeXKeyframes';
|
|
18
|
+
|
|
19
|
+
const CONFETTI_MIN_SIZE = 4;
|
|
20
|
+
const CONFETTI_MAX_SIZE = 20;
|
|
21
|
+
const BATCH_SIZE = 10;
|
|
22
|
+
const BATCH_DELAY_MS = 300;
|
|
23
|
+
const FADE_OUT_MS = 500;
|
|
24
|
+
const Y_START_OFFSET = -60;
|
|
25
|
+
|
|
26
|
+
const styles = StyleSheet.create({
|
|
27
|
+
container: {
|
|
28
|
+
...StyleSheet.absoluteFillObject,
|
|
29
|
+
overflow: 'hidden',
|
|
30
|
+
},
|
|
31
|
+
piece: {
|
|
32
|
+
position: 'absolute',
|
|
33
|
+
left: 0,
|
|
34
|
+
top: 0,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
function randomBetween(min: number, max: number): number {
|
|
39
|
+
return Math.random() * (max - min) + min;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type PieceConfig = {
|
|
43
|
+
color: string;
|
|
44
|
+
size: number;
|
|
45
|
+
initialX: number;
|
|
46
|
+
xVel: number;
|
|
47
|
+
yVel: number;
|
|
48
|
+
angleVel: number;
|
|
49
|
+
delay: number;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
type ConfettiPieceProps = PieceConfig & {
|
|
53
|
+
containerWidth: number;
|
|
54
|
+
duration: number;
|
|
55
|
+
onFinish: () => void;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const ConfettiPiece = ({
|
|
59
|
+
angleVel,
|
|
60
|
+
color,
|
|
61
|
+
containerWidth,
|
|
62
|
+
delay,
|
|
63
|
+
duration,
|
|
64
|
+
initialX,
|
|
65
|
+
onFinish,
|
|
66
|
+
size,
|
|
67
|
+
xVel,
|
|
68
|
+
yVel,
|
|
69
|
+
}: ConfettiPieceProps) => {
|
|
70
|
+
const progress = useRef(new Animated.Value(0)).current;
|
|
71
|
+
const durationSeconds = duration / 1000;
|
|
72
|
+
|
|
73
|
+
const xKeyframes = useMemo(
|
|
74
|
+
() => computeXKeyframes(initialX, xVel, durationSeconds, containerWidth),
|
|
75
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
|
+
[]
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
const translateX = progress.interpolate({
|
|
80
|
+
inputRange: xKeyframes.inputRange,
|
|
81
|
+
outputRange: xKeyframes.outputRange,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const translateY = progress.interpolate({
|
|
85
|
+
inputRange: [0, 1],
|
|
86
|
+
outputRange: [Y_START_OFFSET, Y_START_OFFSET + yVel * durationSeconds],
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const rotate = progress.interpolate({
|
|
90
|
+
inputRange: [0, 1],
|
|
91
|
+
outputRange: ['0rad', `${angleVel * durationSeconds}rad`],
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
Animated.sequence([
|
|
96
|
+
Animated.delay(delay),
|
|
97
|
+
Animated.timing(progress, {
|
|
98
|
+
toValue: 1,
|
|
99
|
+
duration,
|
|
100
|
+
useNativeDriver: true,
|
|
101
|
+
}),
|
|
102
|
+
]).start(({ finished }) => {
|
|
103
|
+
if (finished) onFinish();
|
|
104
|
+
});
|
|
105
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
106
|
+
}, []);
|
|
107
|
+
|
|
108
|
+
return (
|
|
109
|
+
<Animated.View
|
|
110
|
+
style={[
|
|
111
|
+
styles.piece,
|
|
112
|
+
{ width: size, height: size / 2, backgroundColor: color },
|
|
113
|
+
{ transform: [{ translateX }, { translateY }, { rotate }] },
|
|
114
|
+
]}
|
|
115
|
+
/>
|
|
116
|
+
);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export type ShowConfettiConfig = {
|
|
120
|
+
/** Animation duration in milliseconds.
|
|
121
|
+
* @default 3000
|
|
122
|
+
*/
|
|
123
|
+
duration?: number;
|
|
124
|
+
/** Number of confetti pieces to render.
|
|
125
|
+
* @default 80
|
|
126
|
+
*/
|
|
127
|
+
numberOfPieces?: number;
|
|
128
|
+
/** Colors for confetti pieces. Defaults to theme primary and secondary colors. */
|
|
129
|
+
colors?: string[];
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export type ConfettiProps = ShowConfettiConfig & {
|
|
133
|
+
/** Triggers the confetti burst animation when set to true */
|
|
134
|
+
run: boolean;
|
|
135
|
+
/** Called after all pieces have finished animating and faded out */
|
|
136
|
+
onFinish?: () => void;
|
|
137
|
+
testID?: string;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
const Confetti = ({
|
|
141
|
+
colors: colorsProp,
|
|
142
|
+
numberOfPieces = 80,
|
|
143
|
+
duration = 3000,
|
|
144
|
+
onFinish,
|
|
145
|
+
run,
|
|
146
|
+
testID,
|
|
147
|
+
}: ConfettiProps) => {
|
|
148
|
+
const theme = useTheme();
|
|
149
|
+
const { height: screenHeight } = useWindowDimensions();
|
|
150
|
+
const [isReducedMotion, setIsReducedMotion] = useState(false);
|
|
151
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
152
|
+
const [containerWidth, setContainerWidth] = useState(0);
|
|
153
|
+
const containerOpacity = useRef(new Animated.Value(0)).current;
|
|
154
|
+
const finishedCount = useRef(0);
|
|
155
|
+
const pieces = useRef<PieceConfig[] | null>(null);
|
|
156
|
+
|
|
157
|
+
useEffect(() => {
|
|
158
|
+
AccessibilityInfo.isReduceMotionEnabled().then(setIsReducedMotion);
|
|
159
|
+
const sub = AccessibilityInfo.addEventListener(
|
|
160
|
+
'reduceMotionChanged',
|
|
161
|
+
setIsReducedMotion
|
|
162
|
+
);
|
|
163
|
+
return () => sub.remove();
|
|
164
|
+
}, []);
|
|
165
|
+
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
if (run && !isReducedMotion && containerWidth > 0) {
|
|
168
|
+
const durationSeconds = duration / 1000;
|
|
169
|
+
const yVelMin = (screenHeight + 80) / durationSeconds;
|
|
170
|
+
const yVelMax = yVelMin * 1.5;
|
|
171
|
+
const colors = colorsProp ?? [
|
|
172
|
+
theme.colors.primary,
|
|
173
|
+
theme.colors.secondary,
|
|
174
|
+
];
|
|
175
|
+
pieces.current = Array.from({ length: numberOfPieces }, (_, i) => ({
|
|
176
|
+
color: colors[i % colors.length],
|
|
177
|
+
size: Math.round(randomBetween(CONFETTI_MIN_SIZE, CONFETTI_MAX_SIZE)),
|
|
178
|
+
initialX: randomBetween(containerWidth * 0.2, containerWidth * 0.8),
|
|
179
|
+
xVel: randomBetween(-200, 200),
|
|
180
|
+
yVel: randomBetween(yVelMin, yVelMax),
|
|
181
|
+
angleVel: randomBetween(-Math.PI * 1.5, Math.PI * 1.5),
|
|
182
|
+
delay: Math.floor(i / BATCH_SIZE) * BATCH_DELAY_MS,
|
|
183
|
+
}));
|
|
184
|
+
finishedCount.current = 0;
|
|
185
|
+
containerOpacity.setValue(1);
|
|
186
|
+
setIsVisible(true);
|
|
187
|
+
}
|
|
188
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
189
|
+
}, [run, containerWidth]);
|
|
190
|
+
|
|
191
|
+
const handlePieceFinish = useCallback(() => {
|
|
192
|
+
finishedCount.current += 1;
|
|
193
|
+
if (finishedCount.current >= numberOfPieces) {
|
|
194
|
+
Animated.timing(containerOpacity, {
|
|
195
|
+
toValue: 0,
|
|
196
|
+
duration: FADE_OUT_MS,
|
|
197
|
+
useNativeDriver: true,
|
|
198
|
+
}).start(({ finished }) => {
|
|
199
|
+
if (finished) {
|
|
200
|
+
setIsVisible(false);
|
|
201
|
+
onFinish?.();
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}, [containerOpacity, numberOfPieces, onFinish]);
|
|
206
|
+
|
|
207
|
+
const handleLayout = useCallback(({ nativeEvent }: LayoutChangeEvent) => {
|
|
208
|
+
const { width } = nativeEvent.layout;
|
|
209
|
+
if (width > 0) setContainerWidth(width);
|
|
210
|
+
}, []);
|
|
211
|
+
|
|
212
|
+
if (isReducedMotion) {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Always render the container (when not in reduced motion) so onLayout fires and we know the real width.
|
|
217
|
+
// Visibility is controlled via opacity to avoid losing the measurement.
|
|
218
|
+
return (
|
|
219
|
+
<Animated.View
|
|
220
|
+
pointerEvents="none"
|
|
221
|
+
onLayout={handleLayout}
|
|
222
|
+
style={[styles.container, { opacity: isVisible ? containerOpacity : 0 }]}
|
|
223
|
+
testID={isVisible ? testID : undefined}
|
|
224
|
+
>
|
|
225
|
+
{isVisible &&
|
|
226
|
+
pieces.current?.map((piece, id) => (
|
|
227
|
+
<ConfettiPiece
|
|
228
|
+
key={id}
|
|
229
|
+
{...piece}
|
|
230
|
+
containerWidth={containerWidth}
|
|
231
|
+
duration={duration}
|
|
232
|
+
onFinish={handlePieceFinish}
|
|
233
|
+
/>
|
|
234
|
+
))}
|
|
235
|
+
</Animated.View>
|
|
236
|
+
);
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
export default Confetti;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
createContext,
|
|
3
|
+
useCallback,
|
|
4
|
+
useMemo,
|
|
5
|
+
useRef,
|
|
6
|
+
useState,
|
|
7
|
+
} from 'react';
|
|
8
|
+
import type { PropsWithChildren } from 'react';
|
|
9
|
+
|
|
10
|
+
import Confetti from './Confetti';
|
|
11
|
+
import type { ShowConfettiConfig } from './Confetti';
|
|
12
|
+
|
|
13
|
+
type ConfettiContextValue = {
|
|
14
|
+
showConfetti: (
|
|
15
|
+
config?: ShowConfettiConfig,
|
|
16
|
+
onFinished?: (isFinished: boolean) => void
|
|
17
|
+
) => void;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const ConfettiContext = createContext<ConfettiContextValue | null>(null);
|
|
21
|
+
|
|
22
|
+
const ConfettiProvider = ({ children }: PropsWithChildren) => {
|
|
23
|
+
const [run, setRun] = useState(false);
|
|
24
|
+
const [callConfig, setCallConfig] = useState<
|
|
25
|
+
ShowConfettiConfig | undefined
|
|
26
|
+
>();
|
|
27
|
+
const onFinishedRef = useRef<((isFinished: boolean) => void) | undefined>(
|
|
28
|
+
undefined
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const showConfetti = useCallback(
|
|
32
|
+
(
|
|
33
|
+
config?: ShowConfettiConfig,
|
|
34
|
+
onFinished?: (isFinished: boolean) => void
|
|
35
|
+
) => {
|
|
36
|
+
setCallConfig(config);
|
|
37
|
+
onFinishedRef.current = onFinished;
|
|
38
|
+
setRun(true);
|
|
39
|
+
},
|
|
40
|
+
[]
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const handleFinish = useCallback(() => {
|
|
44
|
+
setRun(false);
|
|
45
|
+
onFinishedRef.current?.(true);
|
|
46
|
+
}, []);
|
|
47
|
+
|
|
48
|
+
const contextValue = useMemo<ConfettiContextValue>(
|
|
49
|
+
() => ({ showConfetti }),
|
|
50
|
+
[showConfetti]
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<ConfettiContext.Provider value={contextValue}>
|
|
55
|
+
{children}
|
|
56
|
+
<Confetti run={run} onFinish={handleFinish} {...callConfig} />
|
|
57
|
+
</ConfettiContext.Provider>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export default ConfettiProvider;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function reflectX(rawX: number, width: number): number {
|
|
2
|
+
const period = 2 * width;
|
|
3
|
+
const modX = ((rawX % period) + period) % period;
|
|
4
|
+
return modX < width ? modX : period - modX;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Pre-computes the reflectX triangle-wave as interpolation keyframes.
|
|
9
|
+
* Run once in JS before animation starts; native driver handles per-frame lerp.
|
|
10
|
+
*/
|
|
11
|
+
export function computeXKeyframes(
|
|
12
|
+
initialX: number,
|
|
13
|
+
xVel: number,
|
|
14
|
+
durationSeconds: number,
|
|
15
|
+
width: number
|
|
16
|
+
): { inputRange: number[]; outputRange: number[] } {
|
|
17
|
+
if (xVel === 0) {
|
|
18
|
+
return { inputRange: [0, 1], outputRange: [initialX, initialX] };
|
|
19
|
+
}
|
|
20
|
+
const rawEnd = initialX + xVel * durationSeconds;
|
|
21
|
+
const rawMin = Math.min(initialX, rawEnd);
|
|
22
|
+
const rawMax = Math.max(initialX, rawEnd);
|
|
23
|
+
const nMin = Math.ceil(rawMin / width);
|
|
24
|
+
const nMax = Math.floor(rawMax / width);
|
|
25
|
+
|
|
26
|
+
const times: number[] = [0];
|
|
27
|
+
for (let n = nMin; n <= nMax; n += 1) {
|
|
28
|
+
const t = (n * width - initialX) / xVel;
|
|
29
|
+
if (t > 0 && t < durationSeconds) times.push(t);
|
|
30
|
+
}
|
|
31
|
+
times.push(durationSeconds);
|
|
32
|
+
times.sort((a, b) => a - b);
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
inputRange: times.map((t) => t / durationSeconds),
|
|
36
|
+
outputRange: times.map((t) => reflectX(initialX + xVel * t, width)),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import ConfettiComponent from './Confetti';
|
|
2
|
+
import ConfettiProvider from './ConfettiProvider';
|
|
3
|
+
import useConfetti from './useConfetti';
|
|
4
|
+
|
|
5
|
+
export type { ConfettiProps, ShowConfettiConfig } from './Confetti';
|
|
6
|
+
|
|
7
|
+
const Confetti = Object.assign(ConfettiComponent, {
|
|
8
|
+
Provider: ConfettiProvider,
|
|
9
|
+
useConfetti,
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export default Confetti;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
import { ConfettiContext } from './ConfettiProvider';
|
|
4
|
+
|
|
5
|
+
const useConfetti = () => {
|
|
6
|
+
const context = useContext(ConfettiContext);
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error('useConfetti must be used within a Confetti.Provider');
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default useConfetti;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"activate":59000,"add-emoji":59001,"add-person":59002,"adjustment":59003,"alignment":59004,"antenna":59005,"archive":59006,"assignment-warning":59007,"bank":59008,"bell":59009,"billing":59010,"bolt":59011,"bookmark-added":59012,"bookmark-checked":59013,"bookmark":59014,"box-check":59015,"box":59016,"bpay":59017,"buildings":59018,"cake":59019,"calendar-clock":59020,"calendar":59021,"candy-box-menu":59022,"caret-down-small":59023,"caret-down":59024,"caret-left-small":59025,"caret-left":59026,"caret-right-small":59027,"caret-right":59028,"caret-up-small":59029,"caret-up":59030,"check-radio":59031,"circle-add":59032,"circle-cancel":59033,"circle-check":59034,"circle-down":59035,"circle-info":59036,"circle-left":59037,"circle-ok":59038,"circle-pencil":59039,"circle-question":59040,"circle-remove":59041,"circle-right":59042,"circle-up":59043,"circle-warning":59044,"clock-3":59045,"clock":59046,"cloud-download":59047,"cloud-upload":59048,"cog":59049,"coin":59050,"contacts":59051,"credit-card":59052,"diamond":59053,"direction-arrows":59054,"directory":59055,"document":59056,"dollar-coin-shine":59057,"dot":59058,"double-buildings":59059,"edit-template":59060,"envelope":59061,"exclude":59062,"expand-content":59063,"expense":59064,"explore_nearby":59065,"eye-circle":59066,"eye-invisible":59067,"eye":59068,"face-meh":59069,"face-sad":59070,"face-smiley":59071,"feed":59072,"feedbacks":59073,"file-certified":59074,"file-clone":59075,"file-copy":59076,"file-csv":59077,"file-dispose":59078,"file-doc":59079,"file-excel":59080,"file-export":59081,"file-lock":59082,"file-pdf":59083,"file-powerpoint":59084,"file-search":59085,"file-secured":59086,"file-sheets":59087,"file-slide":59088,"file-verified":59089,"file-word":59090,"file":59091,"filter":59092,"folder-user":59093,"folder":59094,"format-bold":59095,"format-heading1":59096,"format-heading2":59097,"format-italic":59098,"format-list-bulleted":59099,"format-list-numbered":59100,"format-underlined":59101,"funnel-filter":59102,"global-dollar":59103,"global-pound":59104,"globe":59105,"graduation-cap":59106,"graph":59107,"happy-sun":59108,"health-bag":59109,"heart":59110,"hero-points":59111,"home":59112,"image":59113,"import":59114,"incident-siren":59115,"instapay-daily":59116,"instapay-now":59117,"instapay":59118,"list":59119,"loading-2":59120,"loading":59121,"location-on":59122,"location":59123,"lock":59124,"looks-one":59125,"looks-two":59126,"media-content":59127,"menu":59128,"money-notes":59129,"moneybag":59130,"moon":59131,"multiple-stars":59132,"multiple-users":59133,"near-me":59134,"node":59135,"open-folder":59136,"paperclip-vertical":59137,"paperclip":59138,"payment-summary":59139,"pencil":59140,"phone":59141,"piggy-bank":59142,"plane-up":59143,"plane":59144,"play-arrow":59145,"play-circle":59146,"pound-coin-shine":59147,"pound-sign":59148,"print":59149,"raising-hands":59150,"reply-arrow":59151,"reply":59152,"reschedule":59153,"rocket-launch":59154,"rostering":59155,"salary-sacrifice":59156,"save":59157,"schedule-send":59158,"schedule":59159,"search-person":59160,"search":59161,"send":59162,"speaker":59163,"star-award":59164,"star-badge":59165,"star-circle":59166,"star-medal":59167,"star":59168,"steps-circle":59169,"stopwatch":59170,"suitcase":59171,"surfing":59172,"survey":59173,"swag-pillar-benefit":59174,"swag-pillar-career":59175,"swag-pillar-money":59176,"swag-pillar-work":59177,"swag":59178,"swipe-right":59179,"switch":59180,"tag":59181,"target":59182,"teams":59183,"thumb-down":59184,"thumb-up":59185,"timesheet":59186,"touch-id":59187,"trash-bin":59188,"unlock":59189,"user":59190,"video-1":59191,"video-2":59192,"wallet":59193,"warning":59194,"academic-hat-outlined":59195,"accommodation-outlined":59196,"activate-outlined":59197,"add-credit-card-outlined":59198,"add-emoji-outlined":59199,"add-person-outlined":59200,"add-section-outlined":59201,"add-time-outlined":59202,"add":59203,"adjustment-outlined":59204,"afternoon-outlined":59205,"ai-outlined":59206,"alignment-2-outlined":59207,"alignment-outlined":59208,"all-caps":59209,"application-outlined":59210,"archive-outlined":59211,"arrow-down":59212,"arrow-downwards":59213,"arrow-left":59214,"arrow-leftwards":59215,"arrow-right":59216,"arrow-rightwards":59217,"arrow-up":59218,"arrow-upwards":59219,"article-outlined":59220,"assignment-warning-outlined":59221,"at-sign":59222,"auto-graph-outlined":59223,"automotive-outlined":59224,"bakery-outlined":59225,"bank-outlined":59226,"bar-outlined":59227,"beauty-outlined":59228,"beer-outlined":59229,"bell-outlined":59230,"bell-slash-outlined":59231,"bill-management-outlined":59232,"billing-outlined":59233,"body-outlined":59234,"bold":59235,"bolt-outlined":59236,"book-outlined":59237,"bookmark-added-outlined":59238,"bookmark-checked-outlined":59239,"bookmark-outlined":59240,"box-1-outlined":59241,"box-check-outlined":59242,"box-outlined":59243,"bullet-points":59244,"cake-outlined":59245,"calculator-outlined":59246,"calendar-clock-outlined":59247,"calendar-dates-outlined":59248,"calendar-edit-outlined":59249,"calendar-outlined":59250,"calendar-star-outlined":59251,"call-outlined":59252,"call-split-outlined":59253,"camera-outlined":59254,"cancel":59255,"car-forward-outlined":59256,"cashback-outlined":59257,"charging-station-outlined":59258,"chat-bubble-outlined":59259,"chat-unread-outlined":59260,"checkmark":59261,"circle-add-outlined":59262,"circle-cancel-outlined":59263,"circle-check-outlined":59264,"circle-down-outlined":59265,"circle-info-outlined":59266,"circle-left-outlined":59267,"circle-ok-outlined":59268,"circle-question-outlined":59269,"circle-remove-outlined":59270,"circle-right-outlined":59271,"circle-up-outlined":59272,"circle-warning-outlined":59273,"clock-2-outlined":59274,"clock-3-outlined":59275,"clock-in-outlined":59276,"clock-out-outlined":59277,"clock-outlined":59278,"cloud-download-outlined":59279,"cog-outlined":59280,"coin-outlined":59281,"coin-super-outlined":59282,"comment-outlined":59283,"contacts-outlined":59284,"contacts-user-outlined":59285,"credit-card-outlined":59286,"cultural-site-outlined":59287,"cup-outlined":59288,"dentistry-outlined":59289,"diamond-outlined":59290,"direction-arrows-outlined":59291,"directory-outlined":59292,"document-outlined":59293,"dollar-box-outlined":59294,"dollar-card-outlined":59295,"dollar-coin-shine-outlined":59296,"dollar-credit-card-outlined":59297,"dollar-sign":59298,"double-buildings-outlined":59299,"double-left-arrows":59300,"double-right-arrows":59301,"download-box-outlined":59302,"download-outlined":59303,"edit-template-outlined":59304,"edit-user-outlined":59305,"electronics-outlined":59306,"email-outlined":59307,"end-break-outlined":59308,"enter-arrow":59309,"entertainment-outlined":59310,"envelope-outlined":59311,"evening-outlined":59312,"expense-approval-outlined":59313,"expense-outlined":59314,"explore-outlined":59315,"extension-outlined":59316,"external-link":59317,"eye-invisible-outlined":59318,"eye-outlined":59319,"face-id":59320,"face-meh-outlined":59321,"face-open-smiley-outlined":59322,"face-sad-outlined":59323,"face-smiley-outlined":59324,"fastfood-outlined":59325,"feed-outlined":59326,"feedbacks-outlined":59327,"file-certified-outlined":59328,"file-clone-outlined":59329,"file-copy-outlined":59330,"file-dispose-outlined":59331,"file-dollar-certified-outlined":59332,"file-dollar-outlined":59333,"file-download-outlined":59334,"file-export-outlined":59335,"file-lock-outlined":59336,"file-outlined":59337,"file-pound-outlined":59338,"file-search-outlined":59339,"file-secured-outlined":59340,"file-statutory-outlined":59341,"file-verified-outlined":59342,"filter-outlined":59343,"fitness-outlined":59344,"folder-outlined":59345,"folder-upload-outlined":59346,"folder-user-outlined":59347,"form-outlined":59348,"funnel-filter-outline":59349,"goal-outlined":59350,"graph-outlined":59351,"grocery-outlined":59352,"hand-holding-user-outlined":59353,"handshake-outlined":59354,"happy-sun-outlined":59355,"health-bag-outlined":59356,"heart-outlined":59357,"history-outlined":59358,"home-outlined":59359,"id-card-outlined":59360,"image-outlined":59361,"import-outlined":59362,"instapay-outlined":59363,"italic":59364,"job-search-outlined":59365,"leave-approval-outlined":59366,"lighting-outlined":59367,"link-1":59368,"link-2":59369,"list-outlined":59370,"live-help-outlined":59371,"local_mall_outlined":59372,"location-on-outlined":59373,"location-outlined":59374,"lock-outlined":59375,"locked-file-outlined":59376,"log-out":59377,"mail-outlined":59378,"map-outlined":59379,"media-content-outlined":59380,"menu-close":59381,"menu-expand":59382,"menu-fold-outlined":59383,"menu-unfold-outlined":59384,"mic-outlined":59385,"mic-slash-outlined":59386,"moneybag-outlined":59387,"moon-outlined":59388,"more-horizontal":59389,"more-vertical":59390,"morning-outlined":59391,"multiple-folders-outlined":59392,"multiple-users-outlined":59393,"near-me-outlined":59394,"node-outlined":59395,"number-points":59396,"number":59397,"overview-outlined":59398,"park-outlined":59399,"payment-summary-outlined":59400,"payslip-outlined":59401,"pencil-outlined":59402,"percentage":59403,"phone-outlined":59404,"piggy-bank-outlined":59405,"plane-outlined":59406,"play-circle-outlined":59407,"pound-box-outlined":59408,"pound-card-outlined":59409,"pound-coin-shine-outlined":59410,"pound-credit-card-outlined":59411,"print-outlined":59412,"profile-2user-outlined":59413,"propane-tank-outlined":59414,"qr-code-outlined":59415,"qualification-outlined":59416,"question-mark":59417,"raising-hands-outlined":59418,"re-assign":59419,"redeem":59420,"refresh":59421,"remove":59422,"reply-outlined":59423,"restart":59424,"restaurant-outlined":59425,"resume-outlined":59426,"return-arrow":59427,"rocket-launch-outlined":59428,"rostering-outlined":59429,"safety-outlined":59430,"save-outlined":59431,"schedule-outlined":59432,"schedule-send-outlined":59433,"search-outlined":59434,"search-secured-outlined":59435,"send-outlined":59436,"share-1":59437,"share-2":59438,"share-outlined-2":59439,"share-outlined":59440,"shield-check-outlined":59441,"shop-outlined":59442,"shopping_basket_outlined":59443,"show-chart-outlined":59444,"single-down-arrow":59445,"single-left-arrow":59446,"single-right-arrow":59447,"single-up-arrow":59448,"smart-match-outlined":59449,"sparkle-2-outlined":59450,"sparkle-outlined":59451,"speaker-outlined":59452,"star-award-outlined":59453,"star-badge-outlined":59454,"star-circle-outlined":59455,"star-medal-outlined":59456,"star-outlined":59457,"start-break-outlined":59458,"stash-outlined":59459,"stop-outlined":59460,"stopwatch-outlined":59461,"strikethrough":59462,"styler-outlined":59463,"suitcase-clock-outlined":59464,"suitcase-outlined":59465,"survey-outlined":59466,"switch-outlined":59467,"sync":59468,"tag-outlined":59469,"target-outlined":59470,"teams-outlined":59471,"tennis-outlined":59472,"thumb-down-outlined":59473,"thumb-up-outlined":59474,"ticket-outlined":59475,"timesheet-outlined":59476,"timesheets-outlined":59477,"today-outlined":59478,"transfer":59479,"transportation-outlined":59480,"trash-bin-outlined":59481,"umbrela-outlined":59482,"unavailability-outlined":59483,"unavailable":59484,"underline":59485,"union-outlined":59486,"unlock-outlined":59487,"upload-outlined":59488,"user-add-outlined":59489,"user-circle-outlined":59490,"user-gear-outlined":59491,"user-out-outlined":59492,"user-outlined":59493,"user-rectangle-outlined":59494,"video-1-outlined":59495,"video-2-outlined":59496,"volunteer-outlined":59497,"wallet-outlined":59498,"warning-outlined":59499,"wellness-outlined":59500}
|
|
1
|
+
{"activate":59000,"add-emoji":59001,"add-person":59002,"adjustment":59003,"alignment":59004,"antenna":59005,"archive":59006,"assignment-warning":59007,"bank":59008,"bell":59009,"billing":59010,"bolt":59011,"bookmark-added":59012,"bookmark-checked":59013,"bookmark":59014,"box-check":59015,"box":59016,"bpay":59017,"buildings":59018,"cake":59019,"calendar-clock":59020,"calendar":59021,"candy-box-menu":59022,"caret-down-small":59023,"caret-down":59024,"caret-left-small":59025,"caret-left":59026,"caret-right-small":59027,"caret-right":59028,"caret-up-small":59029,"caret-up":59030,"check-radio":59031,"circle-add":59032,"circle-cancel":59033,"circle-check":59034,"circle-down":59035,"circle-info":59036,"circle-left":59037,"circle-ok":59038,"circle-pencil":59039,"circle-question":59040,"circle-remove":59041,"circle-right":59042,"circle-up":59043,"circle-warning":59044,"clock-3":59045,"clock":59046,"cloud-download":59047,"cloud-upload":59048,"cog":59049,"coin":59050,"contacts":59051,"credit-card":59052,"diamond":59053,"direction-arrows":59054,"directory":59055,"document":59056,"dollar-coin-shine":59057,"dot":59058,"double-buildings":59059,"edit-template":59060,"envelope":59061,"exclude":59062,"expand-content":59063,"expense":59064,"explore_nearby":59065,"eye-circle":59066,"eye-invisible":59067,"eye":59068,"face-meh":59069,"face-sad":59070,"face-smiley":59071,"feed":59072,"feedbacks":59073,"file-certified":59074,"file-clone":59075,"file-copy":59076,"file-csv":59077,"file-dispose":59078,"file-doc":59079,"file-excel":59080,"file-export":59081,"file-lock":59082,"file-pdf":59083,"file-powerpoint":59084,"file-search":59085,"file-secured":59086,"file-sheets":59087,"file-slide":59088,"file-verified":59089,"file-word":59090,"file":59091,"filter":59092,"folder-user":59093,"folder":59094,"format-bold":59095,"format-heading1":59096,"format-heading2":59097,"format-italic":59098,"format-list-bulleted":59099,"format-list-numbered":59100,"format-underlined":59101,"funnel-filter":59102,"global-dollar":59103,"global-pound":59104,"globe":59105,"graduation-cap":59106,"graph":59107,"happy-sun":59108,"health-bag":59109,"heart":59110,"hero-points":59111,"home":59112,"image":59113,"import":59114,"incident-siren":59115,"instapay-daily":59116,"instapay-now":59117,"instapay":59118,"list":59119,"loading-2":59120,"loading":59121,"location-on":59122,"location":59123,"lock":59124,"looks-one":59125,"looks-two":59126,"media-content":59127,"menu":59128,"money-notes":59129,"moneybag":59130,"moon":59131,"multiple-stars":59132,"multiple-users":59133,"near-me":59134,"node":59135,"open-folder":59136,"paperclip-vertical":59137,"paperclip":59138,"payment-summary":59139,"pencil":59140,"phone":59141,"piggy-bank":59142,"plane-up":59143,"plane":59144,"play-arrow":59145,"play-circle":59146,"pound-coin-shine":59147,"pound-sign":59148,"print":59149,"raising-hands":59150,"reply-arrow":59151,"reply":59152,"reschedule":59153,"rocket-launch":59154,"rostering":59155,"salary-sacrifice":59156,"save":59157,"schedule-send":59158,"schedule":59159,"search-person":59160,"search":59161,"send":59162,"speaker":59163,"star-award":59164,"star-badge":59165,"star-circle":59166,"star-medal":59167,"star":59168,"steps-circle":59169,"stopwatch":59170,"suitcase":59171,"surfing":59172,"survey":59173,"swag-pillar-benefit":59174,"swag-pillar-career":59175,"swag-pillar-money":59176,"swag-pillar-work":59177,"swag":59178,"swipe-right":59179,"switch":59180,"tag":59181,"target":59182,"teams":59183,"thumb-down":59184,"thumb-up":59185,"timesheet":59186,"touch-id":59187,"trash-bin":59188,"unlock":59189,"user":59190,"video-1":59191,"video-2":59192,"wallet":59193,"warning":59194,"academic-hat-outlined":59195,"accommodation-outlined":59196,"activate-outlined":59197,"add-credit-card-outlined":59198,"add-emoji-outlined":59199,"add-person-outlined":59200,"add-section-outlined":59201,"add-time-outlined":59202,"add":59203,"adjustment-outlined":59204,"afternoon-outlined":59205,"ai-outlined":59206,"alignment-2-outlined":59207,"alignment-outlined":59208,"all-caps":59209,"application-outlined":59210,"archive-outlined":59211,"arrow-down":59212,"arrow-downwards":59213,"arrow-left":59214,"arrow-leftwards":59215,"arrow-right":59216,"arrow-rightwards":59217,"arrow-up":59218,"arrow-upwards":59219,"article-outlined":59220,"assignment-warning-outlined":59221,"at-sign":59222,"auto-graph-outlined":59223,"automotive-outlined":59224,"bakery-outlined":59225,"bank-outlined":59226,"bar-outlined":59227,"beauty-outlined":59228,"beer-outlined":59229,"bell-outlined":59230,"bell-slash-outlined":59231,"bill-management-outlined":59232,"billing-outlined":59233,"body-outlined":59234,"bold":59235,"bolt-outlined":59236,"book-outlined":59237,"bookmark-added-outlined":59238,"bookmark-checked-outlined":59239,"bookmark-outlined":59240,"box-1-outlined":59241,"box-check-outlined":59242,"box-outlined":59243,"bullet-points":59244,"cake-outlined":59245,"calculator-outlined":59246,"calendar-clock-outlined":59247,"calendar-dates-outlined":59248,"calendar-edit-outlined":59249,"calendar-outlined":59250,"calendar-star-outlined":59251,"call-outlined":59252,"call-split-outlined":59253,"camera-outlined":59254,"cancel":59255,"car-forward-outlined":59256,"cashback-outlined":59257,"charging-station-outlined":59258,"chat-bubble-outlined":59259,"chat-unread-outlined":59260,"checkmark":59261,"circle-add-outlined":59262,"circle-cancel-outlined":59263,"circle-check-outlined":59264,"circle-down-outlined":59265,"circle-info-outlined":59266,"circle-left-outlined":59267,"circle-ok-outlined":59268,"circle-question-outlined":59269,"circle-remove-outlined":59270,"circle-right-outlined":59271,"circle-up-outlined":59272,"circle-warning-outlined":59273,"clock-2-outlined":59274,"clock-3-outlined":59275,"clock-in-outlined":59276,"clock-out-outlined":59277,"clock-outlined":59278,"cloud-download-outlined":59279,"cog-outlined":59280,"coin-outlined":59281,"coin-super-outlined":59282,"comment-outlined":59283,"contacts-outlined":59284,"contacts-user-outlined":59285,"credit-card-outlined":59286,"cultural-site-outlined":59287,"cup-outlined":59288,"dentistry-outlined":59289,"diamond-outlined":59290,"direction-arrows-outlined":59291,"directory-outlined":59292,"document-outlined":59293,"dollar-box-outlined":59294,"dollar-card-outlined":59295,"dollar-coin-shine-outlined":59296,"dollar-credit-card-outlined":59297,"dollar-sign":59298,"double-buildings-outlined":59299,"double-left-arrows":59300,"double-right-arrows":59301,"download-box-outlined":59302,"download-outlined":59303,"edit-template-outlined":59304,"edit-user-outlined":59305,"electronics-outlined":59306,"email-outlined":59307,"end-break-outlined":59308,"enter-arrow":59309,"entertainment-outlined":59310,"envelope-outlined":59311,"evening-outlined":59312,"expense-approval-outlined":59313,"expense-outlined":59314,"explore-outlined":59315,"extension-outlined":59316,"external-link":59317,"eye-invisible-outlined":59318,"eye-outlined":59319,"face-id":59320,"face-meh-outlined":59321,"face-open-smiley-outlined":59322,"face-sad-outlined":59323,"face-smiley-outlined":59324,"fastfood-outlined":59325,"feed-outlined":59326,"feedbacks-outlined":59327,"file-certified-outlined":59328,"file-clone-outlined":59329,"file-copy-outlined":59330,"file-dispose-outlined":59331,"file-dollar-certified-outlined":59332,"file-dollar-outlined":59333,"file-download-outlined":59334,"file-export-outlined":59335,"file-lock-outlined":59336,"file-outlined":59337,"file-pound-outlined":59338,"file-search-outlined":59339,"file-secured-outlined":59340,"file-statutory-outlined":59341,"file-verified-outlined":59342,"filter-outlined":59343,"fitness-outlined":59344,"folder-outlined":59345,"folder-upload-outlined":59346,"folder-user-outlined":59347,"form-outlined":59348,"funnel-filter-outline":59349,"goal-outlined":59350,"graph-outlined":59351,"grocery-outlined":59352,"hand-holding-user-outlined":59353,"handshake-outlined":59354,"happy-sun-outlined":59355,"health-bag-outlined":59356,"heart-outlined":59357,"history-outlined":59358,"home-outlined":59359,"id-card-outlined":59360,"image-outlined":59361,"import-outlined":59362,"instapay-outlined":59363,"italic":59364,"job-search-outlined":59365,"leave-approval-outlined":59366,"lighting-outlined":59367,"link-1":59368,"link-2":59369,"list-outlined":59370,"live-help-outlined":59371,"local_mall_outlined":59372,"location-on-outlined":59373,"location-outlined":59374,"lock-outlined":59375,"locked-file-outlined":59376,"log-out":59377,"mail-outlined":59378,"map-outlined":59379,"media-content-outlined":59380,"menu-close":59381,"menu-expand":59382,"menu-fold-outlined":59383,"menu-unfold-outlined":59384,"mic-outlined":59385,"mic-slash-outlined":59386,"mobile-outlined":59387,"moneybag-outlined":59388,"moon-outlined":59389,"more-horizontal":59390,"more-vertical":59391,"morning-outlined":59392,"multiple-folders-outlined":59393,"multiple-users-outlined":59394,"near-me-outlined":59395,"node-outlined":59396,"number-points":59397,"number":59398,"overview-outlined":59399,"park-outlined":59400,"payment-summary-outlined":59401,"payslip-outlined":59402,"pencil-outlined":59403,"percentage":59404,"phone-outlined":59405,"piggy-bank-outlined":59406,"plane-outlined":59407,"play-circle-outlined":59408,"pound-box-outlined":59409,"pound-card-outlined":59410,"pound-coin-shine-outlined":59411,"pound-credit-card-outlined":59412,"print-outlined":59413,"profile-2user-outlined":59414,"propane-tank-outlined":59415,"qr-code-outlined":59416,"qualification-outlined":59417,"question-mark":59418,"raising-hands-outlined":59419,"re-assign":59420,"redeem":59421,"refresh":59422,"remove":59423,"reply-outlined":59424,"restart":59425,"restaurant-outlined":59426,"resume-outlined":59427,"return-arrow":59428,"rocket-launch-outlined":59429,"rostering-outlined":59430,"safety-outlined":59431,"save-outlined":59432,"schedule-outlined":59433,"schedule-send-outlined":59434,"search-outlined":59435,"search-secured-outlined":59436,"send-outlined":59437,"share-1":59438,"share-2":59439,"share-outlined-2":59440,"share-outlined":59441,"shield-check-outlined":59442,"shop-outlined":59443,"shopping_basket_outlined":59444,"show-chart-outlined":59445,"single-down-arrow":59446,"single-left-arrow":59447,"single-right-arrow":59448,"single-up-arrow":59449,"smart-match-outlined":59450,"sparkle-2-outlined":59451,"sparkle-outlined":59452,"speaker-outlined":59453,"star-award-outlined":59454,"star-badge-outlined":59455,"star-circle-outlined":59456,"star-medal-outlined":59457,"star-outlined":59458,"start-break-outlined":59459,"stash-outlined":59460,"stop-outlined":59461,"stopwatch-outlined":59462,"strikethrough":59463,"styler-outlined":59464,"suitcase-clock-outlined":59465,"suitcase-outlined":59466,"survey-outlined":59467,"switch-outlined":59468,"sync":59469,"tablet-outlined":59470,"tag-outlined":59471,"target-outlined":59472,"teams-outlined":59473,"tennis-outlined":59474,"thumb-down-outlined":59475,"thumb-up-outlined":59476,"ticket-outlined":59477,"timesheet-outlined":59478,"timesheets-outlined":59479,"today-outlined":59480,"transfer":59481,"transportation-outlined":59482,"trash-bin-outlined":59483,"umbrela-outlined":59484,"unavailability-outlined":59485,"unavailable":59486,"underline":59487,"union-outlined":59488,"unlock-outlined":59489,"upload-outlined":59490,"user-add-outlined":59491,"user-circle-outlined":59492,"user-gear-outlined":59493,"user-out-outlined":59494,"user-outlined":59495,"user-rectangle-outlined":59496,"video-1-outlined":59497,"video-2-outlined":59498,"volunteer-outlined":59499,"wallet-outlined":59500,"warning-outlined":59501,"wellness-outlined":59502}
|
|
@@ -387,6 +387,7 @@ const IconList = [
|
|
|
387
387
|
'menu-unfold-outlined',
|
|
388
388
|
'mic-outlined',
|
|
389
389
|
'mic-slash-outlined',
|
|
390
|
+
'mobile-outlined',
|
|
390
391
|
'moneybag-outlined',
|
|
391
392
|
'moon-outlined',
|
|
392
393
|
'more-horizontal',
|
|
@@ -469,6 +470,7 @@ const IconList = [
|
|
|
469
470
|
'survey-outlined',
|
|
470
471
|
'switch-outlined',
|
|
471
472
|
'sync',
|
|
473
|
+
'tablet-outlined',
|
|
472
474
|
'tag-outlined',
|
|
473
475
|
'target-outlined',
|
|
474
476
|
'teams-outlined',
|
|
@@ -74,6 +74,10 @@ const Icon = ({
|
|
|
74
74
|
)} instead.`,
|
|
75
75
|
icon.startsWith('carat')
|
|
76
76
|
);
|
|
77
|
+
useDeprecation(
|
|
78
|
+
'charging-station-outlined icon is deprecated and will be removed in the next major release, please use mobile-outlined instead.',
|
|
79
|
+
icon === 'charging-station-outlined'
|
|
80
|
+
);
|
|
77
81
|
const accessibilityProps = {
|
|
78
82
|
accessibilityLabel,
|
|
79
83
|
accessibilityHint,
|
package/src/index.ts
CHANGED
|
@@ -24,6 +24,8 @@ import type { ShadowPalette } from './theme';
|
|
|
24
24
|
import { scale } from './utils/scale';
|
|
25
25
|
|
|
26
26
|
import Accordion from './components/Accordion';
|
|
27
|
+
import Confetti from './components/Confetti';
|
|
28
|
+
import type { ConfettiProps } from './components/Confetti';
|
|
27
29
|
import Alert from './components/Alert';
|
|
28
30
|
import AppCue from './components/AppCue';
|
|
29
31
|
import Attachment from './components/Attachment';
|
|
@@ -183,6 +185,8 @@ export {
|
|
|
183
185
|
FilterTrigger,
|
|
184
186
|
InlineLoader,
|
|
185
187
|
type InlineLoaderProps,
|
|
188
|
+
Confetti,
|
|
189
|
+
type ConfettiProps,
|
|
186
190
|
styled,
|
|
187
191
|
};
|
|
188
192
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ShowConfettiConfig = {
|
|
3
|
+
/** Animation duration in milliseconds.
|
|
4
|
+
* @default 3000
|
|
5
|
+
*/
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Number of confetti pieces to render.
|
|
8
|
+
* @default 80
|
|
9
|
+
*/
|
|
10
|
+
numberOfPieces?: number;
|
|
11
|
+
/** Colors for confetti pieces. Defaults to theme primary and secondary colors. */
|
|
12
|
+
colors?: string[];
|
|
13
|
+
};
|
|
14
|
+
export type ConfettiProps = ShowConfettiConfig & {
|
|
15
|
+
/** Triggers the confetti burst animation when set to true */
|
|
16
|
+
run: boolean;
|
|
17
|
+
/** Called after all pieces have finished animating and faded out */
|
|
18
|
+
onFinish?: () => void;
|
|
19
|
+
testID?: string;
|
|
20
|
+
};
|
|
21
|
+
declare const Confetti: ({ colors: colorsProp, numberOfPieces, duration, onFinish, run, testID, }: ConfettiProps) => React.JSX.Element | null;
|
|
22
|
+
export default Confetti;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PropsWithChildren } from 'react';
|
|
3
|
+
import type { ShowConfettiConfig } from './Confetti';
|
|
4
|
+
type ConfettiContextValue = {
|
|
5
|
+
showConfetti: (config?: ShowConfettiConfig, onFinished?: (isFinished: boolean) => void) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const ConfettiContext: React.Context<ConfettiContextValue | null>;
|
|
8
|
+
declare const ConfettiProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
|
|
9
|
+
export default ConfettiProvider;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function reflectX(rawX: number, width: number): number;
|
|
2
|
+
/**
|
|
3
|
+
* Pre-computes the reflectX triangle-wave as interpolation keyframes.
|
|
4
|
+
* Run once in JS before animation starts; native driver handles per-frame lerp.
|
|
5
|
+
*/
|
|
6
|
+
export declare function computeXKeyframes(initialX: number, xVel: number, durationSeconds: number, width: number): {
|
|
7
|
+
inputRange: number[];
|
|
8
|
+
outputRange: number[];
|
|
9
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type { ConfettiProps, ShowConfettiConfig } from './Confetti';
|
|
2
|
+
declare const Confetti: (({ colors: colorsProp, numberOfPieces, duration, onFinish, run, testID, }: import("./Confetti").ConfettiProps) => import("react").JSX.Element | null) & {
|
|
3
|
+
Provider: ({ children }: import("react").PropsWithChildren) => import("react").JSX.Element;
|
|
4
|
+
useConfetti: () => {
|
|
5
|
+
showConfetti: (config?: import("./Confetti").ShowConfettiConfig, onFinished?: (isFinished: boolean) => void) => void;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export default Confetti;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const IconList: readonly ["activate", "add-emoji", "add-person", "adjustment", "alignment", "antenna", "archive", "assignment-warning", "bank", "bell", "billing", "bolt", "bookmark-added", "bookmark-checked", "bookmark", "box-check", "box", "bpay", "buildings", "cake", "calendar-clock", "calendar", "candy-box-menu", "caret-down-small", "caret-down", "caret-left-small", "caret-left", "caret-right-small", "caret-right", "caret-up-small", "caret-up", "check-radio", "circle-add", "circle-cancel", "circle-check", "circle-down", "circle-info", "circle-left", "circle-ok", "circle-pencil", "circle-question", "circle-remove", "circle-right", "circle-up", "circle-warning", "clock-3", "clock", "cloud-download", "cloud-upload", "cog", "coin", "contacts", "credit-card", "diamond", "direction-arrows", "directory", "document", "dollar-coin-shine", "dot", "double-buildings", "edit-template", "envelope", "exclude", "expand-content", "expense", "explore_nearby", "eye-circle", "eye-invisible", "eye", "face-meh", "face-sad", "face-smiley", "feed", "feedbacks", "file-certified", "file-clone", "file-copy", "file-csv", "file-dispose", "file-doc", "file-excel", "file-export", "file-lock", "file-pdf", "file-powerpoint", "file-search", "file-secured", "file-sheets", "file-slide", "file-verified", "file-word", "file", "filter", "folder-user", "folder", "format-bold", "format-heading1", "format-heading2", "format-italic", "format-list-bulleted", "format-list-numbered", "format-underlined", "funnel-filter", "global-dollar", "global-pound", "globe", "graduation-cap", "graph", "happy-sun", "health-bag", "heart", "hero-points", "home", "image", "import", "incident-siren", "instapay-daily", "instapay-now", "instapay", "list", "loading-2", "loading", "location-on", "location", "lock", "looks-one", "looks-two", "media-content", "menu", "money-notes", "moneybag", "moon", "multiple-stars", "multiple-users", "near-me", "node", "open-folder", "paperclip-vertical", "paperclip", "payment-summary", "pencil", "phone", "piggy-bank", "plane-up", "plane", "play-arrow", "play-circle", "pound-coin-shine", "pound-sign", "print", "raising-hands", "reply-arrow", "reply", "reschedule", "rocket-launch", "rostering", "salary-sacrifice", "save", "schedule-send", "schedule", "search-person", "search", "send", "speaker", "star-award", "star-badge", "star-circle", "star-medal", "star", "steps-circle", "stopwatch", "suitcase", "surfing", "survey", "swag-pillar-benefit", "swag-pillar-career", "swag-pillar-money", "swag-pillar-work", "swag", "swipe-right", "switch", "tag", "target", "teams", "thumb-down", "thumb-up", "timesheet", "touch-id", "trash-bin", "unlock", "user", "video-1", "video-2", "wallet", "warning", "academic-hat-outlined", "accommodation-outlined", "activate-outlined", "add-credit-card-outlined", "add-emoji-outlined", "add-person-outlined", "add-section-outlined", "add-time-outlined", "add", "adjustment-outlined", "afternoon-outlined", "ai-outlined", "alignment-2-outlined", "alignment-outlined", "all-caps", "application-outlined", "archive-outlined", "arrow-down", "arrow-downwards", "arrow-left", "arrow-leftwards", "arrow-right", "arrow-rightwards", "arrow-up", "arrow-upwards", "article-outlined", "assignment-warning-outlined", "at-sign", "auto-graph-outlined", "automotive-outlined", "bakery-outlined", "bank-outlined", "bar-outlined", "beauty-outlined", "beer-outlined", "bell-outlined", "bell-slash-outlined", "bill-management-outlined", "billing-outlined", "body-outlined", "bold", "bolt-outlined", "book-outlined", "bookmark-added-outlined", "bookmark-checked-outlined", "bookmark-outlined", "box-1-outlined", "box-check-outlined", "box-outlined", "bullet-points", "cake-outlined", "calculator-outlined", "calendar-clock-outlined", "calendar-dates-outlined", "calendar-edit-outlined", "calendar-outlined", "calendar-star-outlined", "call-outlined", "call-split-outlined", "camera-outlined", "cancel", "car-forward-outlined", "cashback-outlined", "charging-station-outlined", "chat-bubble-outlined", "chat-unread-outlined", "checkmark", "circle-add-outlined", "circle-cancel-outlined", "circle-check-outlined", "circle-down-outlined", "circle-info-outlined", "circle-left-outlined", "circle-ok-outlined", "circle-question-outlined", "circle-remove-outlined", "circle-right-outlined", "circle-up-outlined", "circle-warning-outlined", "clock-2-outlined", "clock-3-outlined", "clock-in-outlined", "clock-out-outlined", "clock-outlined", "cloud-download-outlined", "cog-outlined", "coin-outlined", "coin-super-outlined", "comment-outlined", "contacts-outlined", "contacts-user-outlined", "credit-card-outlined", "cultural-site-outlined", "cup-outlined", "dentistry-outlined", "diamond-outlined", "direction-arrows-outlined", "directory-outlined", "document-outlined", "dollar-box-outlined", "dollar-card-outlined", "dollar-coin-shine-outlined", "dollar-credit-card-outlined", "dollar-sign", "double-buildings-outlined", "double-left-arrows", "double-right-arrows", "download-box-outlined", "download-outlined", "edit-template-outlined", "edit-user-outlined", "electronics-outlined", "email-outlined", "end-break-outlined", "enter-arrow", "entertainment-outlined", "envelope-outlined", "evening-outlined", "expense-approval-outlined", "expense-outlined", "explore-outlined", "extension-outlined", "external-link", "eye-invisible-outlined", "eye-outlined", "face-id", "face-meh-outlined", "face-open-smiley-outlined", "face-sad-outlined", "face-smiley-outlined", "fastfood-outlined", "feed-outlined", "feedbacks-outlined", "file-certified-outlined", "file-clone-outlined", "file-copy-outlined", "file-dispose-outlined", "file-dollar-certified-outlined", "file-dollar-outlined", "file-download-outlined", "file-export-outlined", "file-lock-outlined", "file-outlined", "file-pound-outlined", "file-search-outlined", "file-secured-outlined", "file-statutory-outlined", "file-verified-outlined", "filter-outlined", "fitness-outlined", "folder-outlined", "folder-upload-outlined", "folder-user-outlined", "form-outlined", "funnel-filter-outline", "goal-outlined", "graph-outlined", "grocery-outlined", "hand-holding-user-outlined", "handshake-outlined", "happy-sun-outlined", "health-bag-outlined", "heart-outlined", "history-outlined", "home-outlined", "id-card-outlined", "image-outlined", "import-outlined", "instapay-outlined", "italic", "job-search-outlined", "leave-approval-outlined", "lighting-outlined", "link-1", "link-2", "list-outlined", "live-help-outlined", "local_mall_outlined", "location-on-outlined", "location-outlined", "lock-outlined", "locked-file-outlined", "log-out", "mail-outlined", "map-outlined", "media-content-outlined", "menu-close", "menu-expand", "menu-fold-outlined", "menu-unfold-outlined", "mic-outlined", "mic-slash-outlined", "moneybag-outlined", "moon-outlined", "more-horizontal", "more-vertical", "morning-outlined", "multiple-folders-outlined", "multiple-users-outlined", "near-me-outlined", "node-outlined", "number-points", "number", "overview-outlined", "park-outlined", "payment-summary-outlined", "payslip-outlined", "pencil-outlined", "percentage", "phone-outlined", "piggy-bank-outlined", "plane-outlined", "play-circle-outlined", "pound-box-outlined", "pound-card-outlined", "pound-coin-shine-outlined", "pound-credit-card-outlined", "print-outlined", "profile-2user-outlined", "propane-tank-outlined", "qr-code-outlined", "qualification-outlined", "question-mark", "raising-hands-outlined", "re-assign", "redeem", "refresh", "remove", "reply-outlined", "restart", "restaurant-outlined", "resume-outlined", "return-arrow", "rocket-launch-outlined", "rostering-outlined", "safety-outlined", "save-outlined", "schedule-outlined", "schedule-send-outlined", "search-outlined", "search-secured-outlined", "send-outlined", "share-1", "share-2", "share-outlined-2", "share-outlined", "shield-check-outlined", "shop-outlined", "shopping_basket_outlined", "show-chart-outlined", "single-down-arrow", "single-left-arrow", "single-right-arrow", "single-up-arrow", "smart-match-outlined", "sparkle-2-outlined", "sparkle-outlined", "speaker-outlined", "star-award-outlined", "star-badge-outlined", "star-circle-outlined", "star-medal-outlined", "star-outlined", "start-break-outlined", "stash-outlined", "stop-outlined", "stopwatch-outlined", "strikethrough", "styler-outlined", "suitcase-clock-outlined", "suitcase-outlined", "survey-outlined", "switch-outlined", "sync", "tag-outlined", "target-outlined", "teams-outlined", "tennis-outlined", "thumb-down-outlined", "thumb-up-outlined", "ticket-outlined", "timesheet-outlined", "timesheets-outlined", "today-outlined", "transfer", "transportation-outlined", "trash-bin-outlined", "umbrela-outlined", "unavailability-outlined", "unavailable", "underline", "union-outlined", "unlock-outlined", "upload-outlined", "user-add-outlined", "user-circle-outlined", "user-gear-outlined", "user-out-outlined", "user-outlined", "user-rectangle-outlined", "video-1-outlined", "video-2-outlined", "volunteer-outlined", "wallet-outlined", "warning-outlined", "wellness-outlined"];
|
|
1
|
+
declare const IconList: readonly ["activate", "add-emoji", "add-person", "adjustment", "alignment", "antenna", "archive", "assignment-warning", "bank", "bell", "billing", "bolt", "bookmark-added", "bookmark-checked", "bookmark", "box-check", "box", "bpay", "buildings", "cake", "calendar-clock", "calendar", "candy-box-menu", "caret-down-small", "caret-down", "caret-left-small", "caret-left", "caret-right-small", "caret-right", "caret-up-small", "caret-up", "check-radio", "circle-add", "circle-cancel", "circle-check", "circle-down", "circle-info", "circle-left", "circle-ok", "circle-pencil", "circle-question", "circle-remove", "circle-right", "circle-up", "circle-warning", "clock-3", "clock", "cloud-download", "cloud-upload", "cog", "coin", "contacts", "credit-card", "diamond", "direction-arrows", "directory", "document", "dollar-coin-shine", "dot", "double-buildings", "edit-template", "envelope", "exclude", "expand-content", "expense", "explore_nearby", "eye-circle", "eye-invisible", "eye", "face-meh", "face-sad", "face-smiley", "feed", "feedbacks", "file-certified", "file-clone", "file-copy", "file-csv", "file-dispose", "file-doc", "file-excel", "file-export", "file-lock", "file-pdf", "file-powerpoint", "file-search", "file-secured", "file-sheets", "file-slide", "file-verified", "file-word", "file", "filter", "folder-user", "folder", "format-bold", "format-heading1", "format-heading2", "format-italic", "format-list-bulleted", "format-list-numbered", "format-underlined", "funnel-filter", "global-dollar", "global-pound", "globe", "graduation-cap", "graph", "happy-sun", "health-bag", "heart", "hero-points", "home", "image", "import", "incident-siren", "instapay-daily", "instapay-now", "instapay", "list", "loading-2", "loading", "location-on", "location", "lock", "looks-one", "looks-two", "media-content", "menu", "money-notes", "moneybag", "moon", "multiple-stars", "multiple-users", "near-me", "node", "open-folder", "paperclip-vertical", "paperclip", "payment-summary", "pencil", "phone", "piggy-bank", "plane-up", "plane", "play-arrow", "play-circle", "pound-coin-shine", "pound-sign", "print", "raising-hands", "reply-arrow", "reply", "reschedule", "rocket-launch", "rostering", "salary-sacrifice", "save", "schedule-send", "schedule", "search-person", "search", "send", "speaker", "star-award", "star-badge", "star-circle", "star-medal", "star", "steps-circle", "stopwatch", "suitcase", "surfing", "survey", "swag-pillar-benefit", "swag-pillar-career", "swag-pillar-money", "swag-pillar-work", "swag", "swipe-right", "switch", "tag", "target", "teams", "thumb-down", "thumb-up", "timesheet", "touch-id", "trash-bin", "unlock", "user", "video-1", "video-2", "wallet", "warning", "academic-hat-outlined", "accommodation-outlined", "activate-outlined", "add-credit-card-outlined", "add-emoji-outlined", "add-person-outlined", "add-section-outlined", "add-time-outlined", "add", "adjustment-outlined", "afternoon-outlined", "ai-outlined", "alignment-2-outlined", "alignment-outlined", "all-caps", "application-outlined", "archive-outlined", "arrow-down", "arrow-downwards", "arrow-left", "arrow-leftwards", "arrow-right", "arrow-rightwards", "arrow-up", "arrow-upwards", "article-outlined", "assignment-warning-outlined", "at-sign", "auto-graph-outlined", "automotive-outlined", "bakery-outlined", "bank-outlined", "bar-outlined", "beauty-outlined", "beer-outlined", "bell-outlined", "bell-slash-outlined", "bill-management-outlined", "billing-outlined", "body-outlined", "bold", "bolt-outlined", "book-outlined", "bookmark-added-outlined", "bookmark-checked-outlined", "bookmark-outlined", "box-1-outlined", "box-check-outlined", "box-outlined", "bullet-points", "cake-outlined", "calculator-outlined", "calendar-clock-outlined", "calendar-dates-outlined", "calendar-edit-outlined", "calendar-outlined", "calendar-star-outlined", "call-outlined", "call-split-outlined", "camera-outlined", "cancel", "car-forward-outlined", "cashback-outlined", "charging-station-outlined", "chat-bubble-outlined", "chat-unread-outlined", "checkmark", "circle-add-outlined", "circle-cancel-outlined", "circle-check-outlined", "circle-down-outlined", "circle-info-outlined", "circle-left-outlined", "circle-ok-outlined", "circle-question-outlined", "circle-remove-outlined", "circle-right-outlined", "circle-up-outlined", "circle-warning-outlined", "clock-2-outlined", "clock-3-outlined", "clock-in-outlined", "clock-out-outlined", "clock-outlined", "cloud-download-outlined", "cog-outlined", "coin-outlined", "coin-super-outlined", "comment-outlined", "contacts-outlined", "contacts-user-outlined", "credit-card-outlined", "cultural-site-outlined", "cup-outlined", "dentistry-outlined", "diamond-outlined", "direction-arrows-outlined", "directory-outlined", "document-outlined", "dollar-box-outlined", "dollar-card-outlined", "dollar-coin-shine-outlined", "dollar-credit-card-outlined", "dollar-sign", "double-buildings-outlined", "double-left-arrows", "double-right-arrows", "download-box-outlined", "download-outlined", "edit-template-outlined", "edit-user-outlined", "electronics-outlined", "email-outlined", "end-break-outlined", "enter-arrow", "entertainment-outlined", "envelope-outlined", "evening-outlined", "expense-approval-outlined", "expense-outlined", "explore-outlined", "extension-outlined", "external-link", "eye-invisible-outlined", "eye-outlined", "face-id", "face-meh-outlined", "face-open-smiley-outlined", "face-sad-outlined", "face-smiley-outlined", "fastfood-outlined", "feed-outlined", "feedbacks-outlined", "file-certified-outlined", "file-clone-outlined", "file-copy-outlined", "file-dispose-outlined", "file-dollar-certified-outlined", "file-dollar-outlined", "file-download-outlined", "file-export-outlined", "file-lock-outlined", "file-outlined", "file-pound-outlined", "file-search-outlined", "file-secured-outlined", "file-statutory-outlined", "file-verified-outlined", "filter-outlined", "fitness-outlined", "folder-outlined", "folder-upload-outlined", "folder-user-outlined", "form-outlined", "funnel-filter-outline", "goal-outlined", "graph-outlined", "grocery-outlined", "hand-holding-user-outlined", "handshake-outlined", "happy-sun-outlined", "health-bag-outlined", "heart-outlined", "history-outlined", "home-outlined", "id-card-outlined", "image-outlined", "import-outlined", "instapay-outlined", "italic", "job-search-outlined", "leave-approval-outlined", "lighting-outlined", "link-1", "link-2", "list-outlined", "live-help-outlined", "local_mall_outlined", "location-on-outlined", "location-outlined", "lock-outlined", "locked-file-outlined", "log-out", "mail-outlined", "map-outlined", "media-content-outlined", "menu-close", "menu-expand", "menu-fold-outlined", "menu-unfold-outlined", "mic-outlined", "mic-slash-outlined", "mobile-outlined", "moneybag-outlined", "moon-outlined", "more-horizontal", "more-vertical", "morning-outlined", "multiple-folders-outlined", "multiple-users-outlined", "near-me-outlined", "node-outlined", "number-points", "number", "overview-outlined", "park-outlined", "payment-summary-outlined", "payslip-outlined", "pencil-outlined", "percentage", "phone-outlined", "piggy-bank-outlined", "plane-outlined", "play-circle-outlined", "pound-box-outlined", "pound-card-outlined", "pound-coin-shine-outlined", "pound-credit-card-outlined", "print-outlined", "profile-2user-outlined", "propane-tank-outlined", "qr-code-outlined", "qualification-outlined", "question-mark", "raising-hands-outlined", "re-assign", "redeem", "refresh", "remove", "reply-outlined", "restart", "restaurant-outlined", "resume-outlined", "return-arrow", "rocket-launch-outlined", "rostering-outlined", "safety-outlined", "save-outlined", "schedule-outlined", "schedule-send-outlined", "search-outlined", "search-secured-outlined", "send-outlined", "share-1", "share-2", "share-outlined-2", "share-outlined", "shield-check-outlined", "shop-outlined", "shopping_basket_outlined", "show-chart-outlined", "single-down-arrow", "single-left-arrow", "single-right-arrow", "single-up-arrow", "smart-match-outlined", "sparkle-2-outlined", "sparkle-outlined", "speaker-outlined", "star-award-outlined", "star-badge-outlined", "star-circle-outlined", "star-medal-outlined", "star-outlined", "start-break-outlined", "stash-outlined", "stop-outlined", "stopwatch-outlined", "strikethrough", "styler-outlined", "suitcase-clock-outlined", "suitcase-outlined", "survey-outlined", "switch-outlined", "sync", "tablet-outlined", "tag-outlined", "target-outlined", "teams-outlined", "tennis-outlined", "thumb-down-outlined", "thumb-up-outlined", "ticket-outlined", "timesheet-outlined", "timesheets-outlined", "today-outlined", "transfer", "transportation-outlined", "trash-bin-outlined", "umbrela-outlined", "unavailability-outlined", "unavailable", "underline", "union-outlined", "unlock-outlined", "upload-outlined", "user-add-outlined", "user-circle-outlined", "user-gear-outlined", "user-out-outlined", "user-outlined", "user-rectangle-outlined", "video-1-outlined", "video-2-outlined", "volunteer-outlined", "wallet-outlined", "warning-outlined", "wellness-outlined"];
|
|
2
2
|
export default IconList;
|