UNPKG

@tinacms/react-screens

Version:

The `@tinacms/react-screens` defines the `ScreenPlugin`, helpers for creating screens, and provides React components for displaying them.

2 lines (1 loc) 1.77 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@tinacms/react-core"),require("@tinacms/react-modals")):"function"==typeof define&&define.amd?define(["exports","react","@tinacms/react-core","@tinacms/react-modals"],t):t((e=e||self)["@tinacms/react-screens"]={},e.React,e.reactCore,e.reactModals)}(this,function(e,a,r,c){"use strict";var o="default"in a?a.default:a,l=function(){return(l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function u(e){var t=e.Component,n=e.props,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["Component","props"]);return l(l({__type:"screen",layout:"popup"},r),{Component:function(e){return o.createElement(t,l({},e,n))}})}var s=function(e){var t,n=e.children,r=e.name,o=e.close;switch(e.layout){case"popup":t=c.ModalPopup;break;case"fullscreen":t=c.ModalFullscreen;break;default:t=c.ModalPopup}return a.createElement(c.Modal,null,a.createElement(t,null,a.createElement(c.ModalHeader,{close:o},r),a.createElement(c.ModalBody,null,n)))};e.ScreenPluginModal=function(e){var t=e.screen,n=e.close;return a.createElement(s,{name:t.name,close:n,layout:t.layout},a.createElement(t.Component,{close:n}))},e.createScreen=u,e.useScreenPlugin=function(e,t){var n=a.useMemo(function(){return u(e)},t);r.usePlugins(n)},Object.defineProperty(e,"__esModule",{value:!0})});