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-dom"),require("react")):"function"==typeof define&&define.amd?define(["react-dom","react"],t):"object"==typeof exports?exports.phoenix_live_react=t(require("react-dom"),require("react")):e.phoenix_live_react=t(e["react-dom"],e.react)}(window,function(__WEBPACK_EXTERNAL_MODULE__0__,__WEBPACK_EXTERNAL_MODULE__1__){return function(e){var t={};function r(_){if(t[_])return t[_].exports;var n=t[_]={i:_,l:!1,exports:{}};return e[_].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,_){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:_})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var _=Object.create(null);if(r.r(_),Object.defineProperty(_,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(_,n,function(t){return e[t]}.bind(null,n));return _},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__0__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__1__},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"default",function(){return LiveReact}),__webpack_require__.d(__webpack_exports__,"initLiveReact",function(){return initLiveReact}),__webpack_require__.d(__webpack_exports__,"initLiveReactElement",function(){return initLiveReactElement});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react_dom__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(e);t&&(_=_.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,_)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(r,!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var render=function(e,t,r){var _=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=e.dataset.liveReactProps?JSON.parse(e.dataset.liveReactProps):{},o=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(r,_objectSpread({},n,{},_));react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(o,t)},initLiveReactElement=function initLiveReactElement(el,additionalProps){var target=el.nextElementSibling,componentClass=eval(el.dataset.liveReactClass);return render(el,target,componentClass,additionalProps),{target:target,componentClass:componentClass}},initLiveReact=function(){var e=document.querySelectorAll("[data-live-react-class]");Array.prototype.forEach.call(e,function(e){initLiveReactElement(e)})},LiveReact={mounted:function(){var e=this.el,t=this.pushEvent.bind(this),r=initLiveReactElement(e,{pushEvent:t}),_=r.target,n=r.componentClass;render(e,_,n,{pushEvent:t}),Object.assign(this,{target:_,componentClass:n})},updated:function(){var e=this.el,t=this.target,r=this.componentClass,_=this.pushEvent.bind(this);render(e,t,r,{pushEvent:_})},destroyed:function(){var e=this.target;react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unmountComponentAtNode(e)}}}])});