Packages

A helper library for easily rendering React components in Phoenix LiveView views.

Current section

Files

Jump to
phoenix_live_react priv static phoenix_live_react.js
Raw

priv/static/phoenix_live_react.js

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.phoenix_live_react=t(require("react"),require("react-dom")):e.phoenix_live_react=t(e.react,e["react-dom"])}(self,(function(e,t){return(()=>{"use strict";var r={156:t=>{t.exports=e},111:e=>{e.exports=t}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{o.r(i),o.d(i,{default:()=>d,initLiveReact:()=>l,initLiveReactElement:()=>u});var e=o(156),t=o.n(e),r=o(111),n=o.n(r);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var p=function(e,r,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},c=e.dataset.liveReactProps?JSON.parse(e.dataset.liveReactProps):{};c=e.dataset.liveReactMerge?s(s(s({},a),c),i):s(s({},c),i);var p=t().createElement(o,c);return n().render(p,r),c},u=function(e,t){var r=e.nextElementSibling,n=Array.prototype.reduce.call(e.dataset.liveReactClass.split("."),(function(e,t){return e[t]}),window);return p(e,r,n,t),{target:r,componentClass:n}},l=function(){var e=document.querySelectorAll("[data-live-react-class]");Array.prototype.forEach.call(e,(function(e){u(e)}))},d={mounted:function(){var e=this.el,t=this.pushEvent.bind(this),r=this.pushEventTo&&this.pushEventTo.bind(this),n=this.handleEvent&&this.handleEvent.bind(this),o=u(e,{pushEvent:t}),i=o.target,a=o.componentClass,s=p(e,i,a,{pushEvent:t,pushEventTo:r,handleEvent:n});e.dataset.liveReactMerge&&(this.props=s),Object.assign(this,{target:i,componentClass:a})},updated:function(){var e=this.el,t=this.target,r=this.componentClass,n=this.pushEvent.bind(this),o=this.pushEventTo&&this.pushEventTo.bind(this),i=(this.handleEvent,this.props),a=p(e,t,r,{pushEvent:n,pushEventTo:o},i);e.dataset.liveReactMerge&&(this.props=a)},destroyed:function(){var e=this.target;n().unmountComponentAtNode(e)}}})(),i})()}));