Fix related to generated js files

This commit is contained in:
Wout De Puysseleir 2023-03-13 15:13:27 -07:00
parent fcf4d0b7bc
commit 4fcb030795
No known key found for this signature in database
GPG key ID: 3DE9371B50FEC46A
14 changed files with 738 additions and 211 deletions

View file

@ -22,10 +22,10 @@ import {Socket} from "phoenix"
import {LiveSocket} from "phoenix_live_view"
import topbar from "../vendor/topbar"
import {getHooks} from 'live_svelte'
import * as Components from '../svelte/components/**/*'
import * as SvelteComponents from '../svelte/components/**/*'
let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content")
let liveSocket = new LiveSocket("/live", Socket, {hooks: getHooks(Components), params: {_csrf_token: csrfToken}})
let liveSocket = new LiveSocket("/live", Socket, {hooks: getHooks(SvelteComponents), params: {_csrf_token: csrfToken}})
// Show progress bar on live navigation and form submits
topbar.config({barColors: {0: "#29d"}, shadowColor: "rgba(0, 0, 0, .3)"})

View file

@ -1,4 +1,4 @@
var path = require("path")
var absolutePath = path.resolve("./priv/static/assets/server/server.js")
const path = require("path")
const serverPath = path.resolve("./priv/static/assets/server/server.js")
module.exports.render = require("live_svelte").getRender(absolutePath)
module.exports.render = require("live_svelte").getRender(serverPath)

View file

@ -66,7 +66,7 @@ function findSlotCtx(component) {
return component.$$.ctx.find(ctxElement => ctxElement.default)
}
function getHooks(Components) {
export function getHooks(Components) {
const components = exportSvelteComponents(Components)
const SvelteHook = {
@ -108,7 +108,3 @@ function getHooks(Components) {
SvelteHook
}
}
module.exports = {
getHooks
}

View file

@ -1,9 +1,3 @@
import getRender from "./render"
import getHooks from "./hooks"
import exportSvelteComponents from './utils'
export {
getRender,
getHooks,
exportSvelteComponents
}
export {getRender} from "./render"
export {getHooks} from "./hooks"
export {exportSvelteComponents} from './utils'

View file

@ -1,4 +1,4 @@
function getRender(componentPath) {
export function getRender(componentPath) {
/***
* Render a component with the name, props and slots provided.
*/
@ -20,7 +20,3 @@ function getRender(componentPath) {
return render
}
module.exports = {
getRender
}

View file

@ -1,4 +1,4 @@
function exportSvelteComponents(components) {
export function exportSvelteComponents(components) {
let { default: modules, filenames } = components
filenames = filenames
@ -7,7 +7,3 @@ function exportSvelteComponents(components) {
return Object.assign({}, ...modules.map((m, index) => ({[filenames[index]]: m.default})))
}
module.exports = {
exportSvelteComponents
}

View file

@ -13,6 +13,12 @@ if Mix.env() == :dev do
version: "0.17.11",
module: esbuild.(~w(--format=esm --sourcemap --outfile=../priv/static/live_svelte.esm.js)),
main: esbuild.(~w(--format=cjs --sourcemap --outfile=../priv/static/live_svelte.cjs.js)),
cdn: esbuild.(~w(--format=iife --target=es2016 --global-name=LiveView --outfile=../priv/static/live_svelte.js)),
cdn_min: esbuild.(~w(--format=iife --target=es2016 --global-name=LiveView --minify --outfile=../priv/static/live_svelte.min.js))
cdn:
esbuild.(
~w(--format=iife --target=es2016 --global-name=LiveSvelte --outfile=../priv/static/live_svelte.js)
),
cdn_min:
esbuild.(
~w(--format=iife --target=es2016 --global-name=LiveSvelte --minify --outfile=../priv/static/live_svelte.min.js)
)
end

View file

@ -60,7 +60,12 @@ defmodule LiveSvelte.MixProject do
defp aliases do
[
"assets.build": ["esbuild module", "esbuild cdn", "esbuild cdn_min", "esbuild main"],
"assets.watch": ["esbuild module --watch"]
"assets.watch": [
"esbuild module --watch",
"esbuild cdn --watch",
"esbuild cdn_min --watch",
"esbuild main --watch"
]
]
end
end

View file

@ -1,12 +1,7 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
@ -19,59 +14,242 @@ var __copyProps = (to, from, except, desc) => {
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// js/live_svelte/render.js
var require_render = __commonJS({
"js/live_svelte/render.js"(exports, module2) {
function getRender2(componentPath) {
function render(name, props = {}, slots = null) {
if (require.resolve(componentPath) in require.cache) {
delete require.cache[require.resolve(componentPath)];
}
const component = require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
return render;
}
module2.exports = {
getRender: getRender2
};
}
});
// js/live_svelte/utils.js
var require_utils = __commonJS({
"js/live_svelte/utils.js"(exports, module2) {
function exportSvelteComponents2(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
module2.exports = {
exportSvelteComponents: exportSvelteComponents2
};
}
});
// js/live_svelte/index.js
var live_svelte_exports = {};
__export(live_svelte_exports, {
exportSvelteComponents: () => import_utils.default,
getHooks: () => import_render2.default,
getRender: () => import_render.default
exportSvelteComponents: () => exportSvelteComponents,
getHooks: () => getHooks,
getRender: () => getRender
});
module.exports = __toCommonJS(live_svelte_exports);
var import_render = __toESM(require_render());
var import_render2 = __toESM(require_render());
var import_utils = __toESM(require_utils());
// js/live_svelte/render.js
function getRender(componentPath) {
function render(name, props = {}, slots = null) {
if (require.resolve(componentPath) in require.cache) {
delete require.cache[require.resolve(componentPath)];
}
const component = require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
return render;
}
// ../node_modules/svelte/internal/index.mjs
function noop() {
}
function run(fn) {
return fn();
}
function run_all(fns) {
fns.forEach(run);
}
function is_function(thing) {
return typeof thing === "function";
}
function is_empty(obj) {
return Object.keys(obj).length === 0;
}
function insert(target, node, anchor) {
target.insertBefore(node, anchor || null);
}
function detach(node) {
if (node.parentNode) {
node.parentNode.removeChild(node);
}
}
var render_callbacks = [];
function flush_render_callbacks(fns) {
const filtered = [];
const targets = [];
render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c));
targets.forEach((c) => c());
render_callbacks = filtered;
}
var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global;
var _boolean_attributes = [
"allowfullscreen",
"allowpaymentrequest",
"async",
"autofocus",
"autoplay",
"checked",
"controls",
"default",
"defer",
"disabled",
"formnovalidate",
"hidden",
"inert",
"ismap",
"itemscope",
"loop",
"multiple",
"muted",
"nomodule",
"novalidate",
"open",
"playsinline",
"readonly",
"required",
"reversed",
"selected"
];
var boolean_attributes = /* @__PURE__ */ new Set([..._boolean_attributes]);
function destroy_component(component, detaching) {
const $$ = component.$$;
if ($$.fragment !== null) {
flush_render_callbacks($$.after_update);
run_all($$.on_destroy);
$$.fragment && $$.fragment.d(detaching);
$$.on_destroy = $$.fragment = null;
$$.ctx = [];
}
}
var SvelteElement;
if (typeof HTMLElement === "function") {
SvelteElement = class extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
connectedCallback() {
const { on_mount } = this.$$;
this.$$.on_disconnect = on_mount.map(run).filter(is_function);
for (const key in this.$$.slotted) {
this.appendChild(this.$$.slotted[key]);
}
}
attributeChangedCallback(attr, _oldValue, newValue) {
this[attr] = newValue;
}
disconnectedCallback() {
run_all(this.$$.on_disconnect);
}
$destroy() {
destroy_component(this, 1);
this.$destroy = noop;
}
$on(type, callback) {
if (!is_function(callback)) {
return noop;
}
const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
callbacks.push(callback);
return () => {
const index = callbacks.indexOf(callback);
if (index !== -1)
callbacks.splice(index, 1);
};
}
$set($$props) {
if (this.$$set && !is_empty($$props)) {
this.$$.skip_bound = true;
this.$$set($$props);
this.$$.skip_bound = false;
}
}
};
}
// js/live_svelte/utils.js
function exportSvelteComponents(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
// js/live_svelte/hooks.js
function base64ToElement(base64) {
let template = document.createElement("div");
template.innerHTML = atob(base64).trim();
return template;
}
function dataAttributeToJson(attributeName, el) {
const data = el.getAttribute(attributeName);
return data ? JSON.parse(data) : {};
}
function createSlots(slots, ref) {
const createSlot = (slotName, ref2) => {
let savedTarget, savedAnchor, savedElement;
return () => {
return {
getElement() {
return base64ToElement(dataAttributeToJson("data-slots", ref2.el)[slotName]);
},
update() {
const element = this.getElement();
detach(savedElement);
insert(savedTarget, element, savedAnchor);
savedElement = element;
},
c: noop,
m(target, anchor) {
const element = this.getElement();
savedTarget = target;
savedAnchor = anchor;
savedElement = element;
insert(target, element, anchor);
},
d(detaching) {
if (detaching)
detach(savedElement);
},
l: noop
};
};
};
const svelteSlots = {};
for (const slotName in slots) {
svelteSlots[slotName] = [createSlot(slotName, ref)];
}
return svelteSlots;
}
function getProps(ref) {
return {
...dataAttributeToJson("data-props", ref.el),
pushEvent: (event, data, callback) => ref.pushEvent(event, data, callback),
$$slots: createSlots(dataAttributeToJson("data-slots", ref.el), ref),
$$scope: {}
};
}
function findSlotCtx(component) {
return component.$$.ctx.find((ctxElement) => ctxElement.default);
}
function getHooks(Components) {
const components = exportSvelteComponents(Components);
const SvelteHook = {
mounted() {
const componentName = this.el.getAttribute("data-name");
if (!componentName) {
throw new Error("Component name must be provided");
}
const Component = components[componentName];
if (!Component) {
throw new Error(`Unable to find ${componentName} component.`);
}
this._instance = new Component({
target: this.el,
props: getProps(this),
hydrate: true
});
},
updated() {
this._instance.$set(getProps(this));
const slotCtx = findSlotCtx(this._instance);
for (const key in slotCtx) {
slotCtx[key][0]().update();
}
},
destroyed() {
this._instance?.$destroy();
}
};
return {
SvelteHook
};
}
//# sourceMappingURL=live_svelte.cjs.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,9 +1,3 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
@ -11,70 +5,237 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
return require.apply(this, arguments);
throw new Error('Dynamic require of "' + x + '" is not supported');
});
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// js/live_svelte/render.js
var require_render = __commonJS({
"js/live_svelte/render.js"(exports, module) {
function getRender2(componentPath) {
function render(name, props = {}, slots = null) {
if (__require.resolve(componentPath) in __require.cache) {
delete __require.cache[__require.resolve(componentPath)];
}
const component = __require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
return render;
function getRender(componentPath) {
function render(name, props = {}, slots = null) {
if (__require.resolve(componentPath) in __require.cache) {
delete __require.cache[__require.resolve(componentPath)];
}
module.exports = {
getRender: getRender2
};
const component = __require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
});
return render;
}
// ../node_modules/svelte/internal/index.mjs
function noop() {
}
function run(fn) {
return fn();
}
function run_all(fns) {
fns.forEach(run);
}
function is_function(thing) {
return typeof thing === "function";
}
function is_empty(obj) {
return Object.keys(obj).length === 0;
}
function insert(target, node, anchor) {
target.insertBefore(node, anchor || null);
}
function detach(node) {
if (node.parentNode) {
node.parentNode.removeChild(node);
}
}
var render_callbacks = [];
function flush_render_callbacks(fns) {
const filtered = [];
const targets = [];
render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c));
targets.forEach((c) => c());
render_callbacks = filtered;
}
var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global;
var _boolean_attributes = [
"allowfullscreen",
"allowpaymentrequest",
"async",
"autofocus",
"autoplay",
"checked",
"controls",
"default",
"defer",
"disabled",
"formnovalidate",
"hidden",
"inert",
"ismap",
"itemscope",
"loop",
"multiple",
"muted",
"nomodule",
"novalidate",
"open",
"playsinline",
"readonly",
"required",
"reversed",
"selected"
];
var boolean_attributes = /* @__PURE__ */ new Set([..._boolean_attributes]);
function destroy_component(component, detaching) {
const $$ = component.$$;
if ($$.fragment !== null) {
flush_render_callbacks($$.after_update);
run_all($$.on_destroy);
$$.fragment && $$.fragment.d(detaching);
$$.on_destroy = $$.fragment = null;
$$.ctx = [];
}
}
var SvelteElement;
if (typeof HTMLElement === "function") {
SvelteElement = class extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
connectedCallback() {
const { on_mount } = this.$$;
this.$$.on_disconnect = on_mount.map(run).filter(is_function);
for (const key in this.$$.slotted) {
this.appendChild(this.$$.slotted[key]);
}
}
attributeChangedCallback(attr, _oldValue, newValue) {
this[attr] = newValue;
}
disconnectedCallback() {
run_all(this.$$.on_disconnect);
}
$destroy() {
destroy_component(this, 1);
this.$destroy = noop;
}
$on(type, callback) {
if (!is_function(callback)) {
return noop;
}
const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
callbacks.push(callback);
return () => {
const index = callbacks.indexOf(callback);
if (index !== -1)
callbacks.splice(index, 1);
};
}
$set($$props) {
if (this.$$set && !is_empty($$props)) {
this.$$.skip_bound = true;
this.$$set($$props);
this.$$.skip_bound = false;
}
}
};
}
// js/live_svelte/utils.js
var require_utils = __commonJS({
"js/live_svelte/utils.js"(exports, module) {
function exportSvelteComponents2(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
module.exports = {
exportSvelteComponents: exportSvelteComponents2
};
}
});
function exportSvelteComponents(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
// js/live_svelte/index.js
var import_render = __toESM(require_render());
var import_render2 = __toESM(require_render());
var import_utils = __toESM(require_utils());
var export_exportSvelteComponents = import_utils.default;
var export_getHooks = import_render2.default;
var export_getRender = import_render.default;
// js/live_svelte/hooks.js
function base64ToElement(base64) {
let template = document.createElement("div");
template.innerHTML = atob(base64).trim();
return template;
}
function dataAttributeToJson(attributeName, el) {
const data = el.getAttribute(attributeName);
return data ? JSON.parse(data) : {};
}
function createSlots(slots, ref) {
const createSlot = (slotName, ref2) => {
let savedTarget, savedAnchor, savedElement;
return () => {
return {
getElement() {
return base64ToElement(dataAttributeToJson("data-slots", ref2.el)[slotName]);
},
update() {
const element = this.getElement();
detach(savedElement);
insert(savedTarget, element, savedAnchor);
savedElement = element;
},
c: noop,
m(target, anchor) {
const element = this.getElement();
savedTarget = target;
savedAnchor = anchor;
savedElement = element;
insert(target, element, anchor);
},
d(detaching) {
if (detaching)
detach(savedElement);
},
l: noop
};
};
};
const svelteSlots = {};
for (const slotName in slots) {
svelteSlots[slotName] = [createSlot(slotName, ref)];
}
return svelteSlots;
}
function getProps(ref) {
return {
...dataAttributeToJson("data-props", ref.el),
pushEvent: (event, data, callback) => ref.pushEvent(event, data, callback),
$$slots: createSlots(dataAttributeToJson("data-slots", ref.el), ref),
$$scope: {}
};
}
function findSlotCtx(component) {
return component.$$.ctx.find((ctxElement) => ctxElement.default);
}
function getHooks(Components) {
const components = exportSvelteComponents(Components);
const SvelteHook = {
mounted() {
const componentName = this.el.getAttribute("data-name");
if (!componentName) {
throw new Error("Component name must be provided");
}
const Component = components[componentName];
if (!Component) {
throw new Error(`Unable to find ${componentName} component.`);
}
this._instance = new Component({
target: this.el,
props: getProps(this),
hydrate: true
});
},
updated() {
this._instance.$set(getProps(this));
const slotCtx = findSlotCtx(this._instance);
for (const key in slotCtx) {
slotCtx[key][0]().update();
}
},
destroyed() {
this._instance?.$destroy();
}
};
return {
SvelteHook
};
}
export {
export_exportSvelteComponents as exportSvelteComponents,
export_getHooks as getHooks,
export_getRender as getRender
exportSvelteComponents,
getHooks,
getRender
};
//# sourceMappingURL=live_svelte.esm.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,10 +1,25 @@
var LiveView = (() => {
var __create = Object.create;
var LiveSvelte = (() => {
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
@ -12,9 +27,6 @@ var LiveView = (() => {
return require.apply(this, arguments);
throw new Error('Dynamic require of "' + x + '" is not supported');
});
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
@ -27,59 +39,242 @@ var LiveView = (() => {
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// js/live_svelte/render.js
var require_render = __commonJS({
"js/live_svelte/render.js"(exports, module) {
function getRender2(componentPath) {
function render(name, props = {}, slots = null) {
if (__require.resolve(componentPath) in __require.cache) {
delete __require.cache[__require.resolve(componentPath)];
}
const component = __require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
return render;
}
module.exports = {
getRender: getRender2
};
}
});
// js/live_svelte/utils.js
var require_utils = __commonJS({
"js/live_svelte/utils.js"(exports, module) {
function exportSvelteComponents2(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
module.exports = {
exportSvelteComponents: exportSvelteComponents2
};
}
});
// js/live_svelte/index.js
var live_svelte_exports = {};
__export(live_svelte_exports, {
exportSvelteComponents: () => import_utils.default,
getHooks: () => import_render2.default,
getRender: () => import_render.default
exportSvelteComponents: () => exportSvelteComponents,
getHooks: () => getHooks,
getRender: () => getRender
});
var import_render = __toESM(require_render());
var import_render2 = __toESM(require_render());
var import_utils = __toESM(require_utils());
// js/live_svelte/render.js
function getRender(componentPath) {
function render(name, props = {}, slots = null) {
if (__require.resolve(componentPath) in __require.cache) {
delete __require.cache[__require.resolve(componentPath)];
}
const component = __require(componentPath)[name].default;
const $$slots = Object.fromEntries(Object.entries(slots).map(([k, v]) => [k, () => v])) || {};
return component.render(props, { $$slots, context: /* @__PURE__ */ new Map() });
}
return render;
}
// ../node_modules/svelte/internal/index.mjs
function noop() {
}
function run(fn) {
return fn();
}
function run_all(fns) {
fns.forEach(run);
}
function is_function(thing) {
return typeof thing === "function";
}
function is_empty(obj) {
return Object.keys(obj).length === 0;
}
function insert(target, node, anchor) {
target.insertBefore(node, anchor || null);
}
function detach(node) {
if (node.parentNode) {
node.parentNode.removeChild(node);
}
}
var render_callbacks = [];
function flush_render_callbacks(fns) {
const filtered = [];
const targets = [];
render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c));
targets.forEach((c) => c());
render_callbacks = filtered;
}
var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global;
var _boolean_attributes = [
"allowfullscreen",
"allowpaymentrequest",
"async",
"autofocus",
"autoplay",
"checked",
"controls",
"default",
"defer",
"disabled",
"formnovalidate",
"hidden",
"inert",
"ismap",
"itemscope",
"loop",
"multiple",
"muted",
"nomodule",
"novalidate",
"open",
"playsinline",
"readonly",
"required",
"reversed",
"selected"
];
var boolean_attributes = /* @__PURE__ */ new Set([..._boolean_attributes]);
function destroy_component(component, detaching) {
const $$ = component.$$;
if ($$.fragment !== null) {
flush_render_callbacks($$.after_update);
run_all($$.on_destroy);
$$.fragment && $$.fragment.d(detaching);
$$.on_destroy = $$.fragment = null;
$$.ctx = [];
}
}
var SvelteElement;
if (typeof HTMLElement === "function") {
SvelteElement = class extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: "open" });
}
connectedCallback() {
const { on_mount } = this.$$;
this.$$.on_disconnect = on_mount.map(run).filter(is_function);
for (const key in this.$$.slotted) {
this.appendChild(this.$$.slotted[key]);
}
}
attributeChangedCallback(attr, _oldValue, newValue) {
this[attr] = newValue;
}
disconnectedCallback() {
run_all(this.$$.on_disconnect);
}
$destroy() {
destroy_component(this, 1);
this.$destroy = noop;
}
$on(type, callback) {
if (!is_function(callback)) {
return noop;
}
const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);
callbacks.push(callback);
return () => {
const index = callbacks.indexOf(callback);
if (index !== -1)
callbacks.splice(index, 1);
};
}
$set($$props) {
if (this.$$set && !is_empty($$props)) {
this.$$.skip_bound = true;
this.$$set($$props);
this.$$.skip_bound = false;
}
}
};
}
// js/live_svelte/utils.js
function exportSvelteComponents(components) {
let { default: modules, filenames } = components;
filenames = filenames.map((name) => name.replace("../svelte/components/", "")).map((name) => name.replace(".svelte", ""));
return Object.assign({}, ...modules.map((m, index) => ({ [filenames[index]]: m.default })));
}
// js/live_svelte/hooks.js
function base64ToElement(base64) {
let template = document.createElement("div");
template.innerHTML = atob(base64).trim();
return template;
}
function dataAttributeToJson(attributeName, el) {
const data = el.getAttribute(attributeName);
return data ? JSON.parse(data) : {};
}
function createSlots(slots, ref) {
const createSlot = (slotName, ref2) => {
let savedTarget, savedAnchor, savedElement;
return () => {
return {
getElement() {
return base64ToElement(dataAttributeToJson("data-slots", ref2.el)[slotName]);
},
update() {
const element = this.getElement();
detach(savedElement);
insert(savedTarget, element, savedAnchor);
savedElement = element;
},
c: noop,
m(target, anchor) {
const element = this.getElement();
savedTarget = target;
savedAnchor = anchor;
savedElement = element;
insert(target, element, anchor);
},
d(detaching) {
if (detaching)
detach(savedElement);
},
l: noop
};
};
};
const svelteSlots = {};
for (const slotName in slots) {
svelteSlots[slotName] = [createSlot(slotName, ref)];
}
return svelteSlots;
}
function getProps(ref) {
return __spreadProps(__spreadValues({}, dataAttributeToJson("data-props", ref.el)), {
pushEvent: (event, data, callback) => ref.pushEvent(event, data, callback),
$$slots: createSlots(dataAttributeToJson("data-slots", ref.el), ref),
$$scope: {}
});
}
function findSlotCtx(component) {
return component.$$.ctx.find((ctxElement) => ctxElement.default);
}
function getHooks(Components) {
const components = exportSvelteComponents(Components);
const SvelteHook = {
mounted() {
const componentName = this.el.getAttribute("data-name");
if (!componentName) {
throw new Error("Component name must be provided");
}
const Component = components[componentName];
if (!Component) {
throw new Error(`Unable to find ${componentName} component.`);
}
this._instance = new Component({
target: this.el,
props: getProps(this),
hydrate: true
});
},
updated() {
this._instance.$set(getProps(this));
const slotCtx = findSlotCtx(this._instance);
for (const key in slotCtx) {
slotCtx[key][0]().update();
}
},
destroyed() {
var _a;
(_a = this._instance) == null ? void 0 : _a.$destroy();
}
};
return {
SvelteHook
};
}
return __toCommonJS(live_svelte_exports);
})();

View file

@ -1 +1 @@
var LiveView=(()=>{var b=Object.create;var p=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var m=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var i=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),P=(e,t)=>{for(var r in t)p(e,r,{get:t[r],enumerable:!0})},l=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of E(t))!N.call(e,n)&&n!==r&&p(e,n,{get:()=>t[n],enumerable:!(o=j(t,n))||o.enumerable});return e};var s=(e,t,r)=>(r=e!=null?b(C(e)):{},l(t||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e)),R=e=>l(p({},"__esModule",{value:!0}),e);var c=i((D,u)=>{function S(e){function t(r,o={},n=null){let q=m(e)[r].default,g=Object.fromEntries(Object.entries(n).map(([h,O])=>[h,()=>O]))||{};return q.render(o,{$$slots:g,context:new Map})}return t}u.exports={getRender:S}});var f=i((M,a)=>{function $(e){let{default:t,filenames:r}=e;return r=r.map(o=>o.replace("../svelte/components/","")).map(o=>o.replace(".svelte","")),Object.assign({},...t.map((o,n)=>({[r[n]]:o.default})))}a.exports={exportSvelteComponents:$}});var k={};P(k,{exportSvelteComponents:()=>x.default,getHooks:()=>v.default,getRender:()=>d.default});var d=s(c()),v=s(c()),x=s(f());return R(k);})();
var LiveSvelte=(()=>{var a=Object.defineProperty,M=Object.defineProperties,D=Object.getOwnPropertyDescriptor,T=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertyNames,g=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var b=(t,e,n)=>e in t?a(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,w=(t,e)=>{for(var n in e||(e={}))$.call(e,n)&&b(t,n,e[n]);if(g)for(var n of g(e))j.call(e,n)&&b(t,n,e[n]);return t},F=(t,e)=>M(t,T(e));var v=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,n)=>(typeof require!="undefined"?require:e)[n]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var P=(t,e)=>{for(var n in e)a(t,n,{get:e[n],enumerable:!0})},q=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of N(e))!$.call(t,o)&&o!==n&&a(t,o,{get:()=>e[o],enumerable:!(i=D(e,o))||i.enumerable});return t};var R=t=>q(a({},"__esModule",{value:!0}),t);var U={};P(U,{exportSvelteComponents:()=>f,getHooks:()=>C,getRender:()=>x});function x(t){function e(n,i={},o=null){let d=v(t)[n].default,l=Object.fromEntries(Object.entries(o).map(([u,s])=>[u,()=>s]))||{};return d.render(i,{$$slots:l,context:new Map})}return e}function c(){}function S(t){return t()}function O(t){t.forEach(S)}function E(t){return typeof t=="function"}function L(t){return Object.keys(t).length===0}function _(t,e,n){t.insertBefore(e,n||null)}function h(t){t.parentNode&&t.parentNode.removeChild(t)}var k=[];function I(t){let e=[],n=[];k.forEach(i=>t.indexOf(i)===-1?e.push(i):n.push(i)),n.forEach(i=>i()),k=e}var K=typeof window!="undefined"?window:typeof globalThis!="undefined"?globalThis:global;var B=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Q=new Set([...B]);function H(t,e){let n=t.$$;n.fragment!==null&&(I(n.after_update),O(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}var z;typeof HTMLElement=="function"&&(z=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(S).filter(E);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(t,e,n){this[t]=n}disconnectedCallback(){O(this.$$.on_disconnect)}$destroy(){H(this,1),this.$destroy=c}$on(t,e){if(!E(e))return c;let n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return n.push(e),()=>{let i=n.indexOf(e);i!==-1&&n.splice(i,1)}}$set(t){this.$$set&&!L(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}});function f(t){let{default:e,filenames:n}=t;return n=n.map(i=>i.replace("../svelte/components/","")).map(i=>i.replace(".svelte","")),Object.assign({},...e.map((i,o)=>({[n[o]]:i.default})))}function G(t){let e=document.createElement("div");return e.innerHTML=atob(t).trim(),e}function p(t,e){let n=e.getAttribute(t);return n?JSON.parse(n):{}}function W(t,e){let n=(o,d)=>{let l,u,s;return()=>({getElement(){return G(p("data-slots",d.el)[o])},update(){let r=this.getElement();h(s),_(l,r,u),s=r},c,m(r,m){let y=this.getElement();l=r,u=m,s=y,_(r,y,m)},d(r){r&&h(s)},l:c})},i={};for(let o in t)i[o]=[n(o,e)];return i}function A(t){return F(w({},p("data-props",t.el)),{pushEvent:(e,n,i)=>t.pushEvent(e,n,i),$$slots:W(p("data-slots",t.el),t),$$scope:{}})}function J(t){return t.$$.ctx.find(e=>e.default)}function C(t){let e=f(t);return{SvelteHook:{mounted(){let i=this.el.getAttribute("data-name");if(!i)throw new Error("Component name must be provided");let o=e[i];if(!o)throw new Error(`Unable to find ${i} component.`);this._instance=new o({target:this.el,props:A(this),hydrate:!0})},updated(){this._instance.$set(A(this));let i=J(this._instance);for(let o in i)i[o][0]().update()},destroyed(){var i;(i=this._instance)==null||i.$destroy()}}}}return R(U);})();