@webflow/react
Advanced tools
+8
-0
| # @webflow/react | ||
| ## 0.0.7 | ||
| ### Patch Changes | ||
| - Added support for Number prop settings and better JSDocs | ||
| - Updated dependencies | ||
| - @webflow/data-types@0.0.7 | ||
| ## 0.0.6 | ||
@@ -4,0 +12,0 @@ |
+1
-1
@@ -1,1 +0,1 @@ | ||
| 'use strict';var dataTypes=require('@webflow/data-types'),p=require('react'),s=require('react-dom/client'),u=require('react-dom/server');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var p__namespace=/*#__PURE__*/_interopNamespace(p);var s__default=/*#__PURE__*/_interopDefault(s);var u__default=/*#__PURE__*/_interopDefault(u);var o=class extends p__namespace.Component{constructor(t){super(t);}componentDidCatch(t,m){this.props.onError?.({error:t,message:m.digest||t.message,stack:m.componentStack??void 0});}render(){return this.props.children}};var C=r=>{function t(e){return s__default.default.createRoot(e)}function m(e,a,i){return s__default.default.hydrateRoot(e,p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,a),onError:i?.onError}))}function R(e,a,i){e.render(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,a),onError:i?.onError}));}function n(e){return p__namespace.default.createElement("slot",{name:e})}return {mount:t,hydrate:m,render:R,createSlot:n}};var l=r=>{function t(n,e,a){return u__default.default.renderToPipeableStream(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,n),onError:e?.onError}),a)}function m(n,e,a){return u__default.default.renderToString(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,n),onError:e?.onError}),a)}function R(n){return p__namespace.default.createElement("slot",{name:n})}return {renderToStream:t,renderToString:m,createSlot:R}};function x(r,t){return {...t,component:r,framework:dataTypes.Framework.React}}exports.ClientRenderer=C;exports.ServerRenderer=l;exports.declareComponent=x; | ||
| 'use strict';var dataTypes=require('@webflow/data-types'),p=require('react'),s=require('react-dom/client'),u=require('react-dom/server');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var p__namespace=/*#__PURE__*/_interopNamespace(p);var s__default=/*#__PURE__*/_interopDefault(s);var u__default=/*#__PURE__*/_interopDefault(u);var o=class extends p__namespace.Component{constructor(t){super(t);}componentDidCatch(t,m){this.props.onError?.({error:t,message:m.digest||t.message,stack:m.componentStack??void 0});}render(){return this.props.children}};var C=r=>{function t(e){return s__default.default.createRoot(e)}function m(e,a,i){return s__default.default.hydrateRoot(e,p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,a),onError:i?.onError}))}function R(e,a,i){e.render(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,a),onError:i?.onError}));}function n(e){return p__namespace.default.createElement("slot",{name:e})}return {mount:t,hydrate:m,render:R,createSlot:n}};var l=r=>{function t(n,e,a){return u__default.default.renderToPipeableStream(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,n),onError:e?.onError}),a)}function m(n,e,a){return u__default.default.renderToString(p__namespace.default.createElement(o,{children:p__namespace.default.createElement(r,n),onError:e?.onError}),a)}function R(n){return p__namespace.default.createElement("slot",{name:n})}return {renderToStream:t,renderToString:m,createSlot:R}};var x=(r,t)=>({...t,component:r,framework:dataTypes.Framework.React});exports.ClientRenderer=C;exports.ServerRenderer=l;exports.declareComponent=x; |
+30
-5
@@ -23,10 +23,35 @@ import React from 'react'; | ||
| /** | ||
| * A factory that creates a Webflow component for a given React component | ||
| * Creates a Webflow code component definition for the provided React component. Expected as the default export from a *.webflow.tsx file. | ||
| * | ||
| * @param Component - The React component to render. | ||
| * @param data An object with meta information about the component. | ||
| * @returns An object with create and render functions. | ||
| * @example | ||
| * ```tsx | ||
| * import { declareComponent } from "@webflow/react"; | ||
| * import { props } from "@webflow/data-types"; | ||
| * import Button from "./Button"; | ||
| * | ||
| * export default declareComponent(Button, { | ||
| * name: "Button", | ||
| * description: "Optional description", | ||
| * group: "Optional group", | ||
| * props: { | ||
| * text: props.Text({ name: "Text", defaultValue: "Lorem ipsum" }), | ||
| * link: props.Link({ name: "Link" }), | ||
| * }, | ||
| * options: { | ||
| * applyTagSelectors: true | ||
| * } | ||
| * ``` | ||
| * | ||
| * @param Component The React component to render | ||
| * @param data An object with metadata about the code component | ||
| * @param data.name The display name of the code component | ||
| * @param data.description An optional description of the code component | ||
| * @param data.group An optional group for the code component | ||
| * @param data.props An optional object with the code component props configurations | ||
| * @param data.options An optional object with additional code component options | ||
| * @param data.options.applyTagSelectors An optional flag to provide styles targeting tag selectors to the code component (default: false) | ||
| * @returns A Webflow code component definition | ||
| */ | ||
| declare function declareComponent<P extends {}>(Component: React.ComponentType<P>, data: ComponentData<P, React.ReactNode>): ComponentDefinition<React.ComponentType<P>, React.ReactNode, P>; | ||
| declare const declareComponent: <P extends {}>(Component: React.ComponentType<P>, data: ComponentData<P, React.ReactNode>) => ComponentDefinition<React.ComponentType<P>, React.ReactNode, P>; | ||
| export { ClientRenderer, ServerRenderer, declareComponent }; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| import {Framework}from'@webflow/data-types';import*as p from'react';import p__default from'react';import s from'react-dom/client';import u from'react-dom/server';var o=class extends p.Component{constructor(t){super(t);}componentDidCatch(t,m){this.props.onError?.({error:t,message:m.digest||t.message,stack:m.componentStack??void 0});}render(){return this.props.children}};var C=r=>{function t(e){return s.createRoot(e)}function m(e,a,i){return s.hydrateRoot(e,p__default.createElement(o,{children:p__default.createElement(r,a),onError:i?.onError}))}function R(e,a,i){e.render(p__default.createElement(o,{children:p__default.createElement(r,a),onError:i?.onError}));}function n(e){return p__default.createElement("slot",{name:e})}return {mount:t,hydrate:m,render:R,createSlot:n}};var l=r=>{function t(n,e,a){return u.renderToPipeableStream(p__default.createElement(o,{children:p__default.createElement(r,n),onError:e?.onError}),a)}function m(n,e,a){return u.renderToString(p__default.createElement(o,{children:p__default.createElement(r,n),onError:e?.onError}),a)}function R(n){return p__default.createElement("slot",{name:n})}return {renderToStream:t,renderToString:m,createSlot:R}};function x(r,t){return {...t,component:r,framework:Framework.React}}export{C as ClientRenderer,l as ServerRenderer,x as declareComponent}; | ||
| import {Framework}from'@webflow/data-types';import*as p from'react';import p__default from'react';import s from'react-dom/client';import u from'react-dom/server';var o=class extends p.Component{constructor(t){super(t);}componentDidCatch(t,m){this.props.onError?.({error:t,message:m.digest||t.message,stack:m.componentStack??void 0});}render(){return this.props.children}};var C=r=>{function t(e){return s.createRoot(e)}function m(e,a,i){return s.hydrateRoot(e,p__default.createElement(o,{children:p__default.createElement(r,a),onError:i?.onError}))}function R(e,a,i){e.render(p__default.createElement(o,{children:p__default.createElement(r,a),onError:i?.onError}));}function n(e){return p__default.createElement("slot",{name:e})}return {mount:t,hydrate:m,render:R,createSlot:n}};var l=r=>{function t(n,e,a){return u.renderToPipeableStream(p__default.createElement(o,{children:p__default.createElement(r,n),onError:e?.onError}),a)}function m(n,e,a){return u.renderToString(p__default.createElement(o,{children:p__default.createElement(r,n),onError:e?.onError}),a)}function R(n){return p__default.createElement("slot",{name:n})}return {renderToStream:t,renderToString:m,createSlot:R}};var x=(r,t)=>({...t,component:r,framework:Framework.React});export{C as ClientRenderer,l as ServerRenderer,x as declareComponent}; |
+2
-2
| { | ||
| "name": "@webflow/react", | ||
| "version": "0.0.6", | ||
| "version": "0.0.7", | ||
| "license": "MIT", | ||
@@ -35,3 +35,3 @@ "main": "./dist/index.cjs", | ||
| "dependencies": { | ||
| "@webflow/data-types": "0.0.6" | ||
| "@webflow/data-types": "0.0.7" | ||
| }, | ||
@@ -38,0 +38,0 @@ "peerDependencies": { |
9103
14.84%52
92.59%+ Added
- Removed
Updated