@oxyhq/bloom 0.23.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/index.js +20 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +20 -12
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/link-preview/LinkPreviewCard.js +141 -0
- package/lib/commonjs/link-preview/LinkPreviewCard.js.map +1 -0
- package/lib/commonjs/link-preview/index.js +13 -0
- package/lib/commonjs/link-preview/index.js.map +1 -0
- package/lib/commonjs/link-preview/types.js +6 -0
- package/lib/commonjs/link-preview/types.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/link-preview/LinkPreviewCard.js +135 -0
- package/lib/module/link-preview/LinkPreviewCard.js.map +1 -0
- package/lib/module/link-preview/index.js +4 -0
- package/lib/module/link-preview/index.js.map +1 -0
- package/lib/module/link-preview/types.js +4 -0
- package/lib/module/link-preview/types.js.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/link-preview/LinkPreviewCard.d.ts +24 -0
- package/lib/typescript/commonjs/link-preview/LinkPreviewCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/link-preview/index.d.ts +3 -0
- package/lib/typescript/commonjs/link-preview/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/link-preview/types.d.ts +44 -0
- package/lib/typescript/commonjs/link-preview/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/link-preview/LinkPreviewCard.d.ts +24 -0
- package/lib/typescript/module/link-preview/LinkPreviewCard.d.ts.map +1 -0
- package/lib/typescript/module/link-preview/index.d.ts +3 -0
- package/lib/typescript/module/link-preview/index.d.ts.map +1 -0
- package/lib/typescript/module/link-preview/types.d.ts +44 -0
- package/lib/typescript/module/link-preview/types.d.ts.map +1 -0
- package/package.json +18 -1
- package/src/__tests__/LinkPreviewCard.test.tsx +88 -0
- package/src/index.ts +2 -0
- package/src/index.web.ts +2 -0
- package/src/link-preview/LinkPreviewCard.tsx +160 -0
- package/src/link-preview/index.ts +2 -0
- package/src/link-preview/types.ts +44 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `LinkPreviewCard` — the canonical Oxy link-preview surface.
|
|
5
|
+
*
|
|
6
|
+
* One component renders the OpenGraph-style "cover image + site name + title +
|
|
7
|
+
* description" card across every Oxy app. It consumes the link-preview DATA
|
|
8
|
+
* produced by the Oxy SDK (`@oxyhq/core` `getLinkPreview` / `getLinkPreviews`,
|
|
9
|
+
* DTO `LinkPreview`) but takes a structural prop shape so Bloom never depends on
|
|
10
|
+
* `@oxyhq/contracts`.
|
|
11
|
+
*
|
|
12
|
+
* Styling is NativeWind-className-first (semantic Bloom utilities like
|
|
13
|
+
* `bg-card`, `border-border`, `text-foreground`, `text-muted-foreground`) with
|
|
14
|
+
* `useTheme()` Bloom tokens for the runtime-color and numeric-geometry values
|
|
15
|
+
* that have no clean utility — mirroring the `ContentPanel` idiom. The literal
|
|
16
|
+
* class strings must stay literal so a consumer's Tailwind content-scan over
|
|
17
|
+
* `lib/**` (and the native `src/**`) picks them up.
|
|
18
|
+
*
|
|
19
|
+
* The `image` prop is a plain absolute URL (e.g. a `cloud.oxy.so` OG image) and
|
|
20
|
+
* is rendered directly with the RN `Image` primitive — NOT through
|
|
21
|
+
* `ImageResolver` / `Avatar`, which resolve bare Oxy file IDs.
|
|
22
|
+
*/
|
|
23
|
+
import React, { memo, useCallback, useMemo } from 'react';
|
|
24
|
+
import { View, Text, Image, Pressable, Linking } from 'react-native';
|
|
25
|
+
import { useTheme } from "../theme/use-theme.js";
|
|
26
|
+
import { useInteractionState } from "../hooks/useInteractionState.js";
|
|
27
|
+
import { RADIUS } from "../design-tokens/scales.js";
|
|
28
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
+
/** Height (px) of the optional cover image at the top of the card. */
|
|
30
|
+
const COVER_IMAGE_HEIGHT = 160;
|
|
31
|
+
|
|
32
|
+
/** Opacity applied to the whole card while it is pressed. */
|
|
33
|
+
const PRESSED_OPACITY = 0.85;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Best-effort hostname for the siteName / title fallbacks. Returns `undefined`
|
|
37
|
+
* for an unparseable URL so the caller can fall back further (to the raw URL).
|
|
38
|
+
*/
|
|
39
|
+
function hostnameOf(url) {
|
|
40
|
+
try {
|
|
41
|
+
return new URL(url).hostname.replace(/^www\./, '');
|
|
42
|
+
} catch {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const LinkPreviewCardComponent = ({
|
|
47
|
+
url,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
image,
|
|
51
|
+
siteName,
|
|
52
|
+
coverFill = false,
|
|
53
|
+
onPress,
|
|
54
|
+
className,
|
|
55
|
+
style
|
|
56
|
+
}) => {
|
|
57
|
+
const {
|
|
58
|
+
colors
|
|
59
|
+
} = useTheme();
|
|
60
|
+
const {
|
|
61
|
+
state: pressed,
|
|
62
|
+
onIn: onPressIn,
|
|
63
|
+
onOut: onPressOut
|
|
64
|
+
} = useInteractionState();
|
|
65
|
+
const {
|
|
66
|
+
displaySiteName,
|
|
67
|
+
displayTitle
|
|
68
|
+
} = useMemo(() => {
|
|
69
|
+
const host = hostnameOf(url);
|
|
70
|
+
return {
|
|
71
|
+
displaySiteName: siteName ?? host,
|
|
72
|
+
displayTitle: title ?? host ?? url
|
|
73
|
+
};
|
|
74
|
+
}, [url, siteName, title]);
|
|
75
|
+
const handlePress = useCallback(() => {
|
|
76
|
+
if (onPress) {
|
|
77
|
+
onPress();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// No explicit handler: open the URL with the system handler. A rejected
|
|
81
|
+
// promise (unsupported scheme / no handler) is non-actionable for a
|
|
82
|
+
// presentational card, so it is swallowed rather than surfaced.
|
|
83
|
+
void Linking.openURL(url).catch(() => undefined);
|
|
84
|
+
}, [onPress, url]);
|
|
85
|
+
const surfaceClass = ['overflow-hidden border border-border bg-card', className].filter(Boolean).join(' ');
|
|
86
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
87
|
+
className: surfaceClass,
|
|
88
|
+
style: [{
|
|
89
|
+
borderRadius: RADIUS['radius-20']
|
|
90
|
+
}, pressed && {
|
|
91
|
+
opacity: PRESSED_OPACITY
|
|
92
|
+
}, style],
|
|
93
|
+
onPress: handlePress,
|
|
94
|
+
onPressIn: onPressIn,
|
|
95
|
+
onPressOut: onPressOut,
|
|
96
|
+
accessibilityRole: "link",
|
|
97
|
+
accessibilityLabel: displayTitle,
|
|
98
|
+
children: [image ? /*#__PURE__*/_jsx(Image, {
|
|
99
|
+
source: {
|
|
100
|
+
uri: image
|
|
101
|
+
},
|
|
102
|
+
resizeMode: "cover",
|
|
103
|
+
className: 'w-full',
|
|
104
|
+
style: {
|
|
105
|
+
// Fill-height mode: flex into the card's bounding height (supplied
|
|
106
|
+
// by the consumer via `style`), letting the text block stay a
|
|
107
|
+
// compact footer. Default mode: fixed intrinsic cover height.
|
|
108
|
+
...(coverFill ? {
|
|
109
|
+
flex: 1
|
|
110
|
+
} : {
|
|
111
|
+
height: COVER_IMAGE_HEIGHT
|
|
112
|
+
}),
|
|
113
|
+
backgroundColor: colors.backgroundTertiary
|
|
114
|
+
}
|
|
115
|
+
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
116
|
+
className: 'p-3',
|
|
117
|
+
children: [displaySiteName ? /*#__PURE__*/_jsx(Text, {
|
|
118
|
+
numberOfLines: 1,
|
|
119
|
+
className: 'text-xs font-medium uppercase tracking-wide text-muted-foreground',
|
|
120
|
+
children: displaySiteName
|
|
121
|
+
}) : null, displayTitle ? /*#__PURE__*/_jsx(Text, {
|
|
122
|
+
numberOfLines: 2,
|
|
123
|
+
className: 'text-[15px] font-semibold text-foreground mt-1',
|
|
124
|
+
children: displayTitle
|
|
125
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
numberOfLines: 2,
|
|
127
|
+
className: 'text-[13px] leading-[18px] text-muted-foreground mt-1',
|
|
128
|
+
children: description
|
|
129
|
+
}) : null]
|
|
130
|
+
})]
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
export const LinkPreviewCard = /*#__PURE__*/memo(LinkPreviewCardComponent);
|
|
134
|
+
LinkPreviewCard.displayName = 'LinkPreviewCard';
|
|
135
|
+
//# sourceMappingURL=LinkPreviewCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","View","Text","Image","Pressable","Linking","useTheme","useInteractionState","RADIUS","jsx","_jsx","jsxs","_jsxs","COVER_IMAGE_HEIGHT","PRESSED_OPACITY","hostnameOf","url","URL","hostname","replace","undefined","LinkPreviewCardComponent","title","description","image","siteName","coverFill","onPress","className","style","colors","state","pressed","onIn","onPressIn","onOut","onPressOut","displaySiteName","displayTitle","host","handlePress","openURL","catch","surfaceClass","filter","Boolean","join","borderRadius","opacity","accessibilityRole","accessibilityLabel","children","source","uri","resizeMode","flex","height","backgroundColor","backgroundTertiary","numberOfLines","LinkPreviewCard","displayName"],"sourceRoot":"../../../src","sources":["link-preview/LinkPreviewCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LinkPreviewCard"],"sourceRoot":"../../../src","sources":["link-preview/index.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,sBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["link-preview/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -61,6 +61,8 @@ export * from './chip';
|
|
|
61
61
|
export * from './tabs';
|
|
62
62
|
export * from './checkbox';
|
|
63
63
|
export * from './accordion';
|
|
64
|
+
export { LinkPreviewCard } from './link-preview';
|
|
65
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
64
66
|
export * from './settings-list';
|
|
65
67
|
export { Item } from './item';
|
|
66
68
|
export type { ItemProps } from './item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ export * from './chip';
|
|
|
61
61
|
export * from './tabs';
|
|
62
62
|
export * from './checkbox';
|
|
63
63
|
export * from './accordion';
|
|
64
|
+
export { LinkPreviewCard } from './link-preview';
|
|
65
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
64
66
|
export * from './settings-list';
|
|
65
67
|
export { Item } from './item';
|
|
66
68
|
export type { ItemProps } from './item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `LinkPreviewCard` — the canonical Oxy link-preview surface.
|
|
3
|
+
*
|
|
4
|
+
* One component renders the OpenGraph-style "cover image + site name + title +
|
|
5
|
+
* description" card across every Oxy app. It consumes the link-preview DATA
|
|
6
|
+
* produced by the Oxy SDK (`@oxyhq/core` `getLinkPreview` / `getLinkPreviews`,
|
|
7
|
+
* DTO `LinkPreview`) but takes a structural prop shape so Bloom never depends on
|
|
8
|
+
* `@oxyhq/contracts`.
|
|
9
|
+
*
|
|
10
|
+
* Styling is NativeWind-className-first (semantic Bloom utilities like
|
|
11
|
+
* `bg-card`, `border-border`, `text-foreground`, `text-muted-foreground`) with
|
|
12
|
+
* `useTheme()` Bloom tokens for the runtime-color and numeric-geometry values
|
|
13
|
+
* that have no clean utility — mirroring the `ContentPanel` idiom. The literal
|
|
14
|
+
* class strings must stay literal so a consumer's Tailwind content-scan over
|
|
15
|
+
* `lib/**` (and the native `src/**`) picks them up.
|
|
16
|
+
*
|
|
17
|
+
* The `image` prop is a plain absolute URL (e.g. a `cloud.oxy.so` OG image) and
|
|
18
|
+
* is rendered directly with the RN `Image` primitive — NOT through
|
|
19
|
+
* `ImageResolver` / `Avatar`, which resolve bare Oxy file IDs.
|
|
20
|
+
*/
|
|
21
|
+
import React from 'react';
|
|
22
|
+
import type { LinkPreviewCardProps } from './types';
|
|
23
|
+
export declare const LinkPreviewCard: React.NamedExoticComponent<LinkPreviewCardProps>;
|
|
24
|
+
//# sourceMappingURL=LinkPreviewCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkPreviewCard.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/LinkPreviewCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAqC,MAAM,OAAO,CAAC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA8HpD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link LinkPreviewCard}.
|
|
4
|
+
*
|
|
5
|
+
* Structural by design — Bloom does NOT depend on `@oxyhq/contracts`. The shape
|
|
6
|
+
* mirrors the subset of the Oxy SDK's `LinkPreview` DTO (`@oxyhq/core`
|
|
7
|
+
* `getLinkPreview` / `getLinkPreviews`) that is needed to render a preview, so a
|
|
8
|
+
* consumer can spread an SDK `LinkPreview` straight onto this component.
|
|
9
|
+
*/
|
|
10
|
+
export interface LinkPreviewCardProps {
|
|
11
|
+
/** The previewed URL. Opened via `Linking.openURL` when `onPress` is omitted. */
|
|
12
|
+
url: string;
|
|
13
|
+
/** OpenGraph / page title. Falls back to the URL hostname when absent. */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** OpenGraph / meta description. */
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Absolute cover-image URL (e.g. a `cloud.oxy.so` OG image). Rendered directly
|
|
19
|
+
* with the RN `Image` primitive — NOT through `ImageResolver` / `Avatar`, which
|
|
20
|
+
* are for bare Oxy file IDs.
|
|
21
|
+
*/
|
|
22
|
+
image?: string;
|
|
23
|
+
/** Site / brand name shown above the title. Falls back to the URL hostname. */
|
|
24
|
+
siteName?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Fill-height mode for the cover image. Defaults to `false`.
|
|
27
|
+
*
|
|
28
|
+
* - `false` (default): the cover image keeps its fixed intrinsic height —
|
|
29
|
+
* correct when the card sizes itself (e.g. a link rendered alone).
|
|
30
|
+
* - `true`: the cover image flexes (`flex: 1`, no fixed height) to fill
|
|
31
|
+
* whatever vertical space the card is given, with the text block as a
|
|
32
|
+
* compact intrinsic-height footer below it. The consumer supplies the
|
|
33
|
+
* bounding height via `style` (e.g. `style={{ height: 180 }}`) so the card
|
|
34
|
+
* fits a fixed-height row alongside other attachments without overflowing.
|
|
35
|
+
*/
|
|
36
|
+
coverFill?: boolean;
|
|
37
|
+
/** Press handler. When omitted, the card opens `url` via `Linking.openURL`. */
|
|
38
|
+
onPress?: () => void;
|
|
39
|
+
/** Extra NativeWind utilities merged onto the card surface. */
|
|
40
|
+
className?: string;
|
|
41
|
+
/** Extra style merged onto the card surface. */
|
|
42
|
+
style?: StyleProp<ViewStyle>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
|
|
@@ -61,6 +61,8 @@ export * from './chip';
|
|
|
61
61
|
export * from './tabs';
|
|
62
62
|
export * from './checkbox';
|
|
63
63
|
export * from './accordion';
|
|
64
|
+
export { LinkPreviewCard } from './link-preview';
|
|
65
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
64
66
|
export * from './settings-list';
|
|
65
67
|
export { Item } from './item';
|
|
66
68
|
export type { ItemProps } from './item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ export * from './chip';
|
|
|
61
61
|
export * from './tabs';
|
|
62
62
|
export * from './checkbox';
|
|
63
63
|
export * from './accordion';
|
|
64
|
+
export { LinkPreviewCard } from './link-preview';
|
|
65
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
64
66
|
export * from './settings-list';
|
|
65
67
|
export { Item } from './item';
|
|
66
68
|
export type { ItemProps } from './item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `LinkPreviewCard` — the canonical Oxy link-preview surface.
|
|
3
|
+
*
|
|
4
|
+
* One component renders the OpenGraph-style "cover image + site name + title +
|
|
5
|
+
* description" card across every Oxy app. It consumes the link-preview DATA
|
|
6
|
+
* produced by the Oxy SDK (`@oxyhq/core` `getLinkPreview` / `getLinkPreviews`,
|
|
7
|
+
* DTO `LinkPreview`) but takes a structural prop shape so Bloom never depends on
|
|
8
|
+
* `@oxyhq/contracts`.
|
|
9
|
+
*
|
|
10
|
+
* Styling is NativeWind-className-first (semantic Bloom utilities like
|
|
11
|
+
* `bg-card`, `border-border`, `text-foreground`, `text-muted-foreground`) with
|
|
12
|
+
* `useTheme()` Bloom tokens for the runtime-color and numeric-geometry values
|
|
13
|
+
* that have no clean utility — mirroring the `ContentPanel` idiom. The literal
|
|
14
|
+
* class strings must stay literal so a consumer's Tailwind content-scan over
|
|
15
|
+
* `lib/**` (and the native `src/**`) picks them up.
|
|
16
|
+
*
|
|
17
|
+
* The `image` prop is a plain absolute URL (e.g. a `cloud.oxy.so` OG image) and
|
|
18
|
+
* is rendered directly with the RN `Image` primitive — NOT through
|
|
19
|
+
* `ImageResolver` / `Avatar`, which resolve bare Oxy file IDs.
|
|
20
|
+
*/
|
|
21
|
+
import React from 'react';
|
|
22
|
+
import type { LinkPreviewCardProps } from './types';
|
|
23
|
+
export declare const LinkPreviewCard: React.NamedExoticComponent<LinkPreviewCardProps>;
|
|
24
|
+
//# sourceMappingURL=LinkPreviewCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkPreviewCard.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/LinkPreviewCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAqC,MAAM,OAAO,CAAC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA8HpD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link LinkPreviewCard}.
|
|
4
|
+
*
|
|
5
|
+
* Structural by design — Bloom does NOT depend on `@oxyhq/contracts`. The shape
|
|
6
|
+
* mirrors the subset of the Oxy SDK's `LinkPreview` DTO (`@oxyhq/core`
|
|
7
|
+
* `getLinkPreview` / `getLinkPreviews`) that is needed to render a preview, so a
|
|
8
|
+
* consumer can spread an SDK `LinkPreview` straight onto this component.
|
|
9
|
+
*/
|
|
10
|
+
export interface LinkPreviewCardProps {
|
|
11
|
+
/** The previewed URL. Opened via `Linking.openURL` when `onPress` is omitted. */
|
|
12
|
+
url: string;
|
|
13
|
+
/** OpenGraph / page title. Falls back to the URL hostname when absent. */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** OpenGraph / meta description. */
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Absolute cover-image URL (e.g. a `cloud.oxy.so` OG image). Rendered directly
|
|
19
|
+
* with the RN `Image` primitive — NOT through `ImageResolver` / `Avatar`, which
|
|
20
|
+
* are for bare Oxy file IDs.
|
|
21
|
+
*/
|
|
22
|
+
image?: string;
|
|
23
|
+
/** Site / brand name shown above the title. Falls back to the URL hostname. */
|
|
24
|
+
siteName?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Fill-height mode for the cover image. Defaults to `false`.
|
|
27
|
+
*
|
|
28
|
+
* - `false` (default): the cover image keeps its fixed intrinsic height —
|
|
29
|
+
* correct when the card sizes itself (e.g. a link rendered alone).
|
|
30
|
+
* - `true`: the cover image flexes (`flex: 1`, no fixed height) to fill
|
|
31
|
+
* whatever vertical space the card is given, with the text block as a
|
|
32
|
+
* compact intrinsic-height footer below it. The consumer supplies the
|
|
33
|
+
* bounding height via `style` (e.g. `style={{ height: 180 }}`) so the card
|
|
34
|
+
* fits a fixed-height row alongside other attachments without overflowing.
|
|
35
|
+
*/
|
|
36
|
+
coverFill?: boolean;
|
|
37
|
+
/** Press handler. When omitted, the card opens `url` via `Linking.openURL`. */
|
|
38
|
+
onPress?: () => void;
|
|
39
|
+
/** Extra NativeWind utilities merged onto the card surface. */
|
|
40
|
+
className?: string;
|
|
41
|
+
/** Extra style merged onto the card surface. */
|
|
42
|
+
style?: StyleProp<ViewStyle>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/link-preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/bloom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -735,6 +735,17 @@
|
|
|
735
735
|
"default": "./lib/commonjs/settings-list/index.js"
|
|
736
736
|
}
|
|
737
737
|
},
|
|
738
|
+
"./link-preview": {
|
|
739
|
+
"react-native": "./src/link-preview/index.ts",
|
|
740
|
+
"import": {
|
|
741
|
+
"types": "./lib/typescript/module/link-preview/index.d.ts",
|
|
742
|
+
"default": "./lib/module/link-preview/index.js"
|
|
743
|
+
},
|
|
744
|
+
"require": {
|
|
745
|
+
"types": "./lib/typescript/commonjs/link-preview/index.d.ts",
|
|
746
|
+
"default": "./lib/commonjs/link-preview/index.js"
|
|
747
|
+
}
|
|
748
|
+
},
|
|
738
749
|
"./code": {
|
|
739
750
|
"react-native": "./src/code/index.ts",
|
|
740
751
|
"import": {
|
|
@@ -984,5 +995,11 @@
|
|
|
984
995
|
"nanoid": "^5.1.5",
|
|
985
996
|
"react-native-css": "3.0.7",
|
|
986
997
|
"react-remove-scroll-bar": "^2.3.8"
|
|
998
|
+
},
|
|
999
|
+
"overrides": {
|
|
1000
|
+
"basic-ftp": "5.2.2",
|
|
1001
|
+
"defu": "6.1.7",
|
|
1002
|
+
"handlebars": "4.7.9",
|
|
1003
|
+
"lodash": "4.18.1"
|
|
987
1004
|
}
|
|
988
1005
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, Linking } from 'react-native';
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
|
|
5
|
+
import { BloomThemeProvider } from '../theme/BloomThemeProvider';
|
|
6
|
+
import { LinkPreviewCard } from '../link-preview';
|
|
7
|
+
|
|
8
|
+
function renderWithTheme(ui: React.ReactElement) {
|
|
9
|
+
return render(
|
|
10
|
+
<BloomThemeProvider mode="light" colorPreset="teal">
|
|
11
|
+
{ui}
|
|
12
|
+
</BloomThemeProvider>,
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
describe('LinkPreviewCard', () => {
|
|
17
|
+
it('renders the site name, title and description', () => {
|
|
18
|
+
const { getByText } = renderWithTheme(
|
|
19
|
+
<LinkPreviewCard
|
|
20
|
+
url="https://example.com/article"
|
|
21
|
+
siteName="Example"
|
|
22
|
+
title="A great article"
|
|
23
|
+
description="The summary of the article."
|
|
24
|
+
/>,
|
|
25
|
+
);
|
|
26
|
+
expect(getByText('Example')).toBeTruthy();
|
|
27
|
+
expect(getByText('A great article')).toBeTruthy();
|
|
28
|
+
expect(getByText('The summary of the article.')).toBeTruthy();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('falls back to the URL hostname for the title and site name', () => {
|
|
32
|
+
const { getAllByText } = renderWithTheme(
|
|
33
|
+
<LinkPreviewCard url="https://www.example.com/path" />,
|
|
34
|
+
);
|
|
35
|
+
// `www.` is stripped; the bare hostname is used for both the site name line
|
|
36
|
+
// and the title fallback.
|
|
37
|
+
expect(getAllByText('example.com').length).toBe(2);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('calls the supplied onPress handler', () => {
|
|
41
|
+
const onPress = jest.fn();
|
|
42
|
+
const { getByLabelText } = renderWithTheme(
|
|
43
|
+
<LinkPreviewCard url="https://example.com" title="Pressable" onPress={onPress} />,
|
|
44
|
+
);
|
|
45
|
+
fireEvent.press(getByLabelText('Pressable'));
|
|
46
|
+
expect(onPress).toHaveBeenCalledTimes(1);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('opens the URL via Linking when no onPress is supplied', () => {
|
|
50
|
+
const openURL = jest
|
|
51
|
+
.spyOn(Linking, 'openURL')
|
|
52
|
+
.mockResolvedValue(undefined);
|
|
53
|
+
const { getByLabelText } = renderWithTheme(
|
|
54
|
+
<LinkPreviewCard url="https://example.com/open" title="Open me" />,
|
|
55
|
+
);
|
|
56
|
+
fireEvent.press(getByLabelText('Open me'));
|
|
57
|
+
expect(openURL).toHaveBeenCalledWith('https://example.com/open');
|
|
58
|
+
openURL.mockRestore();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('gives the cover image a fixed height by default (coverFill omitted)', () => {
|
|
62
|
+
const { UNSAFE_getByType } = renderWithTheme(
|
|
63
|
+
<LinkPreviewCard
|
|
64
|
+
url="https://example.com"
|
|
65
|
+
title="Fixed"
|
|
66
|
+
image="https://cdn.example.com/og.png"
|
|
67
|
+
/>,
|
|
68
|
+
);
|
|
69
|
+
const imageStyle = UNSAFE_getByType(Image).props.style as Record<string, unknown>;
|
|
70
|
+
expect(imageStyle.height).toBe(160);
|
|
71
|
+
expect(imageStyle.flex).toBeUndefined();
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('flexes the cover image (no fixed height) when coverFill is true', () => {
|
|
75
|
+
const { UNSAFE_getByType } = renderWithTheme(
|
|
76
|
+
<LinkPreviewCard
|
|
77
|
+
url="https://example.com"
|
|
78
|
+
title="Fill"
|
|
79
|
+
image="https://cdn.example.com/og.png"
|
|
80
|
+
coverFill
|
|
81
|
+
style={{ height: 180 }}
|
|
82
|
+
/>,
|
|
83
|
+
);
|
|
84
|
+
const imageStyle = UNSAFE_getByType(Image).props.style as Record<string, unknown>;
|
|
85
|
+
expect(imageStyle.flex).toBe(1);
|
|
86
|
+
expect(imageStyle.height).toBeUndefined();
|
|
87
|
+
});
|
|
88
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -129,6 +129,8 @@ export * from './chip';
|
|
|
129
129
|
export * from './tabs';
|
|
130
130
|
export * from './checkbox';
|
|
131
131
|
export * from './accordion';
|
|
132
|
+
export { LinkPreviewCard } from './link-preview';
|
|
133
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
132
134
|
|
|
133
135
|
// Settings / Grouped list
|
|
134
136
|
export * from './settings-list';
|
package/src/index.web.ts
CHANGED
|
@@ -134,6 +134,8 @@ export * from './chip';
|
|
|
134
134
|
export * from './tabs';
|
|
135
135
|
export * from './checkbox';
|
|
136
136
|
export * from './accordion';
|
|
137
|
+
export { LinkPreviewCard } from './link-preview';
|
|
138
|
+
export type { LinkPreviewCardProps } from './link-preview';
|
|
137
139
|
|
|
138
140
|
// Settings / Grouped list
|
|
139
141
|
export * from './settings-list';
|