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/client")):"function"==typeof define&&define.amd?define(["react","react-dom/client"],t):"object"==typeof exports?exports.phoenix_live_react=t(require("react"),require("react-dom/client")):e.phoenix_live_react=t(e.react,e["react-dom/client"])}(self,((e,t)=>(()=>{"use strict";var r={155:t=>{t.exports=e},236:e=>{e.exports=t}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};n.r(i),n.d(i,{default:()=>y,initLiveReact:()=>b,initLiveReactElement:()=>h});var a=n(155),c=n.n(a),s=n(236),u=n.n(s);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d=function(e,t,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=e.dataset.liveReactProps?JSON.parse(e.dataset.liveReactProps):{};i=e.dataset.liveReactMerge?f(f(f({},n),i),o):f(f({},i),o);var a=c().createElement(r,i);return t._reactRoot||(t._reactRoot=u().createRoot(t)),t._reactRoot.render(a),i},h=function(e,t){var r=e.nextElementSibling,o=Array.prototype.reduce.call(e.dataset.liveReactClass.split("."),(function(e,t){return e[t]}),window);return d(e,r,o,t),{target:r,componentClass:o}},b=function(){var e=document.querySelectorAll("[data-live-react-class]");Array.prototype.forEach.call(e,(function(e){h(e)}))},y={mounted:function(){var e=this.el,t=this.pushEvent.bind(this),r=this.pushEventTo&&this.pushEventTo.bind(this),o=this.handleEvent&&this.handleEvent.bind(this),n=h(e,{pushEvent:t}),i=n.target,a=n.componentClass,c=d(e,i,a,{pushEvent:t,pushEventTo:r,handleEvent:o});e.dataset.liveReactMerge&&(this.props=c),Object.assign(this,{target:i,componentClass:a})},updated:function(){var e=this.el,t=this.target,r=this.componentClass,o=this.pushEvent.bind(this),n=this.pushEventTo&&this.pushEventTo.bind(this),i=(this.handleEvent,this.props),a=d(e,t,r,{pushEvent:o,pushEventTo:n},i);e.dataset.liveReactMerge&&(this.props=a)},destroyed:function(){var e=this.target;e._reactRoot&&e._reactRoot.unmount()}};return i})()));