@uniformdev/canvas-react 13.0.0 → 13.0.1-alpha.70
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/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +10 -10
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ declare type ComponentProps<TProps = unknown> = TProps & {
|
|
|
13
13
|
* Function that maps a Canvas component instance to its React component to render it.
|
|
14
14
|
* The resolver would commonly inspect the `type` and possibly `variant` of the component to decide.
|
|
15
15
|
*/
|
|
16
|
-
declare type RenderComponentResolver = (component: ComponentInstance) => React.ComponentType<ComponentProps<
|
|
16
|
+
declare type RenderComponentResolver = (component: ComponentInstance) => React.ComponentType<ComponentProps<any>> | null;
|
|
17
17
|
/** Function that renders Canvas system internals */
|
|
18
18
|
declare type SystemRenderFunction = (component: ComponentInstance, key: Key, renderChild: (component: ComponentInstance, key: Key) => JSX.Element | null) => JSX.Element | null;
|
|
19
19
|
/** Configures rendering of system components (tests, pz) */
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useBehaviorTracking as
|
|
1
|
+
import{useBehaviorTracking as R}from"@uniformdev/optimize-tracker-react";import{CANVAS_INTENT_TAG_PARAM as h}from"@uniformdev/canvas";import b,{createContext as w,useContext as A}from"react";function v(e){var t;let o=(t=e.parameters)!=null?t:{};return{...Object.keys(o).reduce((s,r)=>(s[r]=o[r].value,s),{}),...e.data,component:e}}var x=w({});function P(){return A(x)}function N({data:e,resolveRenderer:o,children:n}){var r,i;let t=P();if(R((i=(r=e==null?void 0:e.parameters)==null?void 0:r[h])==null?void 0:i.value),!e)return process.env.NODE_ENV==="development"&&console.warn("[canvas-dev] Composition was rendered with no data, nothing will be output."),null;let s={composition:e,resolveRenderer:o!=null?o:t.resolveRenderer};return b.createElement(x.Provider,{value:s},typeof n=="function"?n(v(e)):n)}import y from"react";import{CANVAS_PERSONALIZE_TYPE as O,CANVAS_TEST_TYPE as V}from"@uniformdev/canvas";import{Personalize as k,Test as I}from"@uniformdev/optimize-tracker-react";import{mapSlotToPersonalizedVariations as z}from"@uniformdev/canvas";import*as T from"react";var g={test:(e,o,n)=>{var c,l,m;let t=e,s=(l=(c=t.slots)==null?void 0:c.test)!=null?l:[],r=((m=t.parameters.test)==null?void 0:m.value)||"Untitled Test",i=s.map((p,u)=>{var f,S;return{...p,id:(S=_((f=p.parameters)==null?void 0:f.testId))!=null?S:`variation-${u+1}-${p.type}`}});return T.createElement(I,{key:o,variations:i,name:r,component:p=>n(p,o)})},personalization:(e,o,n)=>{var r,i,c,l,m,p,u;let t=e,s=z((r=t==null?void 0:t.slots)==null?void 0:r.pz);return T.createElement(k,{key:o,variations:s,count:Number((l=(c=(i=t.parameters)==null?void 0:i.count)==null?void 0:c.value)!=null?l:1),trackingEventName:(p=(m=t.parameters)==null?void 0:m.trackingEventName)==null?void 0:p.value,matchFilter:(u=t.parameters.matchFilter)==null?void 0:u.value,component:f=>n(f,0)})}};function _(e){if(typeof(e==null?void 0:e.value)=="string")return e.value}function pe({name:e,resolveRenderer:o,children:n}){var m;let{composition:t,resolveRenderer:s}=P();if(!t)throw new Error("Cannot use Slot without a Composition wrapper.");let r=(m=t.slots)==null?void 0:m[e];if(!r||!Array.isArray(r))return process.env.NODE_ENV==="development"&&console.warn(`[canvas-dev] slot '${e}' was rendered, but it was not defined on its component. This is expected if the slot is optional, otherwise it may indicate a typo. Component:`,t),null;let i=o!=null?o:s,c=g,l=r.map((p,u)=>{let f=E({component:p,resolveRenderer:i,resolveSystem:c,key:u});return n?n({child:f,component:p,key:u}):f});return y.createElement(y.Fragment,void 0,l)}function E({component:e,resolveRenderer:o,resolveSystem:n,key:t=0}){let s=o==null?void 0:o(e);if(e.type===V)return n.test(e,t,(r,i)=>E({component:r,resolveRenderer:o,resolveSystem:n,key:i}));if(e.type===O)return n.personalization(e,t,(r,i)=>E({component:r,resolveRenderer:o,resolveSystem:n,key:i}));if(s){let r=v(e);return y.createElement(N,{key:t,data:e,resolveRenderer:o},y.createElement(s,{...r}))}else process.env.NODE_ENV!=="production"&&console.warn(`[canvas] found component of type '${e.type}' which the resolveRenderer prop returned no component for. Nothing will be rendered. The resolveRenderer function may need to be extended to handle the new type.`,e);return null}import a from"react";function ce(e){var n;let o=(n=e.component)==null?void 0:n.type;return o?a.createElement("div",{style:{borderLeft:"10px solid #e42535!important",padding:"0.01em 16px 16px",borderRadius:"16px",backgroundColor:"rgba(122, 215, 218, 0.3)",color:"#1d3557"}},a.createElement("h2",null,"Component: ",o),a.createElement("p",null,a.createElement("strong",null,o)," has no React implementation. It may need to be added to your"," ",a.createElement("code",null,"resolveRenderer()")," function."),a.createElement("details",null,a.createElement("summary",null,"Props"),a.createElement("pre",null,JSON.stringify(e,null,2)))):null}import{CANVAS_DRAFT_STATE as F,createEventBus as D,subscribeToComposition as J}from"@uniformdev/canvas";import{useEffect as L}from"react";function Ce({enabled:e,projectId:o,compositionId:n,effect:t}){L(()=>{if(!e||!n||!o)return;let s;return(async()=>{let i=await D();i&&(s=J({eventBus:i,compositionId:n,compositionState:F,projectId:o,callback:t,event:"updated"}))})(),()=>{s&&s()}},[n,e,o,t])}export{N as Composition,ce as DefaultNotImplementedComponent,pe as Slot,P as useComposition,Ce as useCompositionEventEffect};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useBehaviorTracking as
|
|
1
|
+
import{useBehaviorTracking as R}from"@uniformdev/optimize-tracker-react";import{CANVAS_INTENT_TAG_PARAM as h}from"@uniformdev/canvas";import b,{createContext as w,useContext as A}from"react";function v(e){var t;let o=(t=e.parameters)!=null?t:{};return{...Object.keys(o).reduce((s,r)=>(s[r]=o[r].value,s),{}),...e.data,component:e}}var x=w({});function P(){return A(x)}function N({data:e,resolveRenderer:o,children:n}){var r,i;let t=P();if(R((i=(r=e==null?void 0:e.parameters)==null?void 0:r[h])==null?void 0:i.value),!e)return process.env.NODE_ENV==="development"&&console.warn("[canvas-dev] Composition was rendered with no data, nothing will be output."),null;let s={composition:e,resolveRenderer:o!=null?o:t.resolveRenderer};return b.createElement(x.Provider,{value:s},typeof n=="function"?n(v(e)):n)}import y from"react";import{CANVAS_PERSONALIZE_TYPE as O,CANVAS_TEST_TYPE as V}from"@uniformdev/canvas";import{Personalize as k,Test as I}from"@uniformdev/optimize-tracker-react";import{mapSlotToPersonalizedVariations as z}from"@uniformdev/canvas";import*as T from"react";var g={test:(e,o,n)=>{var c,l,m;let t=e,s=(l=(c=t.slots)==null?void 0:c.test)!=null?l:[],r=((m=t.parameters.test)==null?void 0:m.value)||"Untitled Test",i=s.map((p,u)=>{var f,S;return{...p,id:(S=_((f=p.parameters)==null?void 0:f.testId))!=null?S:`variation-${u+1}-${p.type}`}});return T.createElement(I,{key:o,variations:i,name:r,component:p=>n(p,o)})},personalization:(e,o,n)=>{var r,i,c,l,m,p,u;let t=e,s=z((r=t==null?void 0:t.slots)==null?void 0:r.pz);return T.createElement(k,{key:o,variations:s,count:Number((l=(c=(i=t.parameters)==null?void 0:i.count)==null?void 0:c.value)!=null?l:1),trackingEventName:(p=(m=t.parameters)==null?void 0:m.trackingEventName)==null?void 0:p.value,matchFilter:(u=t.parameters.matchFilter)==null?void 0:u.value,component:f=>n(f,0)})}};function _(e){if(typeof(e==null?void 0:e.value)=="string")return e.value}function pe({name:e,resolveRenderer:o,children:n}){var m;let{composition:t,resolveRenderer:s}=P();if(!t)throw new Error("Cannot use Slot without a Composition wrapper.");let r=(m=t.slots)==null?void 0:m[e];if(!r||!Array.isArray(r))return process.env.NODE_ENV==="development"&&console.warn(`[canvas-dev] slot '${e}' was rendered, but it was not defined on its component. This is expected if the slot is optional, otherwise it may indicate a typo. Component:`,t),null;let i=o!=null?o:s,c=g,l=r.map((p,u)=>{let f=E({component:p,resolveRenderer:i,resolveSystem:c,key:u});return n?n({child:f,component:p,key:u}):f});return y.createElement(y.Fragment,void 0,l)}function E({component:e,resolveRenderer:o,resolveSystem:n,key:t=0}){let s=o==null?void 0:o(e);if(e.type===V)return n.test(e,t,(r,i)=>E({component:r,resolveRenderer:o,resolveSystem:n,key:i}));if(e.type===O)return n.personalization(e,t,(r,i)=>E({component:r,resolveRenderer:o,resolveSystem:n,key:i}));if(s){let r=v(e);return y.createElement(N,{key:t,data:e,resolveRenderer:o},y.createElement(s,{...r}))}else process.env.NODE_ENV!=="production"&&console.warn(`[canvas] found component of type '${e.type}' which the resolveRenderer prop returned no component for. Nothing will be rendered. The resolveRenderer function may need to be extended to handle the new type.`,e);return null}import a from"react";function ce(e){var n;let o=(n=e.component)==null?void 0:n.type;return o?a.createElement("div",{style:{borderLeft:"10px solid #e42535!important",padding:"0.01em 16px 16px",borderRadius:"16px",backgroundColor:"rgba(122, 215, 218, 0.3)",color:"#1d3557"}},a.createElement("h2",null,"Component: ",o),a.createElement("p",null,a.createElement("strong",null,o)," has no React implementation. It may need to be added to your"," ",a.createElement("code",null,"resolveRenderer()")," function."),a.createElement("details",null,a.createElement("summary",null,"Props"),a.createElement("pre",null,JSON.stringify(e,null,2)))):null}import{CANVAS_DRAFT_STATE as F,createEventBus as D,subscribeToComposition as J}from"@uniformdev/canvas";import{useEffect as L}from"react";function Ce({enabled:e,projectId:o,compositionId:n,effect:t}){L(()=>{if(!e||!n||!o)return;let s;return(async()=>{let i=await D();i&&(s=J({eventBus:i,compositionId:n,compositionState:F,projectId:o,callback:t,event:"updated"}))})(),()=>{s&&s()}},[n,e,o,t])}export{N as Composition,ce as DefaultNotImplementedComponent,pe as Slot,P as useComposition,Ce as useCompositionEventEffect};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/canvas-react",
|
|
3
|
-
"version": "13.0.
|
|
3
|
+
"version": "13.0.1-alpha.70+21cf4ced",
|
|
4
4
|
"description": "React SDK for Uniform Canvas",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,25 +25,25 @@
|
|
|
25
25
|
"ci:build": "tsup --minify --clean"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@uniformdev/canvas": "^13.0.
|
|
29
|
-
"@uniformdev/optimize-common": "^13.0.
|
|
30
|
-
"@uniformdev/optimize-tracker-react": "^13.0.
|
|
28
|
+
"@uniformdev/canvas": "^13.0.1-alpha.70+21cf4ced",
|
|
29
|
+
"@uniformdev/optimize-common": "^13.0.1-alpha.70+21cf4ced",
|
|
30
|
+
"@uniformdev/optimize-tracker-react": "^13.0.1-alpha.70+21cf4ced"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"react": ">= 16"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/jest": "27.0.3",
|
|
37
|
-
"@types/node": "16.
|
|
38
|
-
"eslint": "
|
|
37
|
+
"@types/node": "16.11.12",
|
|
38
|
+
"eslint": "8.4.1",
|
|
39
39
|
"eslint-plugin-react": "7.27.1",
|
|
40
40
|
"eslint-plugin-react-hooks": "4.3.0",
|
|
41
|
-
"jest": "27.
|
|
41
|
+
"jest": "27.4.4",
|
|
42
42
|
"npm-run-all": "4.1.5",
|
|
43
43
|
"react": "17.0.2",
|
|
44
44
|
"rimraf": "3.0.2",
|
|
45
|
-
"ts-jest": "27.
|
|
46
|
-
"tsup": "5.
|
|
45
|
+
"ts-jest": "27.1.1",
|
|
46
|
+
"tsup": "5.11.1"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"/dist"
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "21cf4cedab72c4bd29048c47d3a6a772d997985b"
|
|
55
55
|
}
|