react-figma 0.23.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.
@@ -1,11 +1,14 @@
1
+ /// <reference types="plugin-typings" />
1
2
  import * as React from 'react';
2
3
  import { BaseNodeProps, ChildrenProps, ExportProps, StyleOf } from '../../types';
3
4
  import { YogaStyleProperties } from '../../yoga/YogaStyleProperties';
4
5
  import { OnLayoutHandlerProps } from '../../hooks/useOnLayoutHandler';
6
+ import { GeometryStyleProperties } from '../../styleTransformers/transformGeometryStyleProperties';
5
7
  export interface PageProps extends BaseNodeProps, ChildrenProps, ExportProps, OnLayoutHandlerProps {
6
- style?: StyleOf<YogaStyleProperties>;
8
+ style?: StyleOf<YogaStyleProperties & GeometryStyleProperties>;
7
9
  isCurrent?: boolean;
8
10
  onCurrentChange?: (isCurrent: boolean) => void;
11
+ backgrounds?: ReadonlyArray<Paint>;
9
12
  }
10
13
  export declare const useCurrentPageChange: (nodeRef: {
11
14
  current?: any;
@@ -28,6 +28,9 @@ var rpc_1 = require("../../rpc");
28
28
  var operators_1 = require("rxjs/operators");
29
29
  var useOnLayoutHandler_1 = require("../../hooks/useOnLayoutHandler");
30
30
  var useInheritStyle_1 = require("../../hooks/useInheritStyle");
31
+ var transformGeometryStyleProperties_1 = require("../../styleTransformers/transformGeometryStyleProperties");
32
+ var StyleSheet_1 = require("../../helpers/StyleSheet");
33
+ var useImageHash_1 = require("../../hooks/useImageHash");
31
34
  exports.useCurrentPageChange = function (nodeRef, callback, _isCurrent) {
32
35
  React.useEffect(function () {
33
36
  var instance = nodeRef.current;
@@ -47,8 +50,11 @@ var Page = function (props) {
47
50
  exports.useCurrentPageChange(nodeRef, onCurrentChange, props.isCurrent);
48
51
  var yogaChildProps = useYogaLayout_1.useYogaLayout(__assign({ nodeRef: nodeRef }, otherProps));
49
52
  useOnLayoutHandler_1.useOnLayoutHandler(yogaChildProps, props);
53
+ var style = StyleSheet_1.StyleSheet.flatten(props.style);
54
+ var imageHash = useImageHash_1.useImageHash(style.backgroundImage);
55
+ var pageProps = __assign({}, transformGeometryStyleProperties_1.transformGeometryStyleProperties('backgrounds', style, imageHash), otherProps, { style: style });
50
56
  return (React.createElement(useInheritStyle_1.InheritStyleProvider, { style: props.style },
51
- React.createElement("page", __assign({}, otherProps, yogaChildProps, { innerRef: nodeRef }))));
57
+ React.createElement("page", __assign({}, pageProps, yogaChildProps, { innerRef: nodeRef }))));
52
58
  };
53
59
  exports.Page = Page;
54
60
  //# sourceMappingURL=Page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/components/page/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA+B;AAE/B,2DAA0D;AAE1D,iCAAoD;AACpD,4CAAqC;AACrC,qEAA0F;AAC1F,+DAAmE;AAQtD,QAAA,oBAAoB,GAAG,UAChC,OAA0B,EAC1B,QAAgD,EAChD,UAAoB;IAEpB,KAAK,CAAC,SAAS,CAAC;QACZ,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAM,OAAO,GAAG,wBAAkB,CAAC,IAAI,CAAC,eAAG,CAAC,UAAC,OAAY,IAAK,OAAA,OAAO,KAAK,QAAQ,CAAC,OAAO,EAA5B,CAA4B,CAAC,CAAC,CAAC;QAE7F,IAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAA,KAAK,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAE7E,OAAO,cAAM,OAAA,YAAY,CAAC,WAAW,EAAE,EAA1B,CAA0B,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC;QACZ,IAAI,UAAU,EAAE;YACZ,SAAG,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACvC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,IAAM,IAAI,GAAwB,UAAA,KAAK;IACnC,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,IAAA,uCAAe,EAAE,+CAAa,CAAW;IACjD,4BAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhE,IAAM,cAAc,GAAG,6BAAa,YAAG,OAAO,SAAA,IAAK,UAAU,EAAG,CAAC;IACjE,uCAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAE1C,OAAO,CACH,oBAAC,sCAAoB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK;QACpC,yCAAU,UAAU,EAAM,cAAc,IAAE,QAAQ,EAAE,OAAO,IAAI,CAC5C,CAC1B,CAAC;AACN,CAAC,CAAC;AAEO,oBAAI"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/components/page/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA+B;AAE/B,2DAA0D;AAE1D,iCAAoD;AACpD,4CAAqC;AACrC,qEAA0F;AAC1F,+DAAmE;AACnE,6GAGkE;AAClE,uDAAsD;AACtD,yDAAwD;AAS3C,QAAA,oBAAoB,GAAG,UAChC,OAA0B,EAC1B,QAAgD,EAChD,UAAoB;IAEpB,KAAK,CAAC,SAAS,CAAC;QACZ,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAM,OAAO,GAAG,wBAAkB,CAAC,IAAI,CAAC,eAAG,CAAC,UAAC,OAAY,IAAK,OAAA,OAAO,KAAK,QAAQ,CAAC,OAAO,EAA5B,CAA4B,CAAC,CAAC,CAAC;QAE7F,IAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAA,KAAK,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAE7E,OAAO,cAAM,OAAA,YAAY,CAAC,WAAW,EAAE,EAA1B,CAA0B,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC;QACZ,IAAI,UAAU,EAAE;YACZ,SAAG,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACvC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,IAAM,IAAI,GAAwB,UAAA,KAAK;IACnC,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,IAAA,uCAAe,EAAE,+CAAa,CAAW;IACjD,4BAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhE,IAAM,cAAc,GAAG,6BAAa,YAAG,OAAO,SAAA,IAAK,UAAU,EAAG,CAAC;IACjE,uCAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAM,KAAK,GAAG,uBAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAM,SAAS,GAAG,2BAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAEtD,IAAM,SAAS,gBACR,mEAAgC,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,EACjE,UAAU,IACb,KAAK,OAAA,GACR,CAAC;IAEF,OAAO,CACH,oBAAC,sCAAoB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK;QACpC,yCAAU,SAAS,EAAM,cAAc,IAAE,QAAQ,EAAE,OAAO,IAAI,CAC3C,CAC1B,CAAC;AACN,CAAC,CAAC;AAEO,oBAAI"}
@@ -0,0 +1,2 @@
1
+ import { PageProps } from '../components/page/Page';
2
+ export declare const pageMixin: <N extends PageProps>(node: N) => <P extends PageProps>(props: P) => void;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var propsAssign_1 = require("../helpers/propsAssign");
4
+ exports.pageMixin = propsAssign_1.propsAssign(['backgrounds'], {
5
+ backgrounds: []
6
+ });
7
+ //# sourceMappingURL=pageMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageMixin.js","sourceRoot":"","sources":["../src/mixins/pageMixin.ts"],"names":[],"mappings":";;AAAA,sDAAqD;AAGxC,QAAA,SAAS,GAAG,yBAAW,CAAuB,CAAC,aAAa,CAAC,EAAE;IACxE,WAAW,EAAE,EAAE;CAClB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-figma",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "Render React components to Figma",
5
5
  "scripts": {
6
6
  "tsc": "tsc -p tsconfig.json --noEmit",
package/renderers/page.js CHANGED
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var baseNodeMixin_1 = require("../mixins/baseNodeMixin");
4
4
  var saveStyleMixin_1 = require("../mixins/saveStyleMixin");
5
5
  var exportMixin_1 = require("../mixins/exportMixin");
6
+ var pageMixin_1 = require("../mixins/pageMixin");
6
7
  exports.page = function (node) { return function (props) {
7
8
  var page = node || figma.createPage();
8
9
  saveStyleMixin_1.saveStyleMixin(page)(props);
9
10
  baseNodeMixin_1.baseNodeMixin(page)(props);
10
11
  exportMixin_1.exportMixin(page)(props);
12
+ pageMixin_1.pageMixin(page)(props);
11
13
  return page;
12
14
  }; };
13
15
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/renderers/page.ts"],"names":[],"mappings":";;AAAA,yDAAwD;AACxD,2DAA0D;AAC1D,qDAAoD;AAGvC,QAAA,IAAI,GAAG,UAAC,IAAc,IAAK,OAAA,UAAC,KAAgB;IACrD,IAAM,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;IAExC,+BAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,6BAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,yBAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzB,OAAO,IAAI,CAAC;AAChB,CAAC,EARuC,CAQvC,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/renderers/page.ts"],"names":[],"mappings":";;AAAA,yDAAwD;AACxD,2DAA0D;AAC1D,qDAAoD;AACpD,iDAAgD;AAGnC,QAAA,IAAI,GAAG,UAAC,IAAc,IAAK,OAAA,UAAC,KAAgB;IACrD,IAAM,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;IAExC,+BAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,6BAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,yBAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzB,qBAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,IAAI,CAAC;AAChB,CAAC,EAVuC,CAUvC,CAAC"}