@xenition/ui 0.1.0 → 0.1.2
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/dist/native/commerce/GenerativeCover.d.ts +14 -9
- package/dist/native/commerce/GenerativeCover.d.ts.map +1 -1
- package/dist/native/commerce/GenerativeCover.js +31 -7
- package/dist/native/commerce/GenerativeCover.js.map +1 -1
- package/dist/native/marketing/AnnouncementBar.d.ts +33 -0
- package/dist/native/marketing/AnnouncementBar.d.ts.map +1 -0
- package/dist/native/marketing/AnnouncementBar.js +101 -0
- package/dist/native/marketing/AnnouncementBar.js.map +1 -0
- package/dist/native/marketing/AuroraBackground.d.ts +35 -0
- package/dist/native/marketing/AuroraBackground.d.ts.map +1 -0
- package/dist/native/marketing/AuroraBackground.js +56 -0
- package/dist/native/marketing/AuroraBackground.js.map +1 -0
- package/dist/native/marketing/Bento.d.ts +54 -0
- package/dist/native/marketing/Bento.d.ts.map +1 -0
- package/dist/native/marketing/Bento.js +139 -0
- package/dist/native/marketing/Bento.js.map +1 -0
- package/dist/native/marketing/Carousel.d.ts +26 -0
- package/dist/native/marketing/Carousel.d.ts.map +1 -0
- package/dist/native/marketing/Carousel.js +95 -0
- package/dist/native/marketing/Carousel.js.map +1 -0
- package/dist/native/marketing/ComparisonTable.d.ts +38 -0
- package/dist/native/marketing/ComparisonTable.d.ts.map +1 -0
- package/dist/native/marketing/ComparisonTable.js +84 -0
- package/dist/native/marketing/ComparisonTable.js.map +1 -0
- package/dist/native/marketing/Countdown.d.ts +25 -0
- package/dist/native/marketing/Countdown.d.ts.map +1 -0
- package/dist/native/marketing/Countdown.js +107 -0
- package/dist/native/marketing/Countdown.js.map +1 -0
- package/dist/native/marketing/CoverGallery.d.ts +38 -0
- package/dist/native/marketing/CoverGallery.d.ts.map +1 -0
- package/dist/native/marketing/CoverGallery.js +41 -0
- package/dist/native/marketing/CoverGallery.js.map +1 -0
- package/dist/native/marketing/EditorialGrid.d.ts +73 -0
- package/dist/native/marketing/EditorialGrid.d.ts.map +1 -0
- package/dist/native/marketing/EditorialGrid.js +34 -0
- package/dist/native/marketing/EditorialGrid.js.map +1 -0
- package/dist/native/marketing/FeatureSplit.d.ts +29 -0
- package/dist/native/marketing/FeatureSplit.d.ts.map +1 -0
- package/dist/native/marketing/FeatureSplit.js +37 -0
- package/dist/native/marketing/FeatureSplit.js.map +1 -0
- package/dist/native/marketing/LocationBlock.d.ts +37 -0
- package/dist/native/marketing/LocationBlock.d.ts.map +1 -0
- package/dist/native/marketing/LocationBlock.js +49 -0
- package/dist/native/marketing/LocationBlock.js.map +1 -0
- package/dist/native/marketing/Navbar.d.ts +34 -0
- package/dist/native/marketing/Navbar.d.ts.map +1 -0
- package/dist/native/marketing/Navbar.js +100 -0
- package/dist/native/marketing/Navbar.js.map +1 -0
- package/dist/native/marketing/NewsletterSignup.d.ts +33 -0
- package/dist/native/marketing/NewsletterSignup.d.ts.map +1 -0
- package/dist/native/marketing/NewsletterSignup.js +97 -0
- package/dist/native/marketing/NewsletterSignup.js.map +1 -0
- package/dist/native/marketing/OrnamentRule.d.ts +23 -0
- package/dist/native/marketing/OrnamentRule.d.ts.map +1 -0
- package/dist/native/marketing/OrnamentRule.js +43 -0
- package/dist/native/marketing/OrnamentRule.js.map +1 -0
- package/dist/native/marketing/ParticleField.d.ts +25 -0
- package/dist/native/marketing/ParticleField.d.ts.map +1 -0
- package/dist/native/marketing/ParticleField.js +92 -0
- package/dist/native/marketing/ParticleField.js.map +1 -0
- package/dist/native/marketing/PointerHalo.d.ts +22 -0
- package/dist/native/marketing/PointerHalo.d.ts.map +1 -0
- package/dist/native/marketing/PointerHalo.js +15 -0
- package/dist/native/marketing/PointerHalo.js.map +1 -0
- package/dist/native/marketing/PriceList.d.ts +30 -0
- package/dist/native/marketing/PriceList.d.ts.map +1 -0
- package/dist/native/marketing/PriceList.js +42 -0
- package/dist/native/marketing/PriceList.js.map +1 -0
- package/dist/native/marketing/PricingToggle.d.ts +30 -0
- package/dist/native/marketing/PricingToggle.d.ts.map +1 -0
- package/dist/native/marketing/PricingToggle.js +55 -0
- package/dist/native/marketing/PricingToggle.js.map +1 -0
- package/dist/native/marketing/ProcessSteps.d.ts +24 -0
- package/dist/native/marketing/ProcessSteps.d.ts.map +1 -0
- package/dist/native/marketing/ProcessSteps.js +52 -0
- package/dist/native/marketing/ProcessSteps.js.map +1 -0
- package/dist/native/marketing/ProductMock.d.ts +47 -0
- package/dist/native/marketing/ProductMock.d.ts.map +1 -0
- package/dist/native/marketing/ProductMock.js +270 -0
- package/dist/native/marketing/ProductMock.js.map +1 -0
- package/dist/native/marketing/RichText.d.ts +40 -0
- package/dist/native/marketing/RichText.d.ts.map +1 -0
- package/dist/native/marketing/RichText.js +134 -0
- package/dist/native/marketing/RichText.js.map +1 -0
- package/dist/native/marketing/SectionDivider.d.ts +34 -0
- package/dist/native/marketing/SectionDivider.d.ts.map +1 -0
- package/dist/native/marketing/SectionDivider.js +41 -0
- package/dist/native/marketing/SectionDivider.js.map +1 -0
- package/dist/native/marketing/TeamGrid.d.ts +27 -0
- package/dist/native/marketing/TeamGrid.d.ts.map +1 -0
- package/dist/native/marketing/TeamGrid.js +37 -0
- package/dist/native/marketing/TeamGrid.js.map +1 -0
- package/dist/native/marketing/VideoEmbed.d.ts +23 -0
- package/dist/native/marketing/VideoEmbed.d.ts.map +1 -0
- package/dist/native/marketing/VideoEmbed.js +38 -0
- package/dist/native/marketing/VideoEmbed.js.map +1 -0
- package/dist/native/marketing/index.d.ts +48 -0
- package/dist/native/marketing/index.d.ts.map +1 -1
- package/dist/native/marketing/index.js +55 -1
- package/dist/native/marketing/index.js.map +1 -1
- package/dist/native/motion/AnimatedCounter.d.ts +24 -0
- package/dist/native/motion/AnimatedCounter.d.ts.map +1 -0
- package/dist/native/motion/AnimatedCounter.js +76 -0
- package/dist/native/motion/AnimatedCounter.js.map +1 -0
- package/dist/native/motion/Marquee.d.ts +23 -0
- package/dist/native/motion/Marquee.d.ts.map +1 -0
- package/dist/native/motion/Marquee.js +79 -0
- package/dist/native/motion/Marquee.js.map +1 -0
- package/dist/native/motion/index.d.ts +10 -5
- package/dist/native/motion/index.d.ts.map +1 -1
- package/dist/native/motion/index.js +11 -6
- package/dist/native/motion/index.js.map +1 -1
- package/dist/native/primitives/Wordmark.d.ts +27 -0
- package/dist/native/primitives/Wordmark.d.ts.map +1 -0
- package/dist/native/primitives/Wordmark.js +41 -0
- package/dist/native/primitives/Wordmark.js.map +1 -0
- package/dist/native/primitives/index.d.ts +2 -0
- package/dist/native/primitives/index.d.ts.map +1 -1
- package/dist/native/primitives/index.js +4 -2
- package/dist/native/primitives/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TeamGrid = TeamGrid;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
const Card_1 = require("../primitives/Card");
|
|
8
|
+
const Avatar_1 = require("../primitives/Avatar");
|
|
9
|
+
/**
|
|
10
|
+
* Responsive grid of team/member cards — the native mirror of the web
|
|
11
|
+
* `TeamGrid`. Cards wrap via flex `basis` rather than CSS grid breakpoints,
|
|
12
|
+
* with an initials-fallback avatar. The web `socials` link row is dropped
|
|
13
|
+
* (no `href` navigation surface on these cards). Token-only.
|
|
14
|
+
*/
|
|
15
|
+
function TeamGrid({ members, columns = 2, style, }) {
|
|
16
|
+
const { colors, tokens } = (0, theme_1.useXenitionTheme)();
|
|
17
|
+
const basis = `${100 / columns}%`;
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { testID: "xen-team-grid", style: [
|
|
19
|
+
{ flexDirection: 'row', flexWrap: 'wrap', gap: tokens.spacing.lg },
|
|
20
|
+
style,
|
|
21
|
+
], children: members.map((member, index) => ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flexGrow: 1, flexBasis: basis, minWidth: 160 }, children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { style: { flex: 1, alignItems: 'center', gap: tokens.spacing.sm }, children: [(0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { src: member.avatar, name: member.name, size: "lg" }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { alignItems: 'center', gap: tokens.spacing.xs }, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
|
|
22
|
+
color: colors.onSurface,
|
|
23
|
+
fontSize: tokens.typography.scale.base,
|
|
24
|
+
fontWeight: '600',
|
|
25
|
+
textAlign: 'center',
|
|
26
|
+
}, children: member.name }), member.role ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
|
|
27
|
+
color: colors.primary,
|
|
28
|
+
fontSize: tokens.typography.scale.sm,
|
|
29
|
+
fontWeight: '500',
|
|
30
|
+
textAlign: 'center',
|
|
31
|
+
}, children: member.role })) : null] }), member.bio ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
|
|
32
|
+
color: colors.muted,
|
|
33
|
+
fontSize: tokens.typography.scale.sm,
|
|
34
|
+
textAlign: 'center',
|
|
35
|
+
}, children: member.bio })) : null] }) }, index))) }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=TeamGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamGrid.js","sourceRoot":"","sources":["../../../src/native/marketing/TeamGrid.tsx"],"names":[],"mappings":";;AA+BA,4BA+DC;;AA7FD,+CAA0E;AAC1E,oCAA4C;AAC5C,6CAA0C;AAC1C,iDAA8C;AAqB9C;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,OAAO,GAAG,CAAC,EACX,KAAK,GACS;IACd,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAgB,GAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,OAAO,GAA6B,CAAC;IAE5D,OAAO,CACL,uBAAC,mBAAI,IACH,MAAM,EAAC,eAAe,EACtB,KAAK,EAAE;YACL,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YAClE,KAAK;SACN,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,uBAAC,mBAAI,IAEH,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,YAEvD,wBAAC,WAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aACpE,uBAAC,eAAM,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,EAC3D,wBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAC3D,uBAAC,mBAAI,IACH,KAAK,EAAE;oCACL,KAAK,EAAE,MAAM,CAAC,SAAS;oCACvB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;oCACtC,UAAU,EAAE,KAAK;oCACjB,SAAS,EAAE,QAAQ;iCACpB,YAEA,MAAM,CAAC,IAAI,GACP,EACN,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACb,uBAAC,mBAAI,IACH,KAAK,EAAE;oCACL,KAAK,EAAE,MAAM,CAAC,OAAO;oCACrB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oCACpC,UAAU,EAAE,KAAK;oCACjB,SAAS,EAAE,QAAQ;iCACpB,YAEA,MAAM,CAAC,IAAI,GACP,CACR,CAAC,CAAC,CAAC,IAAI,IACH,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ,uBAAC,mBAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;4BACpC,SAAS,EAAE,QAAQ;yBACpB,YAEA,MAAM,CAAC,GAAG,GACN,CACR,CAAC,CAAC,CAAC,IAAI,IACH,IAxCF,KAAK,CAyCL,CACR,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export interface VideoEmbedProps {
|
|
4
|
+
/** Video URL (kept for parity; actual playback needs `expo-av`, out of scope). */
|
|
5
|
+
url: string;
|
|
6
|
+
/** Accessible title. */
|
|
7
|
+
title: string;
|
|
8
|
+
/** Poster image shown before playback. */
|
|
9
|
+
poster?: string;
|
|
10
|
+
/** Fired when the play affordance is pressed (wire to a player / deep link). */
|
|
11
|
+
onPress?: () => void;
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A 16:9 video card with a poster + play affordance — the native mirror of the
|
|
16
|
+
* web `VideoEmbed`. React Native has no `<iframe>`/`<video>`, so this renders a
|
|
17
|
+
* token-styled poster thumbnail with a circular play button; `onPress` is the
|
|
18
|
+
* hook a caller uses to launch playback. Real inline playback requires
|
|
19
|
+
* `expo-av` (out of scope here); the `url`/`title` props are preserved so a
|
|
20
|
+
* host app can pass them straight through. Token-only.
|
|
21
|
+
*/
|
|
22
|
+
export declare function VideoEmbed({ url: _url, title, poster, onPress, style, }: VideoEmbedProps): React.ReactElement;
|
|
23
|
+
//# sourceMappingURL=VideoEmbed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoEmbed.d.ts","sourceRoot":"","sources":["../../../src/native/marketing/VideoEmbed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG5F,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EAAE,IAAI,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAuDtC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VideoEmbed = VideoEmbed;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
/**
|
|
8
|
+
* A 16:9 video card with a poster + play affordance — the native mirror of the
|
|
9
|
+
* web `VideoEmbed`. React Native has no `<iframe>`/`<video>`, so this renders a
|
|
10
|
+
* token-styled poster thumbnail with a circular play button; `onPress` is the
|
|
11
|
+
* hook a caller uses to launch playback. Real inline playback requires
|
|
12
|
+
* `expo-av` (out of scope here); the `url`/`title` props are preserved so a
|
|
13
|
+
* host app can pass them straight through. Token-only.
|
|
14
|
+
*/
|
|
15
|
+
function VideoEmbed({ url: _url, title, poster, onPress, style, }) {
|
|
16
|
+
const { colors, tokens } = (0, theme_1.useXenitionTheme)();
|
|
17
|
+
const content = ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: {
|
|
18
|
+
aspectRatio: 16 / 9,
|
|
19
|
+
width: '100%',
|
|
20
|
+
overflow: 'hidden',
|
|
21
|
+
borderRadius: tokens.radius.lg,
|
|
22
|
+
borderWidth: 1,
|
|
23
|
+
borderColor: colors.border,
|
|
24
|
+
backgroundColor: tokens.ramps.neutral[900],
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
}, children: [poster ? ((0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: poster }, accessible: true, accessibilityLabel: title, resizeMode: "cover", style: { position: 'absolute', width: '100%', height: '100%' } })) : null, (0, jsx_runtime_1.jsx)(react_native_1.View, { style: {
|
|
28
|
+
height: 64,
|
|
29
|
+
width: 64,
|
|
30
|
+
borderRadius: tokens.radius.full,
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
justifyContent: 'center',
|
|
33
|
+
backgroundColor: colors.primary,
|
|
34
|
+
opacity: 0.9,
|
|
35
|
+
}, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: { color: colors.onPrimary, fontSize: tokens.typography.scale['2xl'] }, children: '▶' }) })] }));
|
|
36
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { testID: "xen-video-embed", accessibilityRole: "button", accessibilityLabel: title, onPress: onPress, style: ({ pressed }) => [{ opacity: pressed ? 0.95 : 1 }, style], children: content }));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=VideoEmbed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoEmbed.js","sourceRoot":"","sources":["../../../src/native/marketing/VideoEmbed.tsx"],"names":[],"mappings":";;AAwBA,gCA6DC;;AApFD,+CAA4F;AAC5F,oCAA4C;AAc5C;;;;;;;GAOG;AACH,SAAgB,UAAU,CAAC,EACzB,GAAG,EAAE,IAAI,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,GACW;IAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAgB,GAAE,CAAC;IAE9C,MAAM,OAAO,GAAG,CACd,wBAAC,mBAAI,IACH,KAAK,EAAE;YACL,WAAW,EAAE,EAAE,GAAG,CAAC;YACnB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9B,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1C,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;SACzB,aAEA,MAAM,CAAC,CAAC,CAAC,CACR,uBAAC,oBAAK,IACJ,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EACvB,UAAU,QACV,kBAAkB,EAAE,KAAK,EACzB,UAAU,EAAC,OAAO,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAC9D,CACH,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,mBAAI,IACH,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,EAAE;oBACT,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;oBAChC,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,eAAe,EAAE,MAAM,CAAC,OAAO;oBAC/B,OAAO,EAAE,GAAG;iBACb,YAED,uBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,YAC/E,GAAG,GACC,GACF,IACF,CACR,CAAC;IAEF,OAAO,CACL,uBAAC,wBAAS,IACR,MAAM,EAAC,iBAAiB,EACxB,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,KAAK,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,YAE/D,OAAO,GACE,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -11,6 +11,8 @@ export { GradientHero } from './GradientHero';
|
|
|
11
11
|
export type { GradientHeroProps } from './GradientHero';
|
|
12
12
|
export { SectionHeading } from './SectionHeading';
|
|
13
13
|
export type { SectionHeadingProps } from './SectionHeading';
|
|
14
|
+
export { RichText, parseRichText } from './RichText';
|
|
15
|
+
export type { RichTextProps } from './RichText';
|
|
14
16
|
export { CTABanner } from './CTABanner';
|
|
15
17
|
export type { CTABannerProps } from './CTABanner';
|
|
16
18
|
export { Footer } from './Footer';
|
|
@@ -27,4 +29,50 @@ export { StatBar, Stat } from './StatBar';
|
|
|
27
29
|
export type { StatBarProps, StatItem } from './StatBar';
|
|
28
30
|
export { LogoCloud } from './LogoCloud';
|
|
29
31
|
export type { LogoCloudProps } from './LogoCloud';
|
|
32
|
+
export { BentoGrid, BentoCard } from './Bento';
|
|
33
|
+
export type { BentoGridProps, BentoCardProps, BentoCardData } from './Bento';
|
|
34
|
+
export { EditorialGrid, EditorialItem } from './EditorialGrid';
|
|
35
|
+
export type { EditorialGridProps, EditorialItemProps, EditorialItemData } from './EditorialGrid';
|
|
36
|
+
export { OrnamentRule } from './OrnamentRule';
|
|
37
|
+
export type { OrnamentRuleProps, OrnamentShape, OrnamentTone } from './OrnamentRule';
|
|
38
|
+
export { SectionDivider } from './SectionDivider';
|
|
39
|
+
export type { SectionDividerProps, SectionDividerVariant } from './SectionDivider';
|
|
40
|
+
export { AnnouncementBar } from './AnnouncementBar';
|
|
41
|
+
export type { AnnouncementBarProps, AnnouncementTone } from './AnnouncementBar';
|
|
42
|
+
export { PriceList } from './PriceList';
|
|
43
|
+
export type { PriceListProps, PriceRow } from './PriceList';
|
|
44
|
+
export { PricingToggle } from './PricingToggle';
|
|
45
|
+
export type { PricingToggleProps, PricingToggleOption } from './PricingToggle';
|
|
46
|
+
export { ComparisonTable } from './ComparisonTable';
|
|
47
|
+
export type { ComparisonTableProps, ComparisonColumn, ComparisonRow } from './ComparisonTable';
|
|
48
|
+
export { Navbar } from './Navbar';
|
|
49
|
+
export type { NavbarProps, NavbarLink } from './Navbar';
|
|
50
|
+
export { ProductMock } from './ProductMock';
|
|
51
|
+
export type { ProductMockProps, ProductMockVariant, ProductMockChart, ProductMockKpi, } from './ProductMock';
|
|
52
|
+
export { ProcessSteps } from './ProcessSteps';
|
|
53
|
+
export type { ProcessStepsProps, ProcessStep } from './ProcessSteps';
|
|
54
|
+
export { TeamGrid } from './TeamGrid';
|
|
55
|
+
export type { TeamGridProps, TeamMember } from './TeamGrid';
|
|
56
|
+
export { FeatureSplit } from './FeatureSplit';
|
|
57
|
+
export type { FeatureSplitProps } from './FeatureSplit';
|
|
58
|
+
export { LocationBlock } from './LocationBlock';
|
|
59
|
+
export type { LocationBlockProps, LocationHour } from './LocationBlock';
|
|
60
|
+
export { Carousel } from './Carousel';
|
|
61
|
+
export type { CarouselProps } from './Carousel';
|
|
62
|
+
export { CoverGallery } from './CoverGallery';
|
|
63
|
+
export type { CoverGalleryProps, CoverGalleryItem } from './CoverGallery';
|
|
64
|
+
export { VideoEmbed } from './VideoEmbed';
|
|
65
|
+
export type { VideoEmbedProps } from './VideoEmbed';
|
|
66
|
+
export { Countdown } from './Countdown';
|
|
67
|
+
export type { CountdownProps } from './Countdown';
|
|
68
|
+
export { NewsletterSignup } from './NewsletterSignup';
|
|
69
|
+
export type { NewsletterSignupProps } from './NewsletterSignup';
|
|
70
|
+
export { AuroraBackground } from './AuroraBackground';
|
|
71
|
+
export type { AuroraBackgroundProps, AuroraVariant, AuroraPattern } from './AuroraBackground';
|
|
72
|
+
export { ParticleField } from './ParticleField';
|
|
73
|
+
export type { ParticleFieldProps, ParticleMood } from './ParticleField';
|
|
74
|
+
export { PointerHalo } from './PointerHalo';
|
|
75
|
+
export type { PointerHaloProps, PointerHaloMode } from './PointerHalo';
|
|
76
|
+
export { GenerativeCover } from '../commerce/GenerativeCover';
|
|
77
|
+
export type { GenerativeCoverProps } from '../commerce/GenerativeCover';
|
|
30
78
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/marketing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/marketing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* no DOM.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.LogoCloud = exports.Stat = exports.StatBar = exports.PricingTable = exports.FAQ = exports.initialsFromName = exports.Testimonials = exports.FeatureGrid = exports.Footer = exports.CTABanner = exports.SectionHeading = exports.GradientHero = exports.EntityCard = void 0;
|
|
10
|
+
exports.GenerativeCover = exports.PointerHalo = exports.ParticleField = exports.AuroraBackground = exports.NewsletterSignup = exports.Countdown = exports.VideoEmbed = exports.CoverGallery = exports.Carousel = exports.LocationBlock = exports.FeatureSplit = exports.TeamGrid = exports.ProcessSteps = exports.ProductMock = exports.Navbar = exports.ComparisonTable = exports.PricingToggle = exports.PriceList = exports.AnnouncementBar = exports.SectionDivider = exports.OrnamentRule = exports.EditorialItem = exports.EditorialGrid = exports.BentoCard = exports.BentoGrid = exports.LogoCloud = exports.Stat = exports.StatBar = exports.PricingTable = exports.FAQ = exports.initialsFromName = exports.Testimonials = exports.FeatureGrid = exports.Footer = exports.CTABanner = exports.parseRichText = exports.RichText = exports.SectionHeading = exports.GradientHero = exports.EntityCard = void 0;
|
|
11
11
|
var EntityCard_1 = require("./EntityCard");
|
|
12
12
|
Object.defineProperty(exports, "EntityCard", { enumerable: true, get: function () { return EntityCard_1.EntityCard; } });
|
|
13
13
|
// ── native marketing sections (parity with @xenition/ui/marketing) ────
|
|
@@ -15,6 +15,9 @@ var GradientHero_1 = require("./GradientHero");
|
|
|
15
15
|
Object.defineProperty(exports, "GradientHero", { enumerable: true, get: function () { return GradientHero_1.GradientHero; } });
|
|
16
16
|
var SectionHeading_1 = require("./SectionHeading");
|
|
17
17
|
Object.defineProperty(exports, "SectionHeading", { enumerable: true, get: function () { return SectionHeading_1.SectionHeading; } });
|
|
18
|
+
var RichText_1 = require("./RichText");
|
|
19
|
+
Object.defineProperty(exports, "RichText", { enumerable: true, get: function () { return RichText_1.RichText; } });
|
|
20
|
+
Object.defineProperty(exports, "parseRichText", { enumerable: true, get: function () { return RichText_1.parseRichText; } });
|
|
18
21
|
var CTABanner_1 = require("./CTABanner");
|
|
19
22
|
Object.defineProperty(exports, "CTABanner", { enumerable: true, get: function () { return CTABanner_1.CTABanner; } });
|
|
20
23
|
var Footer_1 = require("./Footer");
|
|
@@ -33,4 +36,55 @@ Object.defineProperty(exports, "StatBar", { enumerable: true, get: function () {
|
|
|
33
36
|
Object.defineProperty(exports, "Stat", { enumerable: true, get: function () { return StatBar_1.Stat; } });
|
|
34
37
|
var LogoCloud_1 = require("./LogoCloud");
|
|
35
38
|
Object.defineProperty(exports, "LogoCloud", { enumerable: true, get: function () { return LogoCloud_1.LogoCloud; } });
|
|
39
|
+
// ── full parity with @xenition/ui/marketing (native ports) ────────────
|
|
40
|
+
var Bento_1 = require("./Bento");
|
|
41
|
+
Object.defineProperty(exports, "BentoGrid", { enumerable: true, get: function () { return Bento_1.BentoGrid; } });
|
|
42
|
+
Object.defineProperty(exports, "BentoCard", { enumerable: true, get: function () { return Bento_1.BentoCard; } });
|
|
43
|
+
var EditorialGrid_1 = require("./EditorialGrid");
|
|
44
|
+
Object.defineProperty(exports, "EditorialGrid", { enumerable: true, get: function () { return EditorialGrid_1.EditorialGrid; } });
|
|
45
|
+
Object.defineProperty(exports, "EditorialItem", { enumerable: true, get: function () { return EditorialGrid_1.EditorialItem; } });
|
|
46
|
+
var OrnamentRule_1 = require("./OrnamentRule");
|
|
47
|
+
Object.defineProperty(exports, "OrnamentRule", { enumerable: true, get: function () { return OrnamentRule_1.OrnamentRule; } });
|
|
48
|
+
var SectionDivider_1 = require("./SectionDivider");
|
|
49
|
+
Object.defineProperty(exports, "SectionDivider", { enumerable: true, get: function () { return SectionDivider_1.SectionDivider; } });
|
|
50
|
+
var AnnouncementBar_1 = require("./AnnouncementBar");
|
|
51
|
+
Object.defineProperty(exports, "AnnouncementBar", { enumerable: true, get: function () { return AnnouncementBar_1.AnnouncementBar; } });
|
|
52
|
+
var PriceList_1 = require("./PriceList");
|
|
53
|
+
Object.defineProperty(exports, "PriceList", { enumerable: true, get: function () { return PriceList_1.PriceList; } });
|
|
54
|
+
var PricingToggle_1 = require("./PricingToggle");
|
|
55
|
+
Object.defineProperty(exports, "PricingToggle", { enumerable: true, get: function () { return PricingToggle_1.PricingToggle; } });
|
|
56
|
+
var ComparisonTable_1 = require("./ComparisonTable");
|
|
57
|
+
Object.defineProperty(exports, "ComparisonTable", { enumerable: true, get: function () { return ComparisonTable_1.ComparisonTable; } });
|
|
58
|
+
var Navbar_1 = require("./Navbar");
|
|
59
|
+
Object.defineProperty(exports, "Navbar", { enumerable: true, get: function () { return Navbar_1.Navbar; } });
|
|
60
|
+
var ProductMock_1 = require("./ProductMock");
|
|
61
|
+
Object.defineProperty(exports, "ProductMock", { enumerable: true, get: function () { return ProductMock_1.ProductMock; } });
|
|
62
|
+
var ProcessSteps_1 = require("./ProcessSteps");
|
|
63
|
+
Object.defineProperty(exports, "ProcessSteps", { enumerable: true, get: function () { return ProcessSteps_1.ProcessSteps; } });
|
|
64
|
+
var TeamGrid_1 = require("./TeamGrid");
|
|
65
|
+
Object.defineProperty(exports, "TeamGrid", { enumerable: true, get: function () { return TeamGrid_1.TeamGrid; } });
|
|
66
|
+
var FeatureSplit_1 = require("./FeatureSplit");
|
|
67
|
+
Object.defineProperty(exports, "FeatureSplit", { enumerable: true, get: function () { return FeatureSplit_1.FeatureSplit; } });
|
|
68
|
+
var LocationBlock_1 = require("./LocationBlock");
|
|
69
|
+
Object.defineProperty(exports, "LocationBlock", { enumerable: true, get: function () { return LocationBlock_1.LocationBlock; } });
|
|
70
|
+
var Carousel_1 = require("./Carousel");
|
|
71
|
+
Object.defineProperty(exports, "Carousel", { enumerable: true, get: function () { return Carousel_1.Carousel; } });
|
|
72
|
+
var CoverGallery_1 = require("./CoverGallery");
|
|
73
|
+
Object.defineProperty(exports, "CoverGallery", { enumerable: true, get: function () { return CoverGallery_1.CoverGallery; } });
|
|
74
|
+
var VideoEmbed_1 = require("./VideoEmbed");
|
|
75
|
+
Object.defineProperty(exports, "VideoEmbed", { enumerable: true, get: function () { return VideoEmbed_1.VideoEmbed; } });
|
|
76
|
+
var Countdown_1 = require("./Countdown");
|
|
77
|
+
Object.defineProperty(exports, "Countdown", { enumerable: true, get: function () { return Countdown_1.Countdown; } });
|
|
78
|
+
var NewsletterSignup_1 = require("./NewsletterSignup");
|
|
79
|
+
Object.defineProperty(exports, "NewsletterSignup", { enumerable: true, get: function () { return NewsletterSignup_1.NewsletterSignup; } });
|
|
80
|
+
var AuroraBackground_1 = require("./AuroraBackground");
|
|
81
|
+
Object.defineProperty(exports, "AuroraBackground", { enumerable: true, get: function () { return AuroraBackground_1.AuroraBackground; } });
|
|
82
|
+
var ParticleField_1 = require("./ParticleField");
|
|
83
|
+
Object.defineProperty(exports, "ParticleField", { enumerable: true, get: function () { return ParticleField_1.ParticleField; } });
|
|
84
|
+
var PointerHalo_1 = require("./PointerHalo");
|
|
85
|
+
Object.defineProperty(exports, "PointerHalo", { enumerable: true, get: function () { return PointerHalo_1.PointerHalo; } });
|
|
86
|
+
// GenerativeCover: re-export the existing native commerce implementation
|
|
87
|
+
// (mirrors how the web marketing index surfaces GenerativeCover).
|
|
88
|
+
var GenerativeCover_1 = require("../commerce/GenerativeCover");
|
|
89
|
+
Object.defineProperty(exports, "GenerativeCover", { enumerable: true, get: function () { return GenerativeCover_1.GenerativeCover; } });
|
|
36
90
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/marketing/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAGnB,yEAAyE;AACzE,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,+CAAgE;AAAvD,4GAAA,YAAY,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEvC,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,qCAA0C;AAAjC,kGAAA,OAAO,OAAA;AAAE,+FAAA,IAAI,OAAA;AAEtB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/marketing/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAGnB,yEAAyE;AACzE,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,uCAAqD;AAA5C,oGAAA,QAAQ,OAAA;AAAE,yGAAA,aAAa,OAAA;AAEhC,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,+CAAgE;AAAvD,4GAAA,YAAY,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEvC,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,qCAA0C;AAAjC,kGAAA,OAAO,OAAA;AAAE,+FAAA,IAAI,OAAA;AAEtB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAGlB,yEAAyE;AACzE,iCAA+C;AAAtC,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AAE7B,iDAA+D;AAAtD,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AAErC,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAOpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,yEAAyE;AACzE,kEAAkE;AAClE,+DAA8D;AAArD,kHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type StyleProp, type TextStyle } from 'react-native';
|
|
3
|
+
export interface AnimatedCounterProps {
|
|
4
|
+
/** Final value. */
|
|
5
|
+
to: number;
|
|
6
|
+
/** Starting value (default 0). */
|
|
7
|
+
from?: number;
|
|
8
|
+
/** Count duration in ms (default 1500). */
|
|
9
|
+
duration?: number;
|
|
10
|
+
/** Formats the current value for display. Defaults to rounded `toLocaleString()`. */
|
|
11
|
+
format?: (value: number) => string;
|
|
12
|
+
style?: StyleProp<TextStyle>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Counts up (or down) on mount — the native mirror of the web `AnimatedCounter`.
|
|
16
|
+
* On mobile the norm is a **mount** entrance (like the native `Reveal`), so
|
|
17
|
+
* instead of the web's scroll-into-view trigger this counts as soon as it
|
|
18
|
+
* mounts, driven by the RN `Animated` clock with an ease-out curve. Under the
|
|
19
|
+
* OS "Reduce Motion" setting the final value renders immediately. The animated
|
|
20
|
+
* value is read on the JS thread (to format each frame), so this uses
|
|
21
|
+
* `useNativeDriver: false`. Motion-only — inherit color via `style`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function AnimatedCounter({ to, from, duration, format, style, }: AnimatedCounterProps): React.ReactElement;
|
|
24
|
+
//# sourceMappingURL=AnimatedCounter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedCounter.d.ts","sourceRoot":"","sources":["../../../src/native/motion/AnimatedCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGtF,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,IAAQ,EACR,QAAe,EACf,MAAsB,EACtB,KAAK,GACN,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CA0B3C"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AnimatedCounter = AnimatedCounter;
|
|
37
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
|
+
const React = __importStar(require("react"));
|
|
39
|
+
const react_native_1 = require("react-native");
|
|
40
|
+
const useReducedMotion_1 = require("../primitives/internal/useReducedMotion");
|
|
41
|
+
const defaultFormat = (value) => Math.round(value).toLocaleString('en-US');
|
|
42
|
+
/**
|
|
43
|
+
* Counts up (or down) on mount — the native mirror of the web `AnimatedCounter`.
|
|
44
|
+
* On mobile the norm is a **mount** entrance (like the native `Reveal`), so
|
|
45
|
+
* instead of the web's scroll-into-view trigger this counts as soon as it
|
|
46
|
+
* mounts, driven by the RN `Animated` clock with an ease-out curve. Under the
|
|
47
|
+
* OS "Reduce Motion" setting the final value renders immediately. The animated
|
|
48
|
+
* value is read on the JS thread (to format each frame), so this uses
|
|
49
|
+
* `useNativeDriver: false`. Motion-only — inherit color via `style`.
|
|
50
|
+
*/
|
|
51
|
+
function AnimatedCounter({ to, from = 0, duration = 1500, format = defaultFormat, style, }) {
|
|
52
|
+
const reduced = (0, useReducedMotion_1.useReducedMotion)();
|
|
53
|
+
const anim = React.useRef(new react_native_1.Animated.Value(from)).current;
|
|
54
|
+
const [value, setValue] = React.useState(from);
|
|
55
|
+
React.useEffect(() => {
|
|
56
|
+
if (reduced || duration <= 0) {
|
|
57
|
+
setValue(to);
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
anim.setValue(from);
|
|
61
|
+
const id = anim.addListener(({ value: v }) => setValue(v));
|
|
62
|
+
const animation = react_native_1.Animated.timing(anim, {
|
|
63
|
+
toValue: to,
|
|
64
|
+
duration,
|
|
65
|
+
easing: react_native_1.Easing.out(react_native_1.Easing.cubic),
|
|
66
|
+
useNativeDriver: false,
|
|
67
|
+
});
|
|
68
|
+
animation.start();
|
|
69
|
+
return () => {
|
|
70
|
+
animation.stop();
|
|
71
|
+
anim.removeListener(id);
|
|
72
|
+
};
|
|
73
|
+
}, [reduced, from, to, duration, anim]);
|
|
74
|
+
return (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: style, children: format(value) });
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=AnimatedCounter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedCounter.js","sourceRoot":"","sources":["../../../src/native/motion/AnimatedCounter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,0CAgCC;;AA3DD,6CAA+B;AAC/B,+CAAsF;AACtF,8EAA2E;AAc3E,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAE3F;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,IAAI,GAAG,CAAC,EACR,QAAQ,GAAG,IAAI,EACf,MAAM,GAAG,aAAa,EACtB,KAAK,GACgB;IACrB,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,uBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,uBAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,EAAE;YACX,QAAQ;YACR,MAAM,EAAE,qBAAM,CAAC,GAAG,CAAC,qBAAM,CAAC,KAAK,CAAC;YAChC,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAExC,OAAO,uBAAC,mBAAI,IAAC,KAAK,EAAE,KAAK,YAAG,MAAM,CAAC,KAAK,CAAC,GAAQ,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export interface MarqueeProps {
|
|
4
|
+
/** Scroll speed in px/s (loop duration is derived from the content width). */
|
|
5
|
+
speed?: number;
|
|
6
|
+
/** Gap between the repeated copies (default the theme's `lg` spacing). */
|
|
7
|
+
gap?: number;
|
|
8
|
+
/** Style override on the clipping container. */
|
|
9
|
+
style?: StyleProp<ViewStyle>;
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Infinite horizontal loop — the native mirror of the web `Marquee`. The web
|
|
14
|
+
* version is a scroll-independent CSS keyframe loop, which maps directly onto
|
|
15
|
+
* React Native's `Animated` (no scroll position / `IntersectionObserver`
|
|
16
|
+
* needed), so unlike the pointer/scroll-driven `Parallax`/`TiltCard` this one
|
|
17
|
+
* *does* have a native form. The content is rendered twice; the track
|
|
18
|
+
* translates by one copy's width so the second copy seamlessly takes the
|
|
19
|
+
* first's place. Under the OS "Reduce Motion" setting it renders as a single
|
|
20
|
+
* static row. Motion-only — no literal colors.
|
|
21
|
+
*/
|
|
22
|
+
export declare function Marquee({ speed, gap, style, children, }: MarqueeProps): React.ReactElement;
|
|
23
|
+
//# sourceMappingURL=Marquee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Marquee.d.ts","sourceRoot":"","sources":["../../../src/native/motion/Marquee.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAItF,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAU,EACV,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAuDnC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Marquee = Marquee;
|
|
37
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
|
+
const React = __importStar(require("react"));
|
|
39
|
+
const react_native_1 = require("react-native");
|
|
40
|
+
const theme_1 = require("../theme");
|
|
41
|
+
const useReducedMotion_1 = require("../primitives/internal/useReducedMotion");
|
|
42
|
+
/**
|
|
43
|
+
* Infinite horizontal loop — the native mirror of the web `Marquee`. The web
|
|
44
|
+
* version is a scroll-independent CSS keyframe loop, which maps directly onto
|
|
45
|
+
* React Native's `Animated` (no scroll position / `IntersectionObserver`
|
|
46
|
+
* needed), so unlike the pointer/scroll-driven `Parallax`/`TiltCard` this one
|
|
47
|
+
* *does* have a native form. The content is rendered twice; the track
|
|
48
|
+
* translates by one copy's width so the second copy seamlessly takes the
|
|
49
|
+
* first's place. Under the OS "Reduce Motion" setting it renders as a single
|
|
50
|
+
* static row. Motion-only — no literal colors.
|
|
51
|
+
*/
|
|
52
|
+
function Marquee({ speed = 40, gap, style, children, }) {
|
|
53
|
+
const { tokens } = (0, theme_1.useXenitionTheme)();
|
|
54
|
+
const reduced = (0, useReducedMotion_1.useReducedMotion)();
|
|
55
|
+
const trackGap = gap ?? tokens.spacing.lg;
|
|
56
|
+
const [width, setWidth] = React.useState(0);
|
|
57
|
+
const x = React.useRef(new react_native_1.Animated.Value(0)).current;
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
if (reduced || width === 0 || speed <= 0)
|
|
60
|
+
return undefined;
|
|
61
|
+
const distance = width + trackGap;
|
|
62
|
+
const duration = (distance / speed) * 1000;
|
|
63
|
+
x.setValue(0);
|
|
64
|
+
const loop = react_native_1.Animated.loop(react_native_1.Animated.timing(x, {
|
|
65
|
+
toValue: -distance,
|
|
66
|
+
duration,
|
|
67
|
+
easing: react_native_1.Easing.linear,
|
|
68
|
+
useNativeDriver: true,
|
|
69
|
+
}));
|
|
70
|
+
loop.start();
|
|
71
|
+
return () => loop.stop();
|
|
72
|
+
}, [reduced, width, speed, trackGap, x]);
|
|
73
|
+
// Reduced motion: a single static row (still clipped so it can't overflow).
|
|
74
|
+
if (reduced) {
|
|
75
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [{ overflow: 'hidden' }, style], children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flexDirection: 'row', alignItems: 'center', gap: trackGap }, children: children }) }));
|
|
76
|
+
}
|
|
77
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [{ overflow: 'hidden' }, style], children: (0, jsx_runtime_1.jsxs)(react_native_1.Animated.View, { style: { flexDirection: 'row', alignItems: 'center', transform: [{ translateX: x }] }, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { onLayout: (e) => setWidth(e.nativeEvent.layout.width), style: { flexDirection: 'row', alignItems: 'center', gap: trackGap }, children: children }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flexDirection: 'row', alignItems: 'center', gap: trackGap, marginLeft: trackGap }, children: children })] }) }));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=Marquee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Marquee.js","sourceRoot":"","sources":["../../../src/native/motion/Marquee.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,0BA4DC;;AArFD,6CAA+B;AAC/B,+CAAsF;AACtF,oCAA4C;AAC5C,8EAA2E;AAY3E;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAC,EACtB,KAAK,GAAG,EAAE,EACV,GAAG,EACH,KAAK,EACL,QAAQ,GACK;IACb,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAgB,GAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAE1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,uBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,uBAAQ,CAAC,IAAI,CACxB,uBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,EAAE,CAAC,QAAQ;YAClB,QAAQ;YACR,MAAM,EAAE,qBAAM,CAAC,MAAM;YACrB,eAAe,EAAE,IAAI;SACtB,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,4EAA4E;IAC5E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,YAC1C,uBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YACvE,QAAQ,GACJ,GACF,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,YAC1C,wBAAC,uBAAQ,CAAC,IAAI,IACZ,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,aAErF,uBAAC,mBAAI,IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YAEnE,QAAQ,GACJ,EACP,uBAAC,mBAAI,IACH,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAEzF,QAAQ,GACJ,IACO,GACX,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -5,15 +5,20 @@
|
|
|
5
5
|
* "Reduce Motion" setting: content renders immediately with animations off.
|
|
6
6
|
*
|
|
7
7
|
* On mobile the norm is a **mount** entrance, so `Reveal` animates in on mount
|
|
8
|
-
* rather than on scroll
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* rather than on scroll, and `AnimatedCounter` counts on mount rather than on
|
|
9
|
+
* scroll-into-view. `Marquee` is a scroll-independent continuous loop, so it
|
|
10
|
+
* maps directly onto the RN `Animated` clock. The genuinely pointer/scroll-
|
|
11
|
+
* driven pieces (`Parallax`, `TiltCard`) remain **web-only** — they depend on
|
|
12
|
+
* scroll position / pointer events that have no direct React Native analogue;
|
|
13
|
+
* use them from `@xenition/ui/motion` in web templates.
|
|
13
14
|
*/
|
|
14
15
|
export { Reveal } from './Reveal';
|
|
15
16
|
export type { RevealProps, RevealEffect } from './Reveal';
|
|
16
17
|
export { Stagger } from './Stagger';
|
|
17
18
|
export type { StaggerProps, StaggerConfig } from './Stagger';
|
|
19
|
+
export { Marquee } from './Marquee';
|
|
20
|
+
export type { MarqueeProps } from './Marquee';
|
|
21
|
+
export { AnimatedCounter } from './AnimatedCounter';
|
|
22
|
+
export type { AnimatedCounterProps } from './AnimatedCounter';
|
|
18
23
|
export { useReducedMotion } from '../primitives/internal/useReducedMotion';
|
|
19
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/motion/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/motion/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC"}
|
|
@@ -6,18 +6,23 @@
|
|
|
6
6
|
* "Reduce Motion" setting: content renders immediately with animations off.
|
|
7
7
|
*
|
|
8
8
|
* On mobile the norm is a **mount** entrance, so `Reveal` animates in on mount
|
|
9
|
-
* rather than on scroll
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* rather than on scroll, and `AnimatedCounter` counts on mount rather than on
|
|
10
|
+
* scroll-into-view. `Marquee` is a scroll-independent continuous loop, so it
|
|
11
|
+
* maps directly onto the RN `Animated` clock. The genuinely pointer/scroll-
|
|
12
|
+
* driven pieces (`Parallax`, `TiltCard`) remain **web-only** — they depend on
|
|
13
|
+
* scroll position / pointer events that have no direct React Native analogue;
|
|
14
|
+
* use them from `@xenition/ui/motion` in web templates.
|
|
14
15
|
*/
|
|
15
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.useReducedMotion = exports.Stagger = exports.Reveal = void 0;
|
|
17
|
+
exports.useReducedMotion = exports.AnimatedCounter = exports.Marquee = exports.Stagger = exports.Reveal = void 0;
|
|
17
18
|
var Reveal_1 = require("./Reveal");
|
|
18
19
|
Object.defineProperty(exports, "Reveal", { enumerable: true, get: function () { return Reveal_1.Reveal; } });
|
|
19
20
|
var Stagger_1 = require("./Stagger");
|
|
20
21
|
Object.defineProperty(exports, "Stagger", { enumerable: true, get: function () { return Stagger_1.Stagger; } });
|
|
22
|
+
var Marquee_1 = require("./Marquee");
|
|
23
|
+
Object.defineProperty(exports, "Marquee", { enumerable: true, get: function () { return Marquee_1.Marquee; } });
|
|
24
|
+
var AnimatedCounter_1 = require("./AnimatedCounter");
|
|
25
|
+
Object.defineProperty(exports, "AnimatedCounter", { enumerable: true, get: function () { return AnimatedCounter_1.AnimatedCounter; } });
|
|
21
26
|
var useReducedMotion_1 = require("../primitives/internal/useReducedMotion");
|
|
22
27
|
Object.defineProperty(exports, "useReducedMotion", { enumerable: true, get: function () { return useReducedMotion_1.useReducedMotion; } });
|
|
23
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/motion/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/motion/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,4EAA2E;AAAlE,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type WordmarkSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface WordmarkProps {
|
|
5
|
+
/** Brand name rendered bold in the heading weight. */
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Leading logomark slot. Omit for the default themed token square; pass a
|
|
9
|
+
* node to override, or `null` to render the name alone.
|
|
10
|
+
*/
|
|
11
|
+
mark?: React.ReactNode;
|
|
12
|
+
/** Type + mark scale (default `md`). */
|
|
13
|
+
size?: WordmarkSize;
|
|
14
|
+
/** When set, the wordmark becomes pressable (the native swap for `as="a"`). */
|
|
15
|
+
onPress?: () => void;
|
|
16
|
+
style?: StyleProp<ViewStyle>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Themed brand wordmark — the native mirror of the web `Wordmark`. A token
|
|
20
|
+
* logomark square (primary, rounded) plus the name in bold `onSurface`. Native
|
|
21
|
+
* headings convey the heading font via weight (no `fontFamily`), matching every
|
|
22
|
+
* other native marketing/primitive component. Pass `onPress` to make it a
|
|
23
|
+
* tappable header brand; omit for a static label. Token-only — no literal
|
|
24
|
+
* colors.
|
|
25
|
+
*/
|
|
26
|
+
export declare function Wordmark({ name, mark, size, onPress, style, }: WordmarkProps): React.ReactElement;
|
|
27
|
+
//# sourceMappingURL=Wordmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wordmark.d.ts","sourceRoot":"","sources":["../../../src/native/primitives/Wordmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGrF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wCAAwC;IACxC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AASD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,EACJ,IAAW,EACX,OAAO,EACP,KAAK,GACN,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAuCpC"}
|