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(n){if(t[n])return t[n].exports;var _=t[n]={i:n,l:!1,exports:{}};return e[n].call(_.exports,_,_.exports,r),_.l=!0,_.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},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 n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var _ in e)r.d(n,_,function(t){return e[t]}.bind(null,_));return n},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 n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(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 n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},_=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=e.dataset.liveReactProps?JSON.parse(e.dataset.liveReactProps):{};o=e.dataset.liveReactMerge?_objectSpread({},_,{},o,{},n):_objectSpread({},o,{},n);var i=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(r,o);return react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(i,t),o},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=this.pushEventTo&&this.pushEventTo.bind(this),n=this.handleEvent&&this.handleEvent.bind(this),_=initLiveReactElement(e,{pushEvent:t}),o=_.target,i=_.componentClass,a=render(e,o,i,{pushEvent:t,pushEventTo:r,handleEvent:n});e.dataset.liveReactMerge&&(this.props=a),Object.assign(this,{target:o,componentClass:i})},updated:function(){var e=this.el,t=this.target,r=this.componentClass,n=this.pushEvent.bind(this),_=this.pushEventTo&&this.pushEventTo.bind(this),o=(this.handleEvent,this.props),i=render(e,t,r,{pushEvent:n,pushEventTo:_},o);e.dataset.liveReactMerge&&(this.props=i)},destroyed:function(){var e=this.target;react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unmountComponentAtNode(e)}}}])}));