@oxyhq/bloom 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/content-panel/index.js +12 -6
- package/lib/commonjs/content-panel/index.js.map +1 -1
- package/lib/commonjs/content-panel/index.web.js +31 -21
- package/lib/commonjs/content-panel/index.web.js.map +1 -1
- package/lib/commonjs/content-panel/nesting-context.js +39 -0
- package/lib/commonjs/content-panel/nesting-context.js.map +1 -0
- 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 +133 -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/content-panel/index.js +12 -6
- package/lib/module/content-panel/index.js.map +1 -1
- package/lib/module/content-panel/index.web.js +31 -21
- package/lib/module/content-panel/index.web.js.map +1 -1
- package/lib/module/content-panel/nesting-context.js +35 -0
- package/lib/module/content-panel/nesting-context.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 +127 -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/content-panel/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/content-panel/nesting-context.d.ts +24 -0
- package/lib/typescript/commonjs/content-panel/nesting-context.d.ts.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 +32 -0
- package/lib/typescript/commonjs/link-preview/types.d.ts.map +1 -0
- package/lib/typescript/module/content-panel/index.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/index.web.d.ts.map +1 -1
- package/lib/typescript/module/content-panel/nesting-context.d.ts +24 -0
- package/lib/typescript/module/content-panel/nesting-context.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 +32 -0
- package/lib/typescript/module/link-preview/types.d.ts.map +1 -0
- package/package.json +18 -1
- package/src/__tests__/ContentPanelNesting.test.tsx +52 -0
- package/src/__tests__/LinkPreviewCard.test.tsx +60 -0
- package/src/content-panel/index.tsx +18 -8
- package/src/content-panel/index.web.tsx +40 -29
- package/src/content-panel/nesting-context.ts +35 -0
- package/src/index.ts +2 -0
- package/src/index.web.ts +2 -0
- package/src/link-preview/LinkPreviewCard.tsx +156 -0
- package/src/link-preview/index.ts +2 -0
- package/src/link-preview/types.ts +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_useInteractionState","_scales","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","COVER_IMAGE_HEIGHT","PRESSED_OPACITY","hostnameOf","url","URL","hostname","replace","undefined","LinkPreviewCardComponent","title","description","image","siteName","onPress","className","style","colors","useTheme","state","pressed","onIn","onPressIn","onOut","onPressOut","useInteractionState","displaySiteName","displayTitle","useMemo","host","handlePress","useCallback","Linking","openURL","catch","surfaceClass","filter","Boolean","join","jsxs","Pressable","borderRadius","RADIUS","opacity","accessibilityRole","accessibilityLabel","children","jsx","Image","source","uri","resizeMode","height","backgroundColor","backgroundTertiary","View","Text","numberOfLines","LinkPreviewCard","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["link-preview/LinkPreviewCard.tsx"],"mappings":";;;;;;AAoBA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAiD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AA/BjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA,MAAMkB,kBAAkB,GAAG,GAAG;;AAE9B;AACA,MAAMC,eAAe,GAAG,IAAI;;AAE5B;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,GAAW,EAAsB;EACnD,IAAI;IACF,OAAO,IAAIC,GAAG,CAACD,GAAG,CAAC,CAACE,QAAQ,CAACC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;EACpD,CAAC,CAAC,MAAM;IACN,OAAOC,SAAS;EAClB;AACF;AAEA,MAAMC,wBAAwD,GAAGA,CAAC;EAChEL,GAAG;EACHM,KAAK;EACLC,WAAW;EACXC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAC7B,MAAM;IAAEC,KAAK,EAAEC,OAAO;IAAEC,IAAI,EAAEC,SAAS;IAAEC,KAAK,EAAEC;EAAW,CAAC,GAC1D,IAAAC,wCAAmB,EAAC,CAAC;EAEvB,MAAM;IAAEC,eAAe;IAAEC;EAAa,CAAC,GAAG,IAAAC,cAAO,EAAC,MAAM;IACtD,MAAMC,IAAI,GAAG1B,UAAU,CAACC,GAAG,CAAC;IAC5B,OAAO;MACLsB,eAAe,EAAEb,QAAQ,IAAIgB,IAAI;MACjCF,YAAY,EAAEjB,KAAK,IAAImB,IAAI,IAAIzB;IACjC,CAAC;EACH,CAAC,EAAE,CAACA,GAAG,EAAES,QAAQ,EAAEH,KAAK,CAAC,CAAC;EAE1B,MAAMoB,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpC,IAAIjB,OAAO,EAAE;MACXA,OAAO,CAAC,CAAC;MACT;IACF;IACA;IACA;IACA;IACA,KAAKkB,oBAAO,CAACC,OAAO,CAAC7B,GAAG,CAAC,CAAC8B,KAAK,CAAC,MAAM1B,SAAS,CAAC;EAClD,CAAC,EAAE,CAACM,OAAO,EAAEV,GAAG,CAAC,CAAC;EAElB,MAAM+B,YAAY,GAAG,CAAC,8CAA8C,EAAEpB,SAAS,CAAC,CAC7EqB,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;EAEZ,oBACE,IAAAzD,WAAA,CAAA0D,IAAA,EAAC9D,YAAA,CAAA+D,SAAS;IACDzB,SAAS,EAAEoB,YAAY;IAC9BnB,KAAK,EAAE,CACL;MAAEyB,YAAY,EAAEC,cAAM,CAAC,WAAW;IAAE,CAAC,EACrCtB,OAAO,IAAI;MAAEuB,OAAO,EAAEzC;IAAgB,CAAC,EACvCc,KAAK,CACL;IACFF,OAAO,EAAEgB,WAAY;IACrBR,SAAS,EAAEA,SAAU;IACrBE,UAAU,EAAEA,UAAW;IACvBoB,iBAAiB,EAAC,MAAM;IACxBC,kBAAkB,EAAElB,YAAa;IAAAmB,QAAA,GAEhClC,KAAK,gBACJ,IAAA/B,WAAA,CAAAkE,GAAA,EAACtE,YAAA,CAAAuE,KAAK;MACJC,MAAM,EAAE;QAAEC,GAAG,EAAEtC;MAAM,CAAE;MACvBuC,UAAU,EAAC,OAAO;MACXpC,SAAS,EAAE,QAAQ;MAC1BC,KAAK,EAAE;QACLoC,MAAM,EAAEnD,kBAAkB;QAC1BoD,eAAe,EAAEpC,MAAM,CAACqC;MAC1B;IAAE,CACH,CAAC,GACA,IAAI,eAER,IAAAzE,WAAA,CAAA0D,IAAA,EAAC9D,YAAA,CAAA8E,IAAI;MAAQxC,SAAS,EAAE,KAAK;MAAA+B,QAAA,GAC1BpB,eAAe,gBACd,IAAA7C,WAAA,CAAAkE,GAAA,EAACtE,YAAA,CAAA+E,IAAI;QACHC,aAAa,EAAE,CAAE;QAEf1C,SAAS,EACP,mEAAmE;QAAA+B,QAAA,EAGtEpB;MAAe,CACZ,CAAC,GACL,IAAI,EAEPC,YAAY,gBACX,IAAA9C,WAAA,CAAAkE,GAAA,EAACtE,YAAA,CAAA+E,IAAI;QACHC,aAAa,EAAE,CAAE;QAEf1C,SAAS,EAAE,gDAAgD;QAAA+B,QAAA,EAG5DnB;MAAY,CACT,CAAC,GACL,IAAI,EAEPhB,WAAW,gBACV,IAAA9B,WAAA,CAAAkE,GAAA,EAACtE,YAAA,CAAA+E,IAAI;QACHC,aAAa,EAAE,CAAE;QAEf1C,SAAS,EAAE,uDAAuD;QAAA+B,QAAA,EAGnEnC;MAAW,CACR,CAAC,GACL,IAAI;IAAA,CACJ,CAAC;EAAA,CACE,CAAC;AAEhB,CAAC;AAEM,MAAM+C,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAG,IAAAE,WAAI,EAACnD,wBAAwB,CAAC;AAC7DiD,eAAe,CAACG,WAAW,GAAG,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "LinkPreviewCard", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _LinkPreviewCard.LinkPreviewCard;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _LinkPreviewCard = require("./LinkPreviewCard.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_LinkPreviewCard","require"],"sourceRoot":"../../../src","sources":["link-preview/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["link-preview/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import React, { memo } from 'react';
|
|
26
26
|
import { View } from 'react-native';
|
|
27
|
+
import { ContentPanelNestingContext, useContentPanelNestingGuard } from "./nesting-context.js";
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Width (in px) of the WEB sticky gutter-mask box-shadow ring. Exported for
|
|
@@ -42,15 +43,20 @@ const ContentPanelComponent = ({
|
|
|
42
43
|
contentClassName,
|
|
43
44
|
contentStyle
|
|
44
45
|
}) => {
|
|
46
|
+
// Dev-only invariant — a ContentPanel must never be nested inside another.
|
|
47
|
+
useContentPanelNestingGuard();
|
|
45
48
|
const surfaceClass = ['flex-1', 'rounded-radius-28', 'overflow-hidden border border-border', surfaceClassName ?? 'bg-card'].join(' ');
|
|
46
49
|
const contentClass = ['flex-1', contentClassName].filter(Boolean).join(' ');
|
|
47
|
-
return /*#__PURE__*/_jsx(
|
|
48
|
-
|
|
49
|
-
style: surfaceStyle,
|
|
50
|
+
return /*#__PURE__*/_jsx(ContentPanelNestingContext.Provider, {
|
|
51
|
+
value: true,
|
|
50
52
|
children: /*#__PURE__*/_jsx(View, {
|
|
51
|
-
className:
|
|
52
|
-
style:
|
|
53
|
-
children:
|
|
53
|
+
className: surfaceClass,
|
|
54
|
+
style: surfaceStyle,
|
|
55
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
56
|
+
className: contentClass,
|
|
57
|
+
style: contentStyle,
|
|
58
|
+
children: children
|
|
59
|
+
})
|
|
54
60
|
})
|
|
55
61
|
});
|
|
56
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","View","jsx","_jsx","GUTTER_MASK_SPREAD","PANEL_TOP_INSET","PANEL_BOTTOM_INSET","ContentPanelComponent","children","surfaceClassName","surfaceStyle","contentClassName","contentStyle","surfaceClass","join","contentClass","filter","Boolean","className","style","ContentPanel","displayName"],"sourceRoot":"../../../src","sources":["content-panel/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAwC,cAAc;;
|
|
1
|
+
{"version":3,"names":["React","memo","View","ContentPanelNestingContext","useContentPanelNestingGuard","jsx","_jsx","GUTTER_MASK_SPREAD","PANEL_TOP_INSET","PANEL_BOTTOM_INSET","ContentPanelComponent","children","surfaceClassName","surfaceStyle","contentClassName","contentStyle","surfaceClass","join","contentClass","filter","Boolean","Provider","value","className","style","ContentPanel","displayName"],"sourceRoot":"../../../src","sources":["content-panel/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAwC,cAAc;AAEnE,SACEC,0BAA0B,EAC1BC,2BAA2B,QACtB,sBAAmB;;AAE1B;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAIA,OAAO,MAAMC,kBAAkB,GAAG,EAAE;AACpC;AACA,OAAO,MAAMC,eAAe,GAAG,CAAC;AAChC;AACA,OAAO,MAAMC,kBAAkB,GAAG,CAAC;AA2BnC,MAAMC,qBAAkD,GAAGA,CAAC;EAC1DC,QAAQ;EACRC,gBAAgB;EAChBC,YAAY;EACZC,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ;EACAX,2BAA2B,CAAC,CAAC;EAE7B,MAAMY,YAAY,GAAG,CACnB,QAAQ,EACR,mBAAmB,EACnB,sCAAsC,EACtCJ,gBAAgB,IAAI,SAAS,CAC9B,CAACK,IAAI,CAAC,GAAG,CAAC;EACX,MAAMC,YAAY,GAAG,CAAC,QAAQ,EAAEJ,gBAAgB,CAAC,CAACK,MAAM,CAACC,OAAO,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC;EAE3E,oBACEX,IAAA,CAACH,0BAA0B,CAACkB,QAAQ;IAACC,KAAK,EAAE,IAAK;IAAAX,QAAA,eAC/CL,IAAA,CAACJ,IAAI;MACIqB,SAAS,EAAEP,YAAY;MAC9BQ,KAAK,EAAEX,YAAa;MAAAF,QAAA,eAEpBL,IAAA,CAACJ,IAAI;QACIqB,SAAS,EAAEL,YAAY;QAC9BM,KAAK,EAAET,YAAa;QAAAJ,QAAA,EAEnBA;MAAQ,CACL;IAAC,CACH;EAAC,CAC4B,CAAC;AAE1C,CAAC;AAED,OAAO,MAAMc,YAAY,gBAAGxB,IAAI,CAACS,qBAAqB,CAAC;AACvDe,YAAY,CAACC,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
import React, { memo } from 'react';
|
|
40
40
|
import { View } from 'react-native';
|
|
41
41
|
import { useTheme } from "../theme/use-theme.js";
|
|
42
|
+
import { ContentPanelNestingContext, useContentPanelNestingGuard } from "./nesting-context.js";
|
|
42
43
|
|
|
43
44
|
/** Width (in px) of the sticky gutter-mask box-shadow ring. */
|
|
44
45
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -57,37 +58,46 @@ const ContentPanelComponent = ({
|
|
|
57
58
|
showStickyFrame,
|
|
58
59
|
maskColor
|
|
59
60
|
}) => {
|
|
61
|
+
// Dev-only invariant — must run unconditionally before the early `!framed`
|
|
62
|
+
// return so the hook order stays stable across renders (rules of hooks).
|
|
63
|
+
useContentPanelNestingGuard();
|
|
60
64
|
const {
|
|
61
65
|
colors
|
|
62
66
|
} = useTheme();
|
|
63
67
|
if (!framed) {
|
|
64
68
|
// Full-bleed: a single flat surface. No rounding, no sticky overlays.
|
|
65
69
|
const fullBleedClass = ['flex-1', surfaceClassName ?? 'bg-card', contentClassName].filter(Boolean).join(' ');
|
|
66
|
-
return /*#__PURE__*/_jsx(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
return /*#__PURE__*/_jsx(ContentPanelNestingContext.Provider, {
|
|
71
|
+
value: true,
|
|
72
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
73
|
+
className: fullBleedClass,
|
|
74
|
+
style: [surfaceStyle, contentStyle],
|
|
75
|
+
children: children
|
|
76
|
+
})
|
|
70
77
|
});
|
|
71
78
|
}
|
|
72
79
|
const surfaceClass = ['flex-1', 'rounded-radius-28', surfaceClassName ?? 'bg-card'].join(' ');
|
|
73
80
|
const contentClass = ['flex-1', 'rounded-radius-28 web:overflow-x-clip', contentClassName].filter(Boolean).join(' ');
|
|
74
|
-
return /*#__PURE__*/
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
return /*#__PURE__*/_jsx(ContentPanelNestingContext.Provider, {
|
|
82
|
+
value: true,
|
|
83
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
84
|
+
className: surfaceClass,
|
|
85
|
+
style: surfaceStyle,
|
|
86
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
87
|
+
pointerEvents: "none",
|
|
88
|
+
className: 'web:sticky web:top-2 z-30 h-[calc(100dvh-16px)] w-full rounded-radius-28 web:[margin-bottom:calc(-100dvh+16px)] web:[clip-path:inset(-12px)]',
|
|
89
|
+
style: {
|
|
90
|
+
boxShadow: `0 0 0 ${GUTTER_MASK_SPREAD}px ${maskColor ?? colors.background}`
|
|
91
|
+
}
|
|
92
|
+
}), showStickyFrame !== false && /*#__PURE__*/_jsx(View, {
|
|
93
|
+
pointerEvents: "none",
|
|
94
|
+
className: 'web:sticky web:top-2 z-[120] h-[calc(100dvh-16px)] w-full rounded-radius-28 border border-border web:[margin-bottom:calc(-100dvh+16px)]'
|
|
95
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
96
|
+
className: contentClass,
|
|
97
|
+
style: contentStyle,
|
|
98
|
+
children: children
|
|
99
|
+
})]
|
|
100
|
+
})
|
|
91
101
|
});
|
|
92
102
|
};
|
|
93
103
|
export const ContentPanel = /*#__PURE__*/memo(ContentPanelComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","View","useTheme","jsx","_jsx","jsxs","_jsxs","GUTTER_MASK_SPREAD","PANEL_TOP_INSET","PANEL_BOTTOM_INSET","ContentPanelComponent","children","framed","surfaceClassName","surfaceStyle","contentClassName","contentStyle","showStickyFrame","maskColor","colors","fullBleedClass","filter","Boolean","join","className","style","surfaceClass","contentClass","pointerEvents","boxShadow","background","ContentPanel","displayName"],"sourceRoot":"../../../src","sources":["content-panel/index.web.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAwC,cAAc;AAEnE,SAASC,QAAQ,QAAQ,uBAAoB;;
|
|
1
|
+
{"version":3,"names":["React","memo","View","useTheme","ContentPanelNestingContext","useContentPanelNestingGuard","jsx","_jsx","jsxs","_jsxs","GUTTER_MASK_SPREAD","PANEL_TOP_INSET","PANEL_BOTTOM_INSET","ContentPanelComponent","children","framed","surfaceClassName","surfaceStyle","contentClassName","contentStyle","showStickyFrame","maskColor","colors","fullBleedClass","filter","Boolean","join","Provider","value","className","style","surfaceClass","contentClass","pointerEvents","boxShadow","background","ContentPanel","displayName"],"sourceRoot":"../../../src","sources":["content-panel/index.web.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAwC,cAAc;AAEnE,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SACEC,0BAA0B,EAC1BC,2BAA2B,QACtB,sBAAmB;;AAE1B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,OAAO,MAAMC,kBAAkB,GAAG,EAAE;AACpC;AACA,OAAO,MAAMC,eAAe,GAAG,CAAC;AAChC;AACA,OAAO,MAAMC,kBAAkB,GAAG,CAAC;AAyBnC,MAAMC,qBAAkD,GAAGA,CAAC;EAC1DC,QAAQ;EACRC,MAAM;EACNC,gBAAgB;EAChBC,YAAY;EACZC,gBAAgB;EAChBC,YAAY;EACZC,eAAe;EACfC;AACF,CAAC,KAAK;EACJ;EACA;EACAhB,2BAA2B,CAAC,CAAC;EAC7B,MAAM;IAAEiB;EAAO,CAAC,GAAGnB,QAAQ,CAAC,CAAC;EAE7B,IAAI,CAACY,MAAM,EAAE;IACX;IACA,MAAMQ,cAAc,GAAG,CACrB,QAAQ,EACRP,gBAAgB,IAAI,SAAS,EAC7BE,gBAAgB,CACjB,CACEM,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;IACZ,oBACEnB,IAAA,CAACH,0BAA0B,CAACuB,QAAQ;MAACC,KAAK,EAAE,IAAK;MAAAd,QAAA,eAC/CP,IAAA,CAACL,IAAI;QACI2B,SAAS,EAAEN,cAAc;QAChCO,KAAK,EAAE,CAACb,YAAY,EAAEE,YAAY,CAAE;QAAAL,QAAA,EAEnCA;MAAQ,CACL;IAAC,CAC4B,CAAC;EAE1C;EAEA,MAAMiB,YAAY,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAEf,gBAAgB,IAAI,SAAS,CAAC,CAACU,IAAI,CAAC,GAAG,CAAC;EAC7F,MAAMM,YAAY,GAAG,CAAC,QAAQ,EAAE,uCAAuC,EAAEd,gBAAgB,CAAC,CACvFM,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;EAEZ,oBACEnB,IAAA,CAACH,0BAA0B,CAACuB,QAAQ;IAACC,KAAK,EAAE,IAAK;IAAAd,QAAA,eAC/CL,KAAA,CAACP,IAAI;MACI2B,SAAS,EAAEE,YAAY;MAC9BD,KAAK,EAAEb,YAAa;MAAAH,QAAA,gBAGpBP,IAAA,CAACL,IAAI;QACH+B,aAAa,EAAC,MAAM;QAElBJ,SAAS,EACP,8IAA8I;QAElJC,KAAK,EAAE;UAAEI,SAAS,EAAE,SAASxB,kBAAkB,MAAMW,SAAS,IAAIC,MAAM,CAACa,UAAU;QAAG;MAAE,CACzF,CAAC,EAEDf,eAAe,KAAK,KAAK,iBACxBb,IAAA,CAACL,IAAI;QACH+B,aAAa,EAAC,MAAM;QAElBJ,SAAS,EACP;MAAyI,CAE9I,CACF,eAEDtB,IAAA,CAACL,IAAI;QACI2B,SAAS,EAAEG,YAAY;QAC9BF,KAAK,EAAEX,YAAa;QAAAL,QAAA,EAEnBA;MAAQ,CACL,CAAC;IAAA,CACH;EAAC,CAC4B,CAAC;AAE1C,CAAC;AAED,OAAO,MAAMsB,YAAY,gBAAGnC,IAAI,CAACY,qBAAqB,CAAC;AACvDuB,YAAY,CAACC,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Tracks whether the current subtree is already inside a `ContentPanel`.
|
|
7
|
+
*
|
|
8
|
+
* Every `ContentPanel` variant (web + native) wraps its rendered tree in
|
|
9
|
+
* `<ContentPanelNestingContext.Provider value={true}>`, so any DESCENDANT
|
|
10
|
+
* `ContentPanel` reads `true` here and can reject the invalid nesting. Context
|
|
11
|
+
* only flows downward, so side-by-side sibling panels each read the default
|
|
12
|
+
* `false` at their own level — siblings are valid, only true parent→child
|
|
13
|
+
* nesting trips the guard.
|
|
14
|
+
*/
|
|
15
|
+
export const ContentPanelNestingContext = /*#__PURE__*/createContext(false);
|
|
16
|
+
ContentPanelNestingContext.displayName = 'BloomContentPanelNestingContext';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Dev-only invariant: a `ContentPanel` must NEVER be rendered inside another
|
|
20
|
+
* `ContentPanel`. Nesting two content surfaces is meaningless and breaks the
|
|
21
|
+
* sticky / 100dvh framed frame. Call this unconditionally at the top of every
|
|
22
|
+
* `ContentPanel` variant — before any early return — so the hook order stays
|
|
23
|
+
* stable (rules of hooks).
|
|
24
|
+
*
|
|
25
|
+
* The throw is guarded by `process.env.NODE_ENV !== 'production'`, so bundlers
|
|
26
|
+
* (Metro on RN, Vite/Rolldown on web) statically strip the check from
|
|
27
|
+
* production builds for zero runtime overhead.
|
|
28
|
+
*/
|
|
29
|
+
export function useContentPanelNestingGuard() {
|
|
30
|
+
const isNested = useContext(ContentPanelNestingContext);
|
|
31
|
+
if (process.env.NODE_ENV !== 'production' && isNested) {
|
|
32
|
+
throw new Error('ContentPanel cannot be nested inside another ContentPanel. ' + 'Render panels as siblings (e.g. side-by-side columns), not nested.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=nesting-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","ContentPanelNestingContext","displayName","useContentPanelNestingGuard","isNested","process","env","NODE_ENV","Error"],"sourceRoot":"../../../src","sources":["content-panel/nesting-context.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,gBAAGF,aAAa,CAAU,KAAK,CAAC;AACvEE,0BAA0B,CAACC,WAAW,GAAG,iCAAiC;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAS;EAClD,MAAMC,QAAQ,GAAGJ,UAAU,CAACC,0BAA0B,CAAC;EACvD,IAAII,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIH,QAAQ,EAAE;IACrD,MAAM,IAAII,KAAK,CACb,6DAA6D,GAC3D,oEACJ,CAAC;EACH;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -67,7 +67,7 @@ export * from "./chip/index.js";
|
|
|
67
67
|
export * from "./tabs/index.js";
|
|
68
68
|
export * from "./checkbox/index.js";
|
|
69
69
|
export * from "./accordion/index.js";
|
|
70
|
-
|
|
70
|
+
export { LinkPreviewCard } from "./link-preview/index.js";
|
|
71
71
|
// Settings / Grouped list
|
|
72
72
|
export * from "./settings-list/index.js";
|
|
73
73
|
export { Item } from "./item/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAajB,cAAc,UAAU;AACxB,SAASC,GAAG,QAAQ,OAAO;AAE3B,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,mBAAmB;AAElD,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAajB,cAAc,UAAU;AACxB,SAASC,GAAG,QAAQ,OAAO;AAE3B,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,mBAAmB;AAElD,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa;AAC3B,SAASC,eAAe,QAAQ,yBAAgB;AAGhD;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,cAAc,uBAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,gBAAgB;AAMtE,SAASC,OAAO,QAAQ,WAAW;AAGnC;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -72,7 +72,7 @@ export * from "./chip/index.js";
|
|
|
72
72
|
export * from "./tabs/index.js";
|
|
73
73
|
export * from "./checkbox/index.js";
|
|
74
74
|
export * from "./accordion/index.js";
|
|
75
|
-
|
|
75
|
+
export { LinkPreviewCard } from "./link-preview/index.js";
|
|
76
76
|
// Settings / Grouped list
|
|
77
77
|
export * from "./settings-list/index.js";
|
|
78
78
|
export { Item } from "./item/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAa3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAa3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa;AAC3B,SAASC,eAAe,QAAQ,yBAAgB;AAGhD;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,cAAc,uBAAc;AAC5B,cAAc,qBAAkB;AAChC,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,cAAc,6BAA0B;AACxC,cAAc,wBAAqB;AACnC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
onPress,
|
|
53
|
+
className,
|
|
54
|
+
style
|
|
55
|
+
}) => {
|
|
56
|
+
const {
|
|
57
|
+
colors
|
|
58
|
+
} = useTheme();
|
|
59
|
+
const {
|
|
60
|
+
state: pressed,
|
|
61
|
+
onIn: onPressIn,
|
|
62
|
+
onOut: onPressOut
|
|
63
|
+
} = useInteractionState();
|
|
64
|
+
const {
|
|
65
|
+
displaySiteName,
|
|
66
|
+
displayTitle
|
|
67
|
+
} = useMemo(() => {
|
|
68
|
+
const host = hostnameOf(url);
|
|
69
|
+
return {
|
|
70
|
+
displaySiteName: siteName ?? host,
|
|
71
|
+
displayTitle: title ?? host ?? url
|
|
72
|
+
};
|
|
73
|
+
}, [url, siteName, title]);
|
|
74
|
+
const handlePress = useCallback(() => {
|
|
75
|
+
if (onPress) {
|
|
76
|
+
onPress();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// No explicit handler: open the URL with the system handler. A rejected
|
|
80
|
+
// promise (unsupported scheme / no handler) is non-actionable for a
|
|
81
|
+
// presentational card, so it is swallowed rather than surfaced.
|
|
82
|
+
void Linking.openURL(url).catch(() => undefined);
|
|
83
|
+
}, [onPress, url]);
|
|
84
|
+
const surfaceClass = ['overflow-hidden border border-border bg-card', className].filter(Boolean).join(' ');
|
|
85
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
86
|
+
className: surfaceClass,
|
|
87
|
+
style: [{
|
|
88
|
+
borderRadius: RADIUS['radius-20']
|
|
89
|
+
}, pressed && {
|
|
90
|
+
opacity: PRESSED_OPACITY
|
|
91
|
+
}, style],
|
|
92
|
+
onPress: handlePress,
|
|
93
|
+
onPressIn: onPressIn,
|
|
94
|
+
onPressOut: onPressOut,
|
|
95
|
+
accessibilityRole: "link",
|
|
96
|
+
accessibilityLabel: displayTitle,
|
|
97
|
+
children: [image ? /*#__PURE__*/_jsx(Image, {
|
|
98
|
+
source: {
|
|
99
|
+
uri: image
|
|
100
|
+
},
|
|
101
|
+
resizeMode: "cover",
|
|
102
|
+
className: 'w-full',
|
|
103
|
+
style: {
|
|
104
|
+
height: COVER_IMAGE_HEIGHT,
|
|
105
|
+
backgroundColor: colors.backgroundTertiary
|
|
106
|
+
}
|
|
107
|
+
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
108
|
+
className: 'p-3',
|
|
109
|
+
children: [displaySiteName ? /*#__PURE__*/_jsx(Text, {
|
|
110
|
+
numberOfLines: 1,
|
|
111
|
+
className: 'text-xs font-medium uppercase tracking-wide text-muted-foreground',
|
|
112
|
+
children: displaySiteName
|
|
113
|
+
}) : null, displayTitle ? /*#__PURE__*/_jsx(Text, {
|
|
114
|
+
numberOfLines: 2,
|
|
115
|
+
className: 'text-[15px] font-semibold text-foreground mt-1',
|
|
116
|
+
children: displayTitle
|
|
117
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
118
|
+
numberOfLines: 2,
|
|
119
|
+
className: 'text-[13px] leading-[18px] text-muted-foreground mt-1',
|
|
120
|
+
children: description
|
|
121
|
+
}) : null]
|
|
122
|
+
})]
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
export const LinkPreviewCard = /*#__PURE__*/memo(LinkPreviewCardComponent);
|
|
126
|
+
LinkPreviewCard.displayName = 'LinkPreviewCard';
|
|
127
|
+
//# 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","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","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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,wDAAwD;AACxD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/index.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/index.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQpE,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,6DAA6D;AAC7D,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgFD,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks whether the current subtree is already inside a `ContentPanel`.
|
|
3
|
+
*
|
|
4
|
+
* Every `ContentPanel` variant (web + native) wraps its rendered tree in
|
|
5
|
+
* `<ContentPanelNestingContext.Provider value={true}>`, so any DESCENDANT
|
|
6
|
+
* `ContentPanel` reads `true` here and can reject the invalid nesting. Context
|
|
7
|
+
* only flows downward, so side-by-side sibling panels each read the default
|
|
8
|
+
* `false` at their own level — siblings are valid, only true parent→child
|
|
9
|
+
* nesting trips the guard.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ContentPanelNestingContext: import("react").Context<boolean>;
|
|
12
|
+
/**
|
|
13
|
+
* Dev-only invariant: a `ContentPanel` must NEVER be rendered inside another
|
|
14
|
+
* `ContentPanel`. Nesting two content surfaces is meaningless and breaks the
|
|
15
|
+
* sticky / 100dvh framed frame. Call this unconditionally at the top of every
|
|
16
|
+
* `ContentPanel` variant — before any early return — so the hook order stays
|
|
17
|
+
* stable (rules of hooks).
|
|
18
|
+
*
|
|
19
|
+
* The throw is guarded by `process.env.NODE_ENV !== 'production'`, so bundlers
|
|
20
|
+
* (Metro on RN, Vite/Rolldown on web) statically strip the check from
|
|
21
|
+
* production builds for zero runtime overhead.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useContentPanelNestingGuard(): void;
|
|
24
|
+
//# sourceMappingURL=nesting-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nesting-context.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/nesting-context.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,kCAAgC,CAAC;AAGxE;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAQlD"}
|
|
@@ -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;AA0HpD,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"}
|