diff --git a/examples/roll_dice_elli/priv/static/index.js b/examples/roll_dice_elli/priv/static/index.js
deleted file mode 100644
index e4a17be7..00000000
--- a/examples/roll_dice_elli/priv/static/index.js
+++ /dev/null
@@ -1,12277 +0,0 @@
-(() => {
- 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 });
- };
- 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
- ));
-
- // node_modules/htmx.org/dist/htmx.min.js
- var require_htmx_min = __commonJS({
- "node_modules/htmx.org/dist/htmx.min.js"(exports, module) {
- (function(e2, t2) {
- if (typeof define === "function" && define.amd) {
- define([], t2);
- } else if (typeof module === "object" && module.exports) {
- module.exports = t2();
- } else {
- e2.htmx = e2.htmx || t2();
- }
- })(typeof self !== "undefined" ? self : exports, function() {
- return function() {
- "use strict";
- var z = { onLoad: t, process: Tt, on: le, off: ue, trigger: ie, ajax: dr, find: b, findAll: f, closest: d, values: function(e2, t2) {
- var r2 = Jt(e2, t2 || "post");
- return r2.values;
- }, remove: B, addClass: j, removeClass: n, toggleClass: U, takeClass: V, defineExtension: yr, removeExtension: br, logAll: F, logger: null, config: { historyEnabled: true, historyCacheSize: 10, refreshOnHistoryMiss: false, defaultSwapStyle: "innerHTML", defaultSwapDelay: 0, defaultSettleDelay: 20, includeIndicatorStyles: true, indicatorClass: "htmx-indicator", requestClass: "htmx-request", addedClass: "htmx-added", settlingClass: "htmx-settling", swappingClass: "htmx-swapping", allowEval: true, inlineScriptNonce: "", attributesToSettle: ["class", "style", "width", "height"], withCredentials: false, timeout: 0, wsReconnectDelay: "full-jitter", wsBinaryType: "blob", disableSelector: "[hx-disable], [data-hx-disable]", useTemplateFragments: false, scrollBehavior: "smooth", defaultFocusScroll: false, getCacheBusterParam: false, globalViewTransitions: false }, parseInterval: v, _: e, createEventSource: function(e2) {
- return new EventSource(e2, { withCredentials: true });
- }, createWebSocket: function(e2) {
- var t2 = new WebSocket(e2, []);
- t2.binaryType = z.config.wsBinaryType;
- return t2;
- }, version: "1.9.2" };
- var C = { addTriggerHandler: xt, bodyContains: ee, canAccessLocalStorage: D, filterValues: er, hasAttribute: q, getAttributeValue: G, getClosestMatch: c, getExpressionVars: fr, getHeaders: Qt, getInputValues: Jt, getInternalData: Y, getSwapSpecification: rr, getTriggerSpecs: ze, getTarget: de, makeFragment: l, mergeObjects: te, makeSettleInfo: S, oobSwap: me, selectAndSwap: Me, settleImmediately: Bt, shouldCancel: Ke, triggerEvent: ie, triggerErrorEvent: ne, withExtensions: w };
- var R = ["get", "post", "put", "delete", "patch"];
- var O = R.map(function(e2) {
- return "[hx-" + e2 + "], [data-hx-" + e2 + "]";
- }).join(", ");
- function v(e2) {
- if (e2 == void 0) {
- return void 0;
- }
- if (e2.slice(-2) == "ms") {
- return parseFloat(e2.slice(0, -2)) || void 0;
- }
- if (e2.slice(-1) == "s") {
- return parseFloat(e2.slice(0, -1)) * 1e3 || void 0;
- }
- if (e2.slice(-1) == "m") {
- return parseFloat(e2.slice(0, -1)) * 1e3 * 60 || void 0;
- }
- return parseFloat(e2) || void 0;
- }
- function $(e2, t2) {
- return e2.getAttribute && e2.getAttribute(t2);
- }
- function q(e2, t2) {
- return e2.hasAttribute && (e2.hasAttribute(t2) || e2.hasAttribute("data-" + t2));
- }
- function G(e2, t2) {
- return $(e2, t2) || $(e2, "data-" + t2);
- }
- function u(e2) {
- return e2.parentElement;
- }
- function J() {
- return document;
- }
- function c(e2, t2) {
- while (e2 && !t2(e2)) {
- e2 = u(e2);
- }
- return e2 ? e2 : null;
- }
- function T(e2, t2, r2) {
- var n2 = G(t2, r2);
- var i2 = G(t2, "hx-disinherit");
- if (e2 !== t2 && i2 && (i2 === "*" || i2.split(" ").indexOf(r2) >= 0)) {
- return "unset";
- } else {
- return n2;
- }
- }
- function Z(t2, r2) {
- var n2 = null;
- c(t2, function(e2) {
- return n2 = T(t2, e2, r2);
- });
- if (n2 !== "unset") {
- return n2;
- }
- }
- function h(e2, t2) {
- var r2 = e2.matches || e2.matchesSelector || e2.msMatchesSelector || e2.mozMatchesSelector || e2.webkitMatchesSelector || e2.oMatchesSelector;
- return r2 && r2.call(e2, t2);
- }
- function H(e2) {
- var t2 = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i;
- var r2 = t2.exec(e2);
- if (r2) {
- return r2[1].toLowerCase();
- } else {
- return "";
- }
- }
- function i(e2, t2) {
- var r2 = new DOMParser();
- var n2 = r2.parseFromString(e2, "text/html");
- var i2 = n2.body;
- while (t2 > 0) {
- t2--;
- i2 = i2.firstChild;
- }
- if (i2 == null) {
- i2 = J().createDocumentFragment();
- }
- return i2;
- }
- function L(e2) {
- return e2.match(/
" + e2 + "", 0);
- return r2.querySelector("template").content;
- } else {
- var n2 = H(e2);
- switch (n2) {
- case "thead":
- case "tbody":
- case "tfoot":
- case "colgroup":
- case "caption":
- return i("", 1);
- case "col":
- return i("", 2);
- case "tr":
- return i("", 2);
- case "td":
- case "th":
- return i("", 3);
- case "script":
- return i("" + e2 + "
", 1);
- default:
- return i(e2, 0);
- }
- }
- }
- function K(e2) {
- if (e2) {
- e2();
- }
- }
- function A(e2, t2) {
- return Object.prototype.toString.call(e2) === "[object " + t2 + "]";
- }
- function N(e2) {
- return A(e2, "Function");
- }
- function I(e2) {
- return A(e2, "Object");
- }
- function Y(e2) {
- var t2 = "htmx-internal-data";
- var r2 = e2[t2];
- if (!r2) {
- r2 = e2[t2] = {};
- }
- return r2;
- }
- function k(e2) {
- var t2 = [];
- if (e2) {
- for (var r2 = 0; r2 < e2.length; r2++) {
- t2.push(e2[r2]);
- }
- }
- return t2;
- }
- function Q(e2, t2) {
- if (e2) {
- for (var r2 = 0; r2 < e2.length; r2++) {
- t2(e2[r2]);
- }
- }
- }
- function P(e2) {
- var t2 = e2.getBoundingClientRect();
- var r2 = t2.top;
- var n2 = t2.bottom;
- return r2 < window.innerHeight && n2 >= 0;
- }
- function ee(e2) {
- if (e2.getRootNode && e2.getRootNode() instanceof ShadowRoot) {
- return J().body.contains(e2.getRootNode().host);
- } else {
- return J().body.contains(e2);
- }
- }
- function M(e2) {
- return e2.trim().split(/\s+/);
- }
- function te(e2, t2) {
- for (var r2 in t2) {
- if (t2.hasOwnProperty(r2)) {
- e2[r2] = t2[r2];
- }
- }
- return e2;
- }
- function y(e2) {
- try {
- return JSON.parse(e2);
- } catch (e3) {
- x(e3);
- return null;
- }
- }
- function D() {
- var e2 = "htmx:localStorageTest";
- try {
- localStorage.setItem(e2, e2);
- localStorage.removeItem(e2);
- return true;
- } catch (e3) {
- return false;
- }
- }
- function X(t2) {
- try {
- var e2 = new URL(t2);
- if (e2) {
- t2 = e2.pathname + e2.search;
- }
- if (!t2.match("^/$")) {
- t2 = t2.replace(/\/+$/, "");
- }
- return t2;
- } catch (e3) {
- return t2;
- }
- }
- function e(e) {
- return sr(J().body, function() {
- return eval(e);
- });
- }
- function t(t2) {
- var e2 = z.on("htmx:load", function(e3) {
- t2(e3.detail.elt);
- });
- return e2;
- }
- function F() {
- z.logger = function(e2, t2, r2) {
- if (console) {
- console.log(t2, e2, r2);
- }
- };
- }
- function b(e2, t2) {
- if (t2) {
- return e2.querySelector(t2);
- } else {
- return b(J(), e2);
- }
- }
- function f(e2, t2) {
- if (t2) {
- return e2.querySelectorAll(t2);
- } else {
- return f(J(), e2);
- }
- }
- function B(e2, t2) {
- e2 = s(e2);
- if (t2) {
- setTimeout(function() {
- B(e2);
- e2 = null;
- }, t2);
- } else {
- e2.parentElement.removeChild(e2);
- }
- }
- function j(e2, t2, r2) {
- e2 = s(e2);
- if (r2) {
- setTimeout(function() {
- j(e2, t2);
- e2 = null;
- }, r2);
- } else {
- e2.classList && e2.classList.add(t2);
- }
- }
- function n(e2, t2, r2) {
- e2 = s(e2);
- if (r2) {
- setTimeout(function() {
- n(e2, t2);
- e2 = null;
- }, r2);
- } else {
- if (e2.classList) {
- e2.classList.remove(t2);
- if (e2.classList.length === 0) {
- e2.removeAttribute("class");
- }
- }
- }
- }
- function U(e2, t2) {
- e2 = s(e2);
- e2.classList.toggle(t2);
- }
- function V(e2, t2) {
- e2 = s(e2);
- Q(e2.parentElement.children, function(e3) {
- n(e3, t2);
- });
- j(e2, t2);
- }
- function d(e2, t2) {
- e2 = s(e2);
- if (e2.closest) {
- return e2.closest(t2);
- } else {
- do {
- if (e2 == null || h(e2, t2)) {
- return e2;
- }
- } while (e2 = e2 && u(e2));
- return null;
- }
- }
- function r(e2) {
- var t2 = e2.trim();
- if (t2.startsWith("<") && t2.endsWith("/>")) {
- return t2.substring(1, t2.length - 2);
- } else {
- return t2;
- }
- }
- function _(e2, t2) {
- if (t2.indexOf("closest ") === 0) {
- return [d(e2, r(t2.substr(8)))];
- } else if (t2.indexOf("find ") === 0) {
- return [b(e2, r(t2.substr(5)))];
- } else if (t2.indexOf("next ") === 0) {
- return [W(e2, r(t2.substr(5)))];
- } else if (t2.indexOf("previous ") === 0) {
- return [oe(e2, r(t2.substr(9)))];
- } else if (t2 === "document") {
- return [document];
- } else if (t2 === "window") {
- return [window];
- } else {
- return J().querySelectorAll(r(t2));
- }
- }
- var W = function(e2, t2) {
- var r2 = J().querySelectorAll(t2);
- for (var n2 = 0; n2 < r2.length; n2++) {
- var i2 = r2[n2];
- if (i2.compareDocumentPosition(e2) === Node.DOCUMENT_POSITION_PRECEDING) {
- return i2;
- }
- }
- };
- var oe = function(e2, t2) {
- var r2 = J().querySelectorAll(t2);
- for (var n2 = r2.length - 1; n2 >= 0; n2--) {
- var i2 = r2[n2];
- if (i2.compareDocumentPosition(e2) === Node.DOCUMENT_POSITION_FOLLOWING) {
- return i2;
- }
- }
- };
- function re(e2, t2) {
- if (t2) {
- return _(e2, t2)[0];
- } else {
- return _(J().body, e2)[0];
- }
- }
- function s(e2) {
- if (A(e2, "String")) {
- return b(e2);
- } else {
- return e2;
- }
- }
- function se(e2, t2, r2) {
- if (N(t2)) {
- return { target: J().body, event: e2, listener: t2 };
- } else {
- return { target: s(e2), event: t2, listener: r2 };
- }
- }
- function le(t2, r2, n2) {
- Sr(function() {
- var e3 = se(t2, r2, n2);
- e3.target.addEventListener(e3.event, e3.listener);
- });
- var e2 = N(r2);
- return e2 ? r2 : n2;
- }
- function ue(t2, r2, n2) {
- Sr(function() {
- var e2 = se(t2, r2, n2);
- e2.target.removeEventListener(e2.event, e2.listener);
- });
- return N(r2) ? r2 : n2;
- }
- var fe = J().createElement("output");
- function ce(e2, t2) {
- var r2 = Z(e2, t2);
- if (r2) {
- if (r2 === "this") {
- return [he(e2, t2)];
- } else {
- var n2 = _(e2, r2);
- if (n2.length === 0) {
- x('The selector "' + r2 + '" on ' + t2 + " returned no matches!");
- return [fe];
- } else {
- return n2;
- }
- }
- }
- }
- function he(e2, t2) {
- return c(e2, function(e3) {
- return G(e3, t2) != null;
- });
- }
- function de(e2) {
- var t2 = Z(e2, "hx-target");
- if (t2) {
- if (t2 === "this") {
- return he(e2, "hx-target");
- } else {
- return re(e2, t2);
- }
- } else {
- var r2 = Y(e2);
- if (r2.boosted) {
- return J().body;
- } else {
- return e2;
- }
- }
- }
- function ve(e2) {
- var t2 = z.config.attributesToSettle;
- for (var r2 = 0; r2 < t2.length; r2++) {
- if (e2 === t2[r2]) {
- return true;
- }
- }
- return false;
- }
- function ge(t2, r2) {
- Q(t2.attributes, function(e2) {
- if (!r2.hasAttribute(e2.name) && ve(e2.name)) {
- t2.removeAttribute(e2.name);
- }
- });
- Q(r2.attributes, function(e2) {
- if (ve(e2.name)) {
- t2.setAttribute(e2.name, e2.value);
- }
- });
- }
- function pe(e2, t2) {
- var r2 = wr(t2);
- for (var n2 = 0; n2 < r2.length; n2++) {
- var i2 = r2[n2];
- try {
- if (i2.isInlineSwap(e2)) {
- return true;
- }
- } catch (e3) {
- x(e3);
- }
- }
- return e2 === "outerHTML";
- }
- function me(e2, i2, a2) {
- var t2 = "#" + i2.id;
- var o2 = "outerHTML";
- if (e2 === "true") {
- } else if (e2.indexOf(":") > 0) {
- o2 = e2.substr(0, e2.indexOf(":"));
- t2 = e2.substr(e2.indexOf(":") + 1, e2.length);
- } else {
- o2 = e2;
- }
- var r2 = J().querySelectorAll(t2);
- if (r2) {
- Q(r2, function(e3) {
- var t3;
- var r3 = i2.cloneNode(true);
- t3 = J().createDocumentFragment();
- t3.appendChild(r3);
- if (!pe(o2, e3)) {
- t3 = r3;
- }
- var n2 = { shouldSwap: true, target: e3, fragment: t3 };
- if (!ie(e3, "htmx:oobBeforeSwap", n2))
- return;
- e3 = n2.target;
- if (n2["shouldSwap"]) {
- ke(o2, e3, e3, t3, a2);
- }
- Q(a2.elts, function(e4) {
- ie(e4, "htmx:oobAfterSwap", n2);
- });
- });
- i2.parentNode.removeChild(i2);
- } else {
- i2.parentNode.removeChild(i2);
- ne(J().body, "htmx:oobErrorNoTarget", { content: i2 });
- }
- return e2;
- }
- function xe(e2, t2, r2) {
- var n2 = Z(e2, "hx-select-oob");
- if (n2) {
- var i2 = n2.split(",");
- for (let e3 = 0; e3 < i2.length; e3++) {
- var a2 = i2[e3].split(":", 2);
- var o2 = a2[0].trim();
- if (o2.indexOf("#") === 0) {
- o2 = o2.substring(1);
- }
- var s2 = a2[1] || "true";
- var l2 = t2.querySelector("#" + o2);
- if (l2) {
- me(s2, l2, r2);
- }
- }
- }
- Q(f(t2, "[hx-swap-oob], [data-hx-swap-oob]"), function(e3) {
- var t3 = G(e3, "hx-swap-oob");
- if (t3 != null) {
- me(t3, e3, r2);
- }
- });
- }
- function ye(e2) {
- Q(f(e2, "[hx-preserve], [data-hx-preserve]"), function(e3) {
- var t2 = G(e3, "id");
- var r2 = J().getElementById(t2);
- if (r2 != null) {
- e3.parentNode.replaceChild(r2, e3);
- }
- });
- }
- function be(a2, e2, o2) {
- Q(e2.querySelectorAll("[id]"), function(e3) {
- if (e3.id && e3.id.length > 0) {
- var t2 = e3.id.replace("'", "\\'");
- var r2 = e3.tagName.replace(":", "\\:");
- var n2 = a2.querySelector(r2 + "[id='" + t2 + "']");
- if (n2 && n2 !== a2) {
- var i2 = e3.cloneNode();
- ge(e3, n2);
- o2.tasks.push(function() {
- ge(e3, i2);
- });
- }
- }
- });
- }
- function we(e2) {
- return function() {
- n(e2, z.config.addedClass);
- Tt(e2);
- bt(e2);
- Se(e2);
- ie(e2, "htmx:load");
- };
- }
- function Se(e2) {
- var t2 = "[autofocus]";
- var r2 = h(e2, t2) ? e2 : e2.querySelector(t2);
- if (r2 != null) {
- r2.focus();
- }
- }
- function a(e2, t2, r2, n2) {
- be(e2, r2, n2);
- while (r2.childNodes.length > 0) {
- var i2 = r2.firstChild;
- j(i2, z.config.addedClass);
- e2.insertBefore(i2, t2);
- if (i2.nodeType !== Node.TEXT_NODE && i2.nodeType !== Node.COMMENT_NODE) {
- n2.tasks.push(we(i2));
- }
- }
- }
- function Ee(e2, t2) {
- var r2 = 0;
- while (r2 < e2.length) {
- t2 = (t2 << 5) - t2 + e2.charCodeAt(r2++) | 0;
- }
- return t2;
- }
- function Ce(e2) {
- var t2 = 0;
- if (e2.attributes) {
- for (var r2 = 0; r2 < e2.attributes.length; r2++) {
- var n2 = e2.attributes[r2];
- if (n2.value) {
- t2 = Ee(n2.name, t2);
- t2 = Ee(n2.value, t2);
- }
- }
- }
- return t2;
- }
- function Re(t2) {
- var r2 = Y(t2);
- if (r2.timeout) {
- clearTimeout(r2.timeout);
- }
- if (r2.webSocket) {
- r2.webSocket.close();
- }
- if (r2.sseEventSource) {
- r2.sseEventSource.close();
- }
- if (r2.listenerInfos) {
- Q(r2.listenerInfos, function(e2) {
- if (e2.on) {
- e2.on.removeEventListener(e2.trigger, e2.listener);
- }
- });
- }
- if (r2.onHandlers) {
- for (let e2 = 0; e2 < r2.onHandlers.length; e2++) {
- const n2 = r2.onHandlers[e2];
- t2.removeEventListener(n2.name, n2.handler);
- }
- }
- }
- function o(e2) {
- ie(e2, "htmx:beforeCleanupElement");
- Re(e2);
- if (e2.children) {
- Q(e2.children, function(e3) {
- o(e3);
- });
- }
- }
- function Oe(e2, t2, r2) {
- if (e2.tagName === "BODY") {
- return Ne(e2, t2, r2);
- } else {
- var n2;
- var i2 = e2.previousSibling;
- a(u(e2), e2, t2, r2);
- if (i2 == null) {
- n2 = u(e2).firstChild;
- } else {
- n2 = i2.nextSibling;
- }
- Y(e2).replacedWith = n2;
- r2.elts = [];
- while (n2 && n2 !== e2) {
- if (n2.nodeType === Node.ELEMENT_NODE) {
- r2.elts.push(n2);
- }
- n2 = n2.nextElementSibling;
- }
- o(e2);
- u(e2).removeChild(e2);
- }
- }
- function qe(e2, t2, r2) {
- return a(e2, e2.firstChild, t2, r2);
- }
- function Te(e2, t2, r2) {
- return a(u(e2), e2, t2, r2);
- }
- function He(e2, t2, r2) {
- return a(e2, null, t2, r2);
- }
- function Le(e2, t2, r2) {
- return a(u(e2), e2.nextSibling, t2, r2);
- }
- function Ae(e2, t2, r2) {
- o(e2);
- return u(e2).removeChild(e2);
- }
- function Ne(e2, t2, r2) {
- var n2 = e2.firstChild;
- a(e2, n2, t2, r2);
- if (n2) {
- while (n2.nextSibling) {
- o(n2.nextSibling);
- e2.removeChild(n2.nextSibling);
- }
- o(n2);
- e2.removeChild(n2);
- }
- }
- function Ie(e2, t2) {
- var r2 = Z(e2, "hx-select");
- if (r2) {
- var n2 = J().createDocumentFragment();
- Q(t2.querySelectorAll(r2), function(e3) {
- n2.appendChild(e3);
- });
- t2 = n2;
- }
- return t2;
- }
- function ke(e2, t2, r2, n2, i2) {
- switch (e2) {
- case "none":
- return;
- case "outerHTML":
- Oe(r2, n2, i2);
- return;
- case "afterbegin":
- qe(r2, n2, i2);
- return;
- case "beforebegin":
- Te(r2, n2, i2);
- return;
- case "beforeend":
- He(r2, n2, i2);
- return;
- case "afterend":
- Le(r2, n2, i2);
- return;
- case "delete":
- Ae(r2, n2, i2);
- return;
- default:
- var a2 = wr(t2);
- for (var o2 = 0; o2 < a2.length; o2++) {
- var s2 = a2[o2];
- try {
- var l2 = s2.handleSwap(e2, r2, n2, i2);
- if (l2) {
- if (typeof l2.length !== "undefined") {
- for (var u2 = 0; u2 < l2.length; u2++) {
- var f2 = l2[u2];
- if (f2.nodeType !== Node.TEXT_NODE && f2.nodeType !== Node.COMMENT_NODE) {
- i2.tasks.push(we(f2));
- }
- }
- }
- return;
- }
- } catch (e3) {
- x(e3);
- }
- }
- if (e2 === "innerHTML") {
- Ne(r2, n2, i2);
- } else {
- ke(z.config.defaultSwapStyle, t2, r2, n2, i2);
- }
- }
- }
- function Pe(e2) {
- if (e2.indexOf(" -1) {
- var t2 = e2.replace(/