diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index bead363d..eb55c333 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -12,5 +12,8 @@ module.exports = {
"vue/require-default-prop": 0,
"indent": ["error", 4],
"quotes": ["error", "double"],
+ "object-curly-spacing": ["error", "always"],
+ "semi": ["error", "always"],
+ "comma-spacing": ["error", { "before": false, "after": true }]
}
-}
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index 81d78519..95f8965b 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -10,9 +10,10 @@ jobs:
matrix:
php: [8.1, 8.0]
laravel: [9.*]
+ ssr: [true, false]
dependency-version: [prefer-lowest, prefer-stable]
- name: P${{ matrix.php }} - ${{ matrix.dependency-version }}
+ name: Test P${{ matrix.php }} - L${{ matrix.laravel }} - SSR ${{ matrix.ssr }} - ${{ matrix.dependency-version }}
steps:
- name: Checkout code
@@ -75,12 +76,24 @@ jobs:
cd app
php artisan websockets:serve &
+ - name: Start SSR server
+ run: |
+ cd app
+ sed -i -e "s|SPLADE_SSR_ENABLED=false|SPLADE_SSR_ENABLED=true|g" .env
+ node bootstrap/ssr/ssr.js &
+ if: matrix.ssr == true
+
- name: Run Laravel Server
run: |
cd app
php artisan serve &
- - name: Execute tests
+ - name: Execute Feature/Unit tests
+ run: |
+ cd app
+ php artisan test
+
+ - name: Execute Dusk tests
run: |
cd app
php artisan dusk
@@ -112,3 +125,56 @@ jobs:
with:
name: logs
path: app/storage/logs
+
+ stub-tests:
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: true
+ matrix:
+ php: [8.1, 8.0]
+ laravel: [9.*]
+ dependency-version: [prefer-lowest, prefer-stable]
+
+ name: Test Stubs P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
+
+ steps:
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, mysql, mysqli, pdo_mysql
+ coverage: none
+
+ - name: Setup Laravel
+ run: |
+ composer create-project laravel/laravel:^9 .
+ composer require protonemedia/laravel-splade
+ rm -rf vendor/protonemedia/laravel-splade
+
+ - name: Checkout code
+ uses: actions/checkout@v2
+ with:
+ path: "vendor/protonemedia/laravel-splade"
+
+ - name: Install Splade
+ run: |
+ composer dump
+ php artisan splade:install
+
+ - name: Install NPM dependencies
+ run: |
+ npm i
+ rm -rf node_modules/@protonemedia/laravel-splade/dist
+ cp -R vendor/protonemedia/laravel-splade/dist node_modules/@protonemedia/laravel-splade/
+
+ - name: Compile assets
+ run: npm run build
+
+ - name: Start SSR server
+ run: |
+ echo "SPLADE_SSR_ENABLED=true" >> .env
+ node bootstrap/ssr/ssr.mjs &
+
+ - name: Run Test command
+ run: php artisan splade:ssr-test
diff --git a/.gitignore b/.gitignore
index 5bcc033c..32adfa20 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ testbench.yaml
vendor
node_modules
protonemedia-laravel-splade-*.tgz
+app/bootstrap/ssr*
diff --git a/app/.env.example b/app/.env.example
index 5be53091..3bcabcec 100644
--- a/app/.env.example
+++ b/app/.env.example
@@ -45,3 +45,5 @@ VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
+
+SPLADE_SSR_ENABLED=false
\ No newline at end of file
diff --git a/app/app/Http/Controllers/EventController.php b/app/app/Http/Controllers/EventController.php
deleted file mode 100644
index 61d5d07e..00000000
--- a/app/app/Http/Controllers/EventController.php
+++ /dev/null
@@ -1,36 +0,0 @@
-=10"
@@ -1526,9 +1526,9 @@
}
},
"node_modules/rollup": {
- "version": "2.77.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz",
- "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==",
+ "version": "2.77.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz",
+ "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -1814,7 +1814,7 @@
},
"@protonemedia/laravel-splade": {
"version": "file:../protonemedia-laravel-splade-0.1.2.tgz",
- "integrity": "sha512-TRrXHCF0iEFt6BzUfmRsVRNYjV42cne5+GLv0o5NqntajAlFwS2BIOQyIm8NvO+Oj7GQ+x4oWC/IukJXN41tQg==",
+ "integrity": "sha512-Fkn1KER2VZtCgnh6Gh7MK+N76zVvGg49CcobSh6ZgchVs6o/bWwX01qcQQU1Tddc0xzStli7fc+AInviePN/Og==",
"dev": true,
"requires": {}
},
@@ -2039,15 +2039,15 @@
}
},
"browserslist": {
- "version": "4.21.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz",
- "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==",
+ "version": "4.21.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
+ "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001366",
- "electron-to-chromium": "^1.4.188",
+ "caniuse-lite": "^1.0.30001370",
+ "electron-to-chromium": "^1.4.202",
"node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.4"
+ "update-browserslist-db": "^1.0.5"
}
},
"camelcase-css": {
@@ -2152,9 +2152,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.4.199",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz",
- "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==",
+ "version": "1.4.202",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.202.tgz",
+ "integrity": "sha512-JYsK2ex9lmQD27kj19fhXYxzFJ/phLAkLKHv49A5UY6kMRV2xED3qMMLg/voW/+0AR6wMiI+VxlmK9NDtdxlPA==",
"dev": true
},
"esbuild": {
@@ -2473,9 +2473,9 @@
"dev": true
},
"laravel-echo": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.12.1.tgz",
- "integrity": "sha512-zLI5z1Q+ipqsT4XInFMmHXHmk2Mh5KBH6+l8GAZg+tWc3IKSiOHni7XA8ndJAQCNqrDupnDX+TAk5P0XjwLjGA==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.13.0.tgz",
+ "integrity": "sha512-KWcr9Sthr8DUfrFtCKNMGq4IRTmswW+Xu92eL1yH2V7/C/3XGOxrTgzTB98jnk423gy+1DMyaavnujG9HeY3Jg==",
"dev": true
},
"laravel-vite-plugin": {
@@ -2746,9 +2746,9 @@
"dev": true
},
"rollup": {
- "version": "2.77.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz",
- "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==",
+ "version": "2.77.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz",
+ "integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==",
"dev": true,
"requires": {
"fsevents": "~2.3.2"
diff --git a/app/package.json b/app/package.json
index 94c03fa0..8948a7c6 100644
--- a/app/package.json
+++ b/app/package.json
@@ -2,9 +2,10 @@
"private": true,
"scripts": {
"dev": "vite",
- "build": "vite build"
+ "build": "vite build && vite build --ssr"
},
"devDependencies": {
+ "@protonemedia/laravel-splade": "file:../protonemedia-laravel-splade-0.1.2.tgz",
"@tailwindcss/forms": "^0.5.2",
"@tailwindcss/typography": "^0.5.2",
"@vitejs/plugin-vue": "^2.3.3",
@@ -17,7 +18,6 @@
"pusher-js": "^7.2.0",
"tailwindcss": "^3.1.0",
"vite": "^2.9.11",
- "vue": "^3.2.37",
- "@protonemedia/laravel-splade": "file:../protonemedia-laravel-splade-0.1.2.tgz"
+ "vue": "^3.2.37"
}
}
\ No newline at end of file
diff --git a/app/phpunit.xml.dist b/app/phpunit.xml.dist
new file mode 100644
index 00000000..38b5f726
--- /dev/null
+++ b/app/phpunit.xml.dist
@@ -0,0 +1,26 @@
+
+
+
+
+ ./tests/Unit
+
+
+ ./tests/Feature
+
+
+
+
+ ./app
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/resources/js/app.js b/app/resources/js/app.js
index b695a01f..721dd8b7 100644
--- a/app/resources/js/app.js
+++ b/app/resources/js/app.js
@@ -1,21 +1,21 @@
-import './bootstrap';
-import '../css/app.css';
+import "./bootstrap";
+import "../css/app.css";
-import { createApp } from 'vue'
+import { createApp } from "vue";
// for dev
-// import { renderSpladeApp, SpladePlugin } from '../../../dist/protone-media-laravel-splade'
+// import { renderSpladeApp, SpladePlugin } from "../../../dist/protone-media-laravel-splade";
// for build
-import { renderSpladeApp, SpladePlugin } from '@protonemedia/laravel-splade'
+import { renderSpladeApp, SpladePlugin } from "@protonemedia/laravel-splade";
-const el = document.getElementById('app')
+const el = document.getElementById("app");
createApp({
render: renderSpladeApp({ el })
})
.use(SpladePlugin, {
- 'max_keep_alive': 10,
- 'transform_anchors': false,
+ "max_keep_alive": 10,
+ "transform_anchors": false,
})
.mount(el);
diff --git a/app/resources/js/bootstrap.js b/app/resources/js/bootstrap.js
index 3d53a141..9ee06b1a 100644
--- a/app/resources/js/bootstrap.js
+++ b/app/resources/js/bootstrap.js
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import _ from "lodash";
window._ = _;
/**
@@ -7,10 +7,10 @@ window._ = _;
* CSRF token as a header based on the value of the "XSRF" token cookie.
*/
-import axios from 'axios';
+import axios from "axios";
window.axios = axios;
-window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
/**
* Echo exposes an expressive API for subscribing to channels and listening
@@ -18,20 +18,20 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
* allows your team to easily build robust real-time web applications.
*/
-import Echo from 'laravel-echo';
+import Echo from "laravel-echo";
-import Pusher from 'pusher-js';
+import Pusher from "pusher-js";
window.Pusher = Pusher;
const echoConfig = {
- broadcaster: 'pusher',
- cluster: 'eu',
+ broadcaster: "pusher",
+ cluster: "eu",
key: import.meta.env.VITE_PUSHER_APP_KEY,
wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
- forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
- enabledTransports: ['ws', 'wss'],
+ forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? "https") === "https",
+ enabledTransports: ["ws", "wss"],
};
window.Echo = new Echo(echoConfig);
diff --git a/app/resources/js/ssr.js b/app/resources/js/ssr.js
new file mode 100644
index 00000000..320cdb45
--- /dev/null
+++ b/app/resources/js/ssr.js
@@ -0,0 +1,16 @@
+import { createServer } from "http";
+import { createSSRApp } from "vue";
+import { renderToString } from "vue/server-renderer";
+
+// for dev
+// import { renderSpladeApp, SpladePlugin, startServer } from "../../../dist/protone-media-laravel-splade";
+
+// for build
+import { renderSpladeApp, SpladePlugin, startServer } from "@protonemedia/laravel-splade";
+
+startServer(createServer, renderToString, (props) => {
+ return createSSRApp({
+ render: renderSpladeApp(props)
+ })
+ .use(SpladePlugin);
+});
\ No newline at end of file
diff --git a/app/tests/Feature/SsrTest.php b/app/tests/Feature/SsrTest.php
new file mode 100644
index 00000000..fe23aee8
--- /dev/null
+++ b/app/tests/Feature/SsrTest.php
@@ -0,0 +1,32 @@
+markTestSkipped('SSR not enabled');
+ }
+
+ $data = (new Ssr)->render(
+ components: SpladeMiddleware::renderedComponents(),
+ html: view('form.default')->render(),
+ splade: (object) [],
+ );
+
+ $this->assertArrayHasKey('body', $data);
+
+ // evaluated form
+ $this->assertStringContainsString('
', $data['body']);
+
+ // rendered components
+ $this->assertStringContainsString('grid grid-cols-3 grid-flow-row-3', $data['body']);
+ }
+}
diff --git a/app/tests/Unit/.gitkeep b/app/tests/Unit/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/app/vite.config.js b/app/vite.config.js
index cd8734f6..6aedad37 100644
--- a/app/vite.config.js
+++ b/app/vite.config.js
@@ -1,11 +1,12 @@
-import { defineConfig } from 'vite';
-import laravel from 'laravel-vite-plugin';
-import vue from '@vitejs/plugin-vue';
+import { defineConfig } from "vite";
+import laravel from "laravel-vite-plugin";
+import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [
laravel({
- input: 'resources/js/app.js',
+ input: "resources/js/app.js",
+ ssr: "resources/js/ssr.js",
refresh: true,
}),
vue({
@@ -22,7 +23,7 @@ export default defineConfig({
},
resolve: {
alias: {
- vue: 'vue/dist/vue.esm-bundler.js'
+ vue: "vue/dist/vue.esm-bundler.js"
}
- },
+ }
});
\ No newline at end of file
diff --git a/config/splade.php b/config/splade.php
index 17acce19..ad22868f 100644
--- a/config/splade.php
+++ b/config/splade.php
@@ -8,4 +8,15 @@
'blade' => [
'component_prefix' => 'splade',
],
+
+ 'ssr' => [
+
+ 'enabled' => env('SPLADE_SSR_ENABLED', false),
+
+ 'server' => 'http://127.0.0.1:9000/',
+
+ 'blade_fallback' => true,
+
+ ],
+
];
diff --git a/dist/protone-media-laravel-splade.js b/dist/protone-media-laravel-splade.js
index e0586792..761ce46d 100644
--- a/dist/protone-media-laravel-splade.js
+++ b/dist/protone-media-laravel-splade.js
@@ -1,344 +1,339 @@
-import or from "axios";
-import { ref as v, computed as O, createApp as rn, watch as Ee, openBlock as z, createBlock as Se, unref as ee, h as x, compile as nn, onMounted as R, createElementBlock as He, createElementVNode as an, provide as U, inject as q, nextTick as ir, Fragment as ke, KeepAlive as on, normalizeClass as sn, createVNode as ln, renderList as un, createCommentVNode as cn, cloneVNode as fn, watchEffect as G, defineComponent as B, onUnmounted as ve, Teleport as dn, reactive as pn, withModifiers as hn, renderSlot as mn } from "vue";
-function vn(e, t) {
+import ar from "axios";
+import { ref as h, computed as w, watch as Se, openBlock as N, createBlock as ge, unref as X, h as $, onMounted as P, createElementBlock as je, createElementVNode as sn, provide as L, inject as B, nextTick as ir, resolveDynamicComponent as ln, withCtx as un, normalizeClass as cn, createVNode as fn, Fragment as ut, renderList as dn, createCommentVNode as pn, cloneVNode as hn, watchEffect as M, defineComponent as A, onUnmounted as pe, Teleport as vn, reactive as mn, withModifiers as gn, renderSlot as yn } from "vue";
+function bn(e, t) {
for (var r = -1, n = e == null ? 0 : e.length; ++r < n && t(e[r], r, e) !== !1; )
;
return e;
}
-function gn(e) {
+function wn(e) {
return function(t, r, n) {
- for (var a = -1, o = Object(t), i = n(t), l = i.length; l--; ) {
- var s = i[e ? l : ++a];
- if (r(o[s], s, o) === !1)
+ for (var a = -1, i = Object(t), o = n(t), l = o.length; l--; ) {
+ var s = o[e ? l : ++a];
+ if (r(i[s], s, i) === !1)
break;
}
return t;
};
}
-var yn = gn();
-const bn = yn;
-function wn(e, t) {
+var Sn = wn();
+const _n = Sn;
+function On(e, t) {
for (var r = -1, n = Array(e); ++r < e; )
n[r] = t(r);
return n;
}
-var _n = typeof global == "object" && global && global.Object === Object && global;
-const sr = _n;
-var Sn = typeof self == "object" && self && self.Object === Object && self, $n = sr || Sn || Function("return this")();
-const J = $n;
-var On = J.Symbol;
-const re = On;
-var lr = Object.prototype, Tn = lr.hasOwnProperty, En = lr.toString, we = re ? re.toStringTag : void 0;
-function An(e) {
- var t = Tn.call(e, we), r = e[we];
+var $n = typeof global == "object" && global && global.Object === Object && global;
+const or = $n;
+var Tn = typeof self == "object" && self && self.Object === Object && self, En = or || Tn || Function("return this")();
+const G = En;
+var Pn = G.Symbol;
+const Q = Pn;
+var sr = Object.prototype, An = sr.hasOwnProperty, xn = sr.toString, ve = Q ? Q.toStringTag : void 0;
+function Dn(e) {
+ var t = An.call(e, ve), r = e[ve];
try {
- e[we] = void 0;
+ e[ve] = void 0;
var n = !0;
} catch {
}
- var a = En.call(e);
- return n && (t ? e[we] = r : delete e[we]), a;
+ var a = xn.call(e);
+ return n && (t ? e[ve] = r : delete e[ve]), a;
}
-var Pn = Object.prototype, xn = Pn.toString;
-function Dn(e) {
- return xn.call(e);
+var Cn = Object.prototype, Fn = Cn.toString;
+function jn(e) {
+ return Fn.call(e);
}
-var Fn = "[object Null]", Cn = "[object Undefined]", Ct = re ? re.toStringTag : void 0;
-function ae(e) {
- return e == null ? e === void 0 ? Cn : Fn : Ct && Ct in Object(e) ? An(e) : Dn(e);
+var Rn = "[object Null]", Bn = "[object Undefined]", Ct = Q ? Q.toStringTag : void 0;
+function ee(e) {
+ return e == null ? e === void 0 ? Bn : Rn : Ct && Ct in Object(e) ? Dn(e) : jn(e);
}
-function ne(e) {
+function Z(e) {
return e != null && typeof e == "object";
}
-var jn = "[object Arguments]";
-function jt(e) {
- return ne(e) && ae(e) == jn;
+var In = "[object Arguments]";
+function Ft(e) {
+ return Z(e) && ee(e) == In;
}
-var ur = Object.prototype, Rn = ur.hasOwnProperty, Bn = ur.propertyIsEnumerable, Ln = jt(function() {
+var lr = Object.prototype, Ln = lr.hasOwnProperty, Mn = lr.propertyIsEnumerable, qn = Ft(function() {
return arguments;
-}()) ? jt : function(e) {
- return ne(e) && Rn.call(e, "callee") && !Bn.call(e, "callee");
+}()) ? Ft : function(e) {
+ return Z(e) && Ln.call(e, "callee") && !Mn.call(e, "callee");
};
-const cr = Ln;
-var In = Array.isArray;
-const M = In;
-function Mn() {
+const ur = qn;
+var Nn = Array.isArray;
+const R = Nn;
+function Hn() {
return !1;
}
-var fr = typeof exports == "object" && exports && !exports.nodeType && exports, Rt = fr && typeof module == "object" && module && !module.nodeType && module, qn = Rt && Rt.exports === fr, Bt = qn ? J.Buffer : void 0, Nn = Bt ? Bt.isBuffer : void 0, Hn = Nn || Mn;
-const et = Hn;
-var kn = 9007199254740991, Un = /^(?:0|[1-9]\d*)$/;
-function mt(e, t) {
+var cr = typeof exports == "object" && exports && !exports.nodeType && exports, jt = cr && typeof module == "object" && module && !module.nodeType && module, kn = jt && jt.exports === cr, Rt = kn ? G.Buffer : void 0, Un = Rt ? Rt.isBuffer : void 0, Gn = Un || Hn;
+const We = Gn;
+var Kn = 9007199254740991, zn = /^(?:0|[1-9]\d*)$/;
+function ct(e, t) {
var r = typeof e;
- return t = t == null ? kn : t, !!t && (r == "number" || r != "symbol" && Un.test(e)) && e > -1 && e % 1 == 0 && e < t;
+ return t = t == null ? Kn : t, !!t && (r == "number" || r != "symbol" && zn.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
-var Gn = 9007199254740991;
-function vt(e) {
- return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Gn;
+var Wn = 9007199254740991;
+function ft(e) {
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Wn;
}
-var Kn = "[object Arguments]", zn = "[object Array]", Wn = "[object Boolean]", Xn = "[object Date]", Jn = "[object Error]", Yn = "[object Function]", Vn = "[object Map]", Qn = "[object Number]", Zn = "[object Object]", ea = "[object RegExp]", ta = "[object Set]", ra = "[object String]", na = "[object WeakMap]", aa = "[object ArrayBuffer]", oa = "[object DataView]", ia = "[object Float32Array]", sa = "[object Float64Array]", la = "[object Int8Array]", ua = "[object Int16Array]", ca = "[object Int32Array]", fa = "[object Uint8Array]", da = "[object Uint8ClampedArray]", pa = "[object Uint16Array]", ha = "[object Uint32Array]", w = {};
-w[ia] = w[sa] = w[la] = w[ua] = w[ca] = w[fa] = w[da] = w[pa] = w[ha] = !0;
-w[Kn] = w[zn] = w[aa] = w[Wn] = w[oa] = w[Xn] = w[Jn] = w[Yn] = w[Vn] = w[Qn] = w[Zn] = w[ea] = w[ta] = w[ra] = w[na] = !1;
-function ma(e) {
- return ne(e) && vt(e.length) && !!w[ae(e)];
+var Jn = "[object Arguments]", Xn = "[object Array]", Yn = "[object Boolean]", Vn = "[object Date]", Qn = "[object Error]", Zn = "[object Function]", ea = "[object Map]", ta = "[object Number]", ra = "[object Object]", na = "[object RegExp]", aa = "[object Set]", ia = "[object String]", oa = "[object WeakMap]", sa = "[object ArrayBuffer]", la = "[object DataView]", ua = "[object Float32Array]", ca = "[object Float64Array]", fa = "[object Int8Array]", da = "[object Int16Array]", pa = "[object Int32Array]", ha = "[object Uint8Array]", va = "[object Uint8ClampedArray]", ma = "[object Uint16Array]", ga = "[object Uint32Array]", y = {};
+y[ua] = y[ca] = y[fa] = y[da] = y[pa] = y[ha] = y[va] = y[ma] = y[ga] = !0;
+y[Jn] = y[Xn] = y[sa] = y[Yn] = y[la] = y[Vn] = y[Qn] = y[Zn] = y[ea] = y[ta] = y[ra] = y[na] = y[aa] = y[ia] = y[oa] = !1;
+function ya(e) {
+ return Z(e) && ft(e.length) && !!y[ee(e)];
}
-function va(e) {
+function ba(e) {
return function(t) {
return e(t);
};
}
-var dr = typeof exports == "object" && exports && !exports.nodeType && exports, $e = dr && typeof module == "object" && module && !module.nodeType && module, ga = $e && $e.exports === dr, Je = ga && sr.process, ya = function() {
+var fr = typeof exports == "object" && exports && !exports.nodeType && exports, ye = fr && typeof module == "object" && module && !module.nodeType && module, wa = ye && ye.exports === fr, He = wa && or.process, Sa = function() {
try {
- var e = $e && $e.require && $e.require("util").types;
- return e || Je && Je.binding && Je.binding("util");
+ var e = ye && ye.require && ye.require("util").types;
+ return e || He && He.binding && He.binding("util");
} catch {
}
}();
-const Lt = ya;
-var It = Lt && Lt.isTypedArray, ba = It ? va(It) : ma;
-const pr = ba;
-var wa = Object.prototype, _a = wa.hasOwnProperty;
-function Sa(e, t) {
- var r = M(e), n = !r && cr(e), a = !r && !n && et(e), o = !r && !n && !a && pr(e), i = r || n || a || o, l = i ? wn(e.length, String) : [], s = l.length;
+const Bt = Sa;
+var It = Bt && Bt.isTypedArray, _a = It ? ba(It) : ya;
+const dr = _a;
+var Oa = Object.prototype, $a = Oa.hasOwnProperty;
+function Ta(e, t) {
+ var r = R(e), n = !r && ur(e), a = !r && !n && We(e), i = !r && !n && !a && dr(e), o = r || n || a || i, l = o ? On(e.length, String) : [], s = l.length;
for (var u in e)
- (t || _a.call(e, u)) && !(i && (u == "length" || a && (u == "offset" || u == "parent") || o && (u == "buffer" || u == "byteLength" || u == "byteOffset") || mt(u, s))) && l.push(u);
+ (t || $a.call(e, u)) && !(o && (u == "length" || a && (u == "offset" || u == "parent") || i && (u == "buffer" || u == "byteLength" || u == "byteOffset") || ct(u, s))) && l.push(u);
return l;
}
-var $a = Object.prototype;
-function Oa(e) {
- var t = e && e.constructor, r = typeof t == "function" && t.prototype || $a;
+var Ea = Object.prototype;
+function Pa(e) {
+ var t = e && e.constructor, r = typeof t == "function" && t.prototype || Ea;
return e === r;
}
-function Ta(e, t) {
+function Aa(e, t) {
return function(r) {
return e(t(r));
};
}
-var Ea = Ta(Object.keys, Object);
-const Aa = Ea;
-var Pa = Object.prototype, xa = Pa.hasOwnProperty;
-function Da(e) {
- if (!Oa(e))
- return Aa(e);
+var xa = Aa(Object.keys, Object);
+const Da = xa;
+var Ca = Object.prototype, Fa = Ca.hasOwnProperty;
+function ja(e) {
+ if (!Pa(e))
+ return Da(e);
var t = [];
for (var r in Object(e))
- xa.call(e, r) && r != "constructor" && t.push(r);
+ Fa.call(e, r) && r != "constructor" && t.push(r);
return t;
}
-function me(e) {
+function ce(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
-var Fa = "[object AsyncFunction]", Ca = "[object Function]", ja = "[object GeneratorFunction]", Ra = "[object Proxy]";
-function hr(e) {
- if (!me(e))
+var Ra = "[object AsyncFunction]", Ba = "[object Function]", Ia = "[object GeneratorFunction]", La = "[object Proxy]";
+function pr(e) {
+ if (!ce(e))
return !1;
- var t = ae(e);
- return t == Ca || t == ja || t == Fa || t == Ra;
+ var t = ee(e);
+ return t == Ba || t == Ia || t == Ra || t == La;
}
-function mr(e) {
- return e != null && vt(e.length) && !hr(e);
+function hr(e) {
+ return e != null && ft(e.length) && !pr(e);
}
-function gt(e) {
- return mr(e) ? Sa(e) : Da(e);
+function dt(e) {
+ return hr(e) ? Ta(e) : ja(e);
}
-function yt(e, t) {
- return e && bn(e, t, gt);
+function pt(e, t) {
+ return e && _n(e, t, dt);
}
-function Ba(e, t) {
+function Ma(e, t) {
return function(r, n) {
if (r == null)
return r;
- if (!mr(r))
+ if (!hr(r))
return e(r, n);
- for (var a = r.length, o = t ? a : -1, i = Object(r); (t ? o-- : ++o < a) && n(i[o], o, i) !== !1; )
+ for (var a = r.length, i = t ? a : -1, o = Object(r); (t ? i-- : ++i < a) && n(o[i], i, o) !== !1; )
;
return r;
};
}
-var La = Ba(yt);
-const Ia = La;
+var qa = Ma(pt);
+const Na = qa;
function vr(e) {
return e;
}
-function gr(e) {
+function mr(e) {
return typeof e == "function" ? e : vr;
}
-function Ma(e, t) {
- var r = M(e) ? vn : Ia;
- return r(e, gr(t));
-}
-var qa = Array.prototype, Na = qa.reverse;
-function Ha(e) {
- return e == null ? e : Na.call(e);
-}
-const ka = {
- __name: "SpladeCore",
- setup(e, { expose: t }) {
- const r = v(1);
- function n(c, $) {
- window.addEventListener("popstate", a.bind(this)), S($), P(c);
- const D = o(location.href, c, {}, r.value);
- l(D);
- }
- function a(c) {
- s.value = c.state, f.value = 0, P(s.value.html, s.value.rememberedState.scrollY);
- }
- function o(c, $, D, be) {
- const Q = {
- url: c,
- html: $,
- rememberedState: D,
- pageVisitId: be
- };
- return s.value = Q, Q;
- }
- function i(c) {
- window.history.pushState(c, "", c.url);
- }
- function l(c) {
- window.history.replaceState(c, "", c.url);
- }
- const s = v({});
- function u(c) {
- const $ = c.request.responseURL;
- if (c.data.splade.modal && f.value++, S(c.data.splade), c.data.splade.modal)
- return Re(c.data.html, c.data.splade.modal);
- ($ !== s.value.url || c.data.splade.refresh || f.value > 0) && (f.value = 0, r.value++, P(c.data.html, 0));
- const D = o($, c.data.html, s.value.rememberedState ? { ...s.value.rememberedState } : {}, r.value);
- i(D);
- }
- const f = v(0);
- function p() {
- f.value--;
- }
- const d = v({}), g = v({}), h = (c) => g.value[c], T = (c) => Object.keys(h.value[c]).length > 0, E = v({}), F = (c) => E.value[c], A = v([]), K = O(() => Ha(A.value));
- function N(c) {
- A.value.push(c);
- }
- function C(c) {
- A.value[c].dismissed = !0, A.value[c].html = null;
- }
- const j = v(null);
- function _(c, $, D, be) {
- let Q, H;
- const Ie = new Promise((en, tn) => {
- Q = en, H = tn;
- });
- return j.value = {
- title: c,
- text: $,
- confirmButton: D,
- cancelButton: be,
- resolvePromise: Q,
- rejectPromise: H
- }, Ie;
- }
- function b() {
- j.value = null;
- }
- function S(c) {
- d.value = c.shared ? c.shared : {}, E.value[f.value] = c.flash ? c.flash : {}, Ma(c.toasts ? c.toasts : [], ($) => {
- A.value.push($);
- }), g.value[f.value] = c.errors ? c.errors : {};
- }
- function y(c) {
- Ft.value(c);
- }
- function P(c, $) {
- xt.value(c, $);
- }
- function Re(c, $) {
- Dt.value(c, $);
- }
- const ye = v({});
- function pe(c, $, D) {
- ye.value[c] = $, D && Be(c, $);
- }
- function Be(c, $) {
- let D = JSON.parse(localStorage.getItem("splade") || "{}") || {};
- D[c] = $, localStorage.setItem("splade", JSON.stringify(D));
- }
- function Le(c, $) {
- return $ ? (JSON.parse(localStorage.getItem("splade") || "{}") || {})[c] : ye.value[c];
- }
- function oe(c, $, D, be) {
- pe("scrollY", window.scrollY);
- const Q = or({
- method: $,
- url: c,
- data: D,
- headers: {
- "X-Splade": !0,
- "X-Requested-With": "XMLHttpRequest",
- Accept: "text/html, application/xhtml+xml",
- ...be
- }
- });
- return Q.then((H) => {
- u(H);
- }).catch((H) => {
- const Ie = H.response.data.splade;
- Ie && S(Ie), H.response.status != 422 && y(H.response.data.html ? H.response.data.html : H.response.data);
- }), Q;
- }
- function Yr(c) {
- oe(c, "GET", {}, {});
- }
- function Vr(c) {
- oe(c, "GET", {}, { "X-Splade-Modal": "modal" });
- }
- function Qr(c) {
- oe(c, "GET", {}, { "X-Splade-Modal": "slideover" });
- }
- function Zr() {
- oe(s.value.url, "GET", {}, { "X-Splade-Refresh": !0 });
+function Ha(e, t) {
+ var r = R(e) ? bn : Na;
+ return r(e, mr(t));
+}
+var ka = Array.prototype, Ua = ka.reverse;
+function Ga(e) {
+ return e == null ? e : Ua.call(e);
+}
+const Je = h(1), fe = typeof window > "u";
+function Ka(e, t) {
+ fe || window.addEventListener("popstate", za.bind(this)), vt(t), mt(e);
+ const r = fe ? "" : location.href, n = gr(r, e, {}, Je.value);
+ Ja(n);
+}
+function za(e) {
+ H.value = e.state, V.value = 0, mt(H.value.html, H.value.rememberedState.scrollY);
+}
+function gr(e, t, r, n) {
+ const a = {
+ url: e,
+ html: t,
+ rememberedState: r,
+ pageVisitId: n
+ };
+ return H.value = a, a;
+}
+function Wa(e) {
+ fe || window.history.pushState(e, "", e.url);
+}
+function Ja(e) {
+ fe || window.history.replaceState(e, "", e.url);
+}
+const H = h({});
+function Xa(e) {
+ const t = e.request.responseURL;
+ if (e.data.splade.modal && V.value++, vt(e.data.splade), e.data.splade.modal)
+ return ii(e.data.html, e.data.splade.modal);
+ (t !== H.value.url || e.data.splade.refresh || V.value > 0) && (V.value = 0, Je.value++, mt(e.data.html, 0));
+ const r = gr(t, e.data.html, H.value.rememberedState ? { ...H.value.rememberedState } : {}, Je.value);
+ Wa(r);
+}
+const V = h(0);
+function Ya() {
+ V.value--;
+}
+const yr = h({}), br = h({}), wr = (e) => br.value[e], Va = (e) => Object.keys(wr.value[e]).length > 0, Sr = h({}), Qa = (e) => Sr.value[e], de = h([]), Za = w(() => Ga(de.value));
+function ei(e) {
+ de.value.push(e);
+}
+function ti(e) {
+ de.value[e].dismissed = !0, de.value[e].html = null;
+}
+const ht = h(null);
+function ri(e, t, r, n) {
+ let a, i;
+ const o = new Promise((l, s) => {
+ a = l, i = s;
+ });
+ return ht.value = {
+ title: e,
+ text: t,
+ confirmButton: r,
+ cancelButton: n,
+ resolvePromise: a,
+ rejectPromise: i
+ }, o;
+}
+function ni() {
+ ht.value = null;
+}
+function vt(e) {
+ yr.value = e.shared ? e.shared : {}, Sr.value[V.value] = e.flash ? e.flash : {}, Ha(e.toasts ? e.toasts : [], (t) => {
+ de.value.push(t);
+ }), br.value[V.value] = e.errors ? e.errors : {};
+}
+function ai(e) {
+ Er.value(e);
+}
+function mt(e, t) {
+ $r.value(e, t);
+}
+function ii(e, t) {
+ Tr.value(e, t);
+}
+const _r = h({});
+function Or(e, t, r) {
+ _r.value[e] = t, r && oi(e, t);
+}
+function oi(e, t) {
+ let r = JSON.parse(localStorage.getItem("splade") || "{}") || {};
+ r[e] = t, localStorage.setItem("splade", JSON.stringify(r));
+}
+function si(e, t) {
+ return t ? (JSON.parse(localStorage.getItem("splade") || "{}") || {})[e] : _r.value[e];
+}
+function Te(e, t, r, n) {
+ fe || Or("scrollY", window.scrollY);
+ const a = ar({
+ method: t,
+ url: e,
+ data: r,
+ headers: {
+ "X-Splade": !0,
+ "X-Requested-With": "XMLHttpRequest",
+ Accept: "text/html, application/xhtml+xml",
+ ...n
}
- const xt = v(() => {
- }), Dt = v(() => {
- }), Ft = v(() => {
- });
- return t({
- init: n,
- visit: Yr,
- modal: Vr,
- slideover: Qr,
- refresh: Zr,
- request: oe,
- setOnHtml(c) {
- xt.value = c;
- },
- setOnModal(c) {
- Dt.value = c;
- },
- setOnServerError(c) {
- Ft.value = c;
- },
- hasValidationErrors: T,
- validationErrors: h,
- sharedData: d,
- flashData: F,
- toasts: A,
- toastsReversed: K,
- confirmModal: j,
- confirm: _,
- clearConfirmModal: b,
- pushToast: N,
- dismissToast: C,
- restore: Le,
- remember: pe,
- popStack: p,
- currentStack: f,
- pageVisitId: O(() => s.value.pageVisitId)
- }), () => {
- };
- }
-}, Ua = document.createElement("div"), m = rn(ka).mount(Ua);
-var Ga = "[object String]";
-function Ka(e) {
- return typeof e == "string" || !M(e) && ne(e) && ae(e) == Ga;
+ });
+ return a.then((i) => {
+ Xa(i);
+ }).catch((i) => {
+ console.log(i);
+ const o = i.response.data.splade;
+ o && vt(o), i.response.status != 422 && ai(i.response.data.html ? i.response.data.html : i.response.data);
+ }), a;
}
-const Oe = {
+function li(e) {
+ Te(e, "GET", {}, {});
+}
+function ui(e) {
+ Te(e, "GET", {}, { "X-Splade-Modal": "modal" });
+}
+function ci(e) {
+ Te(e, "GET", {}, { "X-Splade-Modal": "slideover" });
+}
+function fi() {
+ Te(H.value.url, "GET", {}, { "X-Splade-Refresh": !0 });
+}
+const $r = h(() => {
+}), Tr = h(() => {
+}), Er = h(() => {
+}), d = {
+ init: Ka,
+ visit: li,
+ modal: ui,
+ slideover: ci,
+ refresh: fi,
+ request: Te,
+ setOnHtml(e) {
+ $r.value = e;
+ },
+ setOnModal(e) {
+ Tr.value = e;
+ },
+ setOnServerError(e) {
+ Er.value = e;
+ },
+ hasValidationErrors: Va,
+ validationErrors: wr,
+ sharedData: yr,
+ flashData: Qa,
+ toasts: de,
+ toastsReversed: Za,
+ confirmModal: ht,
+ confirm: ri,
+ clearConfirmModal: ni,
+ pushToast: ei,
+ dismissToast: ti,
+ restore: si,
+ remember: Or,
+ popStack: Ya,
+ currentStack: V,
+ pageVisitId: w(() => H.value.pageVisitId),
+ isSsr: fe
+};
+var di = "[object String]";
+function ke(e) {
+ return typeof e == "string" || !R(e) && Z(e) && ee(e) == di;
+}
+const be = {
__name: "Render",
props: {
html: {
@@ -348,15 +343,15 @@ const Oe = {
}
},
setup(e) {
- const t = e, r = v(null);
+ const t = e, r = h(null);
function n() {
- r.value = x({
- render: nn(t.html)
+ r.value = $({
+ template: t.html
});
}
- return Ee(() => t.html, n, { immediate: !0 }), (a, o) => (z(), Se(ee(r)));
+ return Se(() => t.html, n, { immediate: !0 }), (a, i) => (N(), ge(X(r)));
}
-}, za = {
+}, pi = {
__name: "ServerError",
props: {
html: {
@@ -368,123 +363,157 @@ const Oe = {
setup(e, { emit: t }) {
const r = e;
function n() {
- document.body.style.overflow = "visible", document.removeEventListener("keydown", i), t("close");
+ document.body.style.overflow = "visible", document.removeEventListener("keydown", o), t("close");
}
- const a = v(null);
- function o() {
+ const a = h(null);
+ function i() {
const l = document.createElement("html");
l.innerHTML = r.html, l.querySelectorAll("a").forEach((u) => u.setAttribute("target", "_top")), document.body.style.overflow = "hidden";
const s = a.value;
if (!s.contentWindow)
throw new Error("iframe not yet ready.");
- s.contentWindow.document.open(), s.contentWindow.document.write(l.outerHTML), s.contentWindow.document.close(), document.addEventListener("keydown", i);
+ s.contentWindow.document.open(), s.contentWindow.document.write(l.outerHTML), s.contentWindow.document.close(), document.addEventListener("keydown", o);
}
- function i(l) {
+ function o(l) {
l.keyCode === 27 && n();
}
- return R(() => o()), (l, s) => (z(), He("div", {
+ return P(() => i()), (l, s) => (N(), je("div", {
class: "w-screen h-screen fixed p-8 bg-black bg-opacity-75 inset-0 z-[200000] box-border",
onClick: n
}, [
- an("iframe", {
+ sn("iframe", {
ref_key: "iframeElement",
ref: a,
class: "bg-white w-full h-full"
}, null, 512)
]));
}
-}, Wa = {
+}, hi = {
__name: "SpladeApp",
props: {
el: {
type: [String, Object],
- required: !0
+ required: !1,
+ default: ""
+ },
+ components: {
+ type: String,
+ required: !1,
+ default: (e) => {
+ if (!d.isSsr) {
+ const t = ke(e.el) ? document.getElementById(e.el) : e.el;
+ return JSON.parse(t.dataset.components) || "";
+ }
+ }
+ },
+ initialHtml: {
+ type: String,
+ required: !1,
+ default: (e) => {
+ if (!d.isSsr) {
+ const t = ke(e.el) ? document.getElementById(e.el) : e.el;
+ return JSON.parse(t.dataset.html) || "";
+ }
+ }
+ },
+ initialSpladeData: {
+ type: Object,
+ required: !1,
+ default: (e) => {
+ if (!d.isSsr) {
+ const t = ke(e.el) ? document.getElementById(e.el) : e.el;
+ return JSON.parse(t.dataset.splade) || {};
+ }
+ }
}
},
setup(e) {
- const t = e, r = Ka(t.el) ? document.getElementById(t.el) : t.el, n = JSON.parse(r.dataset.components), a = JSON.parse(r.dataset.html), o = JSON.parse(r.dataset.splade);
- U("stack", 0);
- const i = v(), l = v([]), s = v(null);
- function u() {
- s.value = null;
- }
- function f(d) {
- l[d] = null, m.popStack();
- }
- const p = q("$spladeOptions");
- return m.setOnHtml((d, g) => {
- l.value = [], i.value = d, ir(() => {
- window.scrollTo(0, g), p.transform_anchors && [...document.querySelectorAll("a")].forEach((h) => {
- h.href == "" || h.href.charAt(0) == "#" || h.__vnode.dynamicProps === null && (h.hasAttribute("download") || (h.onclick = function(T) {
- T.preventDefault(), m.visit(h.href);
+ const t = e;
+ L("stack", 0);
+ const r = h(), n = h([]), a = h(null);
+ function i() {
+ a.value = null;
+ }
+ function o(s) {
+ n[s] = null, d.popStack();
+ }
+ const l = B("$spladeOptions") || {};
+ return d.setOnHtml((s, u) => {
+ n.value = [], r.value = s, ir(() => {
+ d.isSsr || window.scrollTo(0, u), l.transform_anchors && [...document.querySelectorAll("a")].forEach((c) => {
+ c.href == "" || c.href.charAt(0) == "#" || c.__vnode.dynamicProps === null && (c.hasAttribute("download") || (c.onclick = function(f) {
+ f.preventDefault(), d.visit(c.href);
}));
});
});
- }), m.setOnModal(function(d, g) {
- l.value[m.currentStack] = { html: d, type: g };
- }), m.setOnServerError(function(d) {
- s.value = d;
- }), m.init(a, o), (d, g) => (z(), He(ke, null, [
- (z(), Se(on, {
- max: ee(p).max_keep_alive
- }, [
- (z(), Se(Oe, {
- key: `visit.${ee(m).pageVisitId}`,
- class: sn({
- "transition ease-in-out blur-sm": ee(m).currentStack > 0
- }),
- html: i.value
- }, null, 8, ["class", "html"]))
- ], 1032, ["max"])),
- ln(Oe, { html: ee(n) }, null, 8, ["html"]),
- (z(!0), He(ke, null, un(ee(m).currentStack, (h) => (z(), Se(Oe, {
- key: `modal.${h}`,
- type: l.value[h].type,
- html: l.value[h].html,
- stack: h,
- "on-top-of-stack": ee(m).currentStack === h,
- onClose: (T) => f(h)
+ }), d.setOnModal(function(s, u) {
+ n.value[d.currentStack.value] = { html: s, type: u };
+ }), d.setOnServerError(function(s) {
+ a.value = s;
+ }), d.init(t.initialHtml, t.initialSpladeData), (s, u) => (N(), je("div", null, [
+ (N(), ge(ln(X(d).isSsr ? "div" : "keep-alive"), {
+ max: X(l).max_keep_alive
+ }, {
+ default: un(() => [
+ (N(), ge(be, {
+ key: `visit.${X(d).pageVisitId.value}`,
+ class: cn({
+ "transition ease-in-out blur-sm": X(d).currentStack > 0
+ }),
+ html: r.value
+ }, null, 8, ["class", "html"]))
+ ]),
+ _: 1
+ }, 8, ["max"])),
+ fn(be, { html: e.components }, null, 8, ["html"]),
+ (N(!0), je(ut, null, dn(X(d).currentStack.value, (c) => (N(), ge(be, {
+ key: `modal.${c}`,
+ type: n.value[c].type,
+ html: n.value[c].html,
+ stack: c,
+ "on-top-of-stack": X(d).currentStack.value === c,
+ onClose: (f) => o(c)
}, null, 8, ["type", "html", "stack", "on-top-of-stack", "onClose"]))), 128)),
- s.value ? (z(), Se(za, {
+ a.value ? (N(), ge(pi, {
key: 0,
- html: s.value,
- onClose: u
- }, null, 8, ["html"])) : cn("", !0)
- ], 64));
+ html: a.value,
+ onClose: i
+ }, null, 8, ["html"])) : pn("", !0)
+ ]));
}
};
-function vl(e) {
- return () => x(Wa, e);
+function Ll(e) {
+ return () => $(hi, e);
}
-var Xa = Object.prototype, Ja = Xa.hasOwnProperty;
-function Ya(e, t) {
- return e != null && Ja.call(e, t);
+var vi = Object.prototype, mi = vi.hasOwnProperty;
+function gi(e, t) {
+ return e != null && mi.call(e, t);
}
-var Va = "[object Symbol]";
-function bt(e) {
- return typeof e == "symbol" || ne(e) && ae(e) == Va;
+var yi = "[object Symbol]";
+function gt(e) {
+ return typeof e == "symbol" || Z(e) && ee(e) == yi;
}
-var Qa = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Za = /^\w*$/;
-function wt(e, t) {
- if (M(e))
+var bi = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, wi = /^\w*$/;
+function yt(e, t) {
+ if (R(e))
return !1;
var r = typeof e;
- return r == "number" || r == "symbol" || r == "boolean" || e == null || bt(e) ? !0 : Za.test(e) || !Qa.test(e) || t != null && e in Object(t);
+ return r == "number" || r == "symbol" || r == "boolean" || e == null || gt(e) ? !0 : wi.test(e) || !bi.test(e) || t != null && e in Object(t);
}
-var eo = J["__core-js_shared__"];
-const Ye = eo;
-var Mt = function() {
- var e = /[^.]+$/.exec(Ye && Ye.keys && Ye.keys.IE_PROTO || "");
+var Si = G["__core-js_shared__"];
+const Ue = Si;
+var Lt = function() {
+ var e = /[^.]+$/.exec(Ue && Ue.keys && Ue.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
-function to(e) {
- return !!Mt && Mt in e;
+function _i(e) {
+ return !!Lt && Lt in e;
}
-var ro = Function.prototype, no = ro.toString;
-function ce(e) {
+var Oi = Function.prototype, $i = Oi.toString;
+function oe(e) {
if (e != null) {
try {
- return no.call(e);
+ return $i.call(e);
} catch {
}
try {
@@ -494,261 +523,261 @@ function ce(e) {
}
return "";
}
-var ao = /[\\^$.*+?()[\]{}|]/g, oo = /^\[object .+?Constructor\]$/, io = Function.prototype, so = Object.prototype, lo = io.toString, uo = so.hasOwnProperty, co = RegExp("^" + lo.call(uo).replace(ao, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
-function fo(e) {
- if (!me(e) || to(e))
+var Ti = /[\\^$.*+?()[\]{}|]/g, Ei = /^\[object .+?Constructor\]$/, Pi = Function.prototype, Ai = Object.prototype, xi = Pi.toString, Di = Ai.hasOwnProperty, Ci = RegExp("^" + xi.call(Di).replace(Ti, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
+function Fi(e) {
+ if (!ce(e) || _i(e))
return !1;
- var t = hr(e) ? co : oo;
- return t.test(ce(e));
+ var t = pr(e) ? Ci : Ei;
+ return t.test(oe(e));
}
-function po(e, t) {
+function ji(e, t) {
return e == null ? void 0 : e[t];
}
-function fe(e, t) {
- var r = po(e, t);
- return fo(r) ? r : void 0;
+function se(e, t) {
+ var r = ji(e, t);
+ return Fi(r) ? r : void 0;
}
-var ho = fe(Object, "create");
-const Ae = ho;
-function mo() {
- this.__data__ = Ae ? Ae(null) : {}, this.size = 0;
+var Ri = se(Object, "create");
+const _e = Ri;
+function Bi() {
+ this.__data__ = _e ? _e(null) : {}, this.size = 0;
}
-function vo(e) {
+function Ii(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
-var go = "__lodash_hash_undefined__", yo = Object.prototype, bo = yo.hasOwnProperty;
-function wo(e) {
+var Li = "__lodash_hash_undefined__", Mi = Object.prototype, qi = Mi.hasOwnProperty;
+function Ni(e) {
var t = this.__data__;
- if (Ae) {
+ if (_e) {
var r = t[e];
- return r === go ? void 0 : r;
+ return r === Li ? void 0 : r;
}
- return bo.call(t, e) ? t[e] : void 0;
+ return qi.call(t, e) ? t[e] : void 0;
}
-var _o = Object.prototype, So = _o.hasOwnProperty;
-function $o(e) {
+var Hi = Object.prototype, ki = Hi.hasOwnProperty;
+function Ui(e) {
var t = this.__data__;
- return Ae ? t[e] !== void 0 : So.call(t, e);
+ return _e ? t[e] !== void 0 : ki.call(t, e);
}
-var Oo = "__lodash_hash_undefined__";
-function To(e, t) {
+var Gi = "__lodash_hash_undefined__";
+function Ki(e, t) {
var r = this.__data__;
- return this.size += this.has(e) ? 0 : 1, r[e] = Ae && t === void 0 ? Oo : t, this;
+ return this.size += this.has(e) ? 0 : 1, r[e] = _e && t === void 0 ? Gi : t, this;
}
-function le(e) {
+function ae(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
-le.prototype.clear = mo;
-le.prototype.delete = vo;
-le.prototype.get = wo;
-le.prototype.has = $o;
-le.prototype.set = To;
-function Eo() {
+ae.prototype.clear = Bi;
+ae.prototype.delete = Ii;
+ae.prototype.get = Ni;
+ae.prototype.has = Ui;
+ae.prototype.set = Ki;
+function zi() {
this.__data__ = [], this.size = 0;
}
-function _t(e, t) {
+function bt(e, t) {
return e === t || e !== e && t !== t;
}
-function ze(e, t) {
+function Le(e, t) {
for (var r = e.length; r--; )
- if (_t(e[r][0], t))
+ if (bt(e[r][0], t))
return r;
return -1;
}
-var Ao = Array.prototype, Po = Ao.splice;
-function xo(e) {
- var t = this.__data__, r = ze(t, e);
+var Wi = Array.prototype, Ji = Wi.splice;
+function Xi(e) {
+ var t = this.__data__, r = Le(t, e);
if (r < 0)
return !1;
var n = t.length - 1;
- return r == n ? t.pop() : Po.call(t, r, 1), --this.size, !0;
+ return r == n ? t.pop() : Ji.call(t, r, 1), --this.size, !0;
}
-function Do(e) {
- var t = this.__data__, r = ze(t, e);
+function Yi(e) {
+ var t = this.__data__, r = Le(t, e);
return r < 0 ? void 0 : t[r][1];
}
-function Fo(e) {
- return ze(this.__data__, e) > -1;
+function Vi(e) {
+ return Le(this.__data__, e) > -1;
}
-function Co(e, t) {
- var r = this.__data__, n = ze(r, e);
+function Qi(e, t) {
+ var r = this.__data__, n = Le(r, e);
return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;
}
-function Y(e) {
+function K(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
-Y.prototype.clear = Eo;
-Y.prototype.delete = xo;
-Y.prototype.get = Do;
-Y.prototype.has = Fo;
-Y.prototype.set = Co;
-var jo = fe(J, "Map");
-const Pe = jo;
-function Ro() {
+K.prototype.clear = zi;
+K.prototype.delete = Xi;
+K.prototype.get = Yi;
+K.prototype.has = Vi;
+K.prototype.set = Qi;
+var Zi = se(G, "Map");
+const Oe = Zi;
+function eo() {
this.size = 0, this.__data__ = {
- hash: new le(),
- map: new (Pe || Y)(),
- string: new le()
+ hash: new ae(),
+ map: new (Oe || K)(),
+ string: new ae()
};
}
-function Bo(e) {
+function to(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
-function We(e, t) {
+function Me(e, t) {
var r = e.__data__;
- return Bo(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
+ return to(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
}
-function Lo(e) {
- var t = We(this, e).delete(e);
+function ro(e) {
+ var t = Me(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
-function Io(e) {
- return We(this, e).get(e);
+function no(e) {
+ return Me(this, e).get(e);
}
-function Mo(e) {
- return We(this, e).has(e);
+function ao(e) {
+ return Me(this, e).has(e);
}
-function qo(e, t) {
- var r = We(this, e), n = r.size;
+function io(e, t) {
+ var r = Me(this, e), n = r.size;
return r.set(e, t), this.size += r.size == n ? 0 : 1, this;
}
-function V(e) {
+function z(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
-V.prototype.clear = Ro;
-V.prototype.delete = Lo;
-V.prototype.get = Io;
-V.prototype.has = Mo;
-V.prototype.set = qo;
-var No = "Expected a function";
-function St(e, t) {
+z.prototype.clear = eo;
+z.prototype.delete = ro;
+z.prototype.get = no;
+z.prototype.has = ao;
+z.prototype.set = io;
+var oo = "Expected a function";
+function wt(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
- throw new TypeError(No);
+ throw new TypeError(oo);
var r = function() {
- var n = arguments, a = t ? t.apply(this, n) : n[0], o = r.cache;
- if (o.has(a))
- return o.get(a);
- var i = e.apply(this, n);
- return r.cache = o.set(a, i) || o, i;
+ var n = arguments, a = t ? t.apply(this, n) : n[0], i = r.cache;
+ if (i.has(a))
+ return i.get(a);
+ var o = e.apply(this, n);
+ return r.cache = i.set(a, o) || i, o;
};
- return r.cache = new (St.Cache || V)(), r;
+ return r.cache = new (wt.Cache || z)(), r;
}
-St.Cache = V;
-var Ho = 500;
-function ko(e) {
- var t = St(e, function(n) {
- return r.size === Ho && r.clear(), n;
+wt.Cache = z;
+var so = 500;
+function lo(e) {
+ var t = wt(e, function(n) {
+ return r.size === so && r.clear(), n;
}), r = t.cache;
return t;
}
-var Uo = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Go = /\\(\\)?/g, Ko = ko(function(e) {
+var uo = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, co = /\\(\\)?/g, fo = lo(function(e) {
var t = [];
- return e.charCodeAt(0) === 46 && t.push(""), e.replace(Uo, function(r, n, a, o) {
- t.push(a ? o.replace(Go, "$1") : n || r);
+ return e.charCodeAt(0) === 46 && t.push(""), e.replace(uo, function(r, n, a, i) {
+ t.push(a ? i.replace(co, "$1") : n || r);
}), t;
});
-const zo = Ko;
-function Wo(e, t) {
+const po = fo;
+function ho(e, t) {
for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )
a[r] = t(e[r], r, e);
return a;
}
-var Xo = 1 / 0, qt = re ? re.prototype : void 0, Nt = qt ? qt.toString : void 0;
-function yr(e) {
+var vo = 1 / 0, Mt = Q ? Q.prototype : void 0, qt = Mt ? Mt.toString : void 0;
+function Pr(e) {
if (typeof e == "string")
return e;
- if (M(e))
- return Wo(e, yr) + "";
- if (bt(e))
- return Nt ? Nt.call(e) : "";
+ if (R(e))
+ return ho(e, Pr) + "";
+ if (gt(e))
+ return qt ? qt.call(e) : "";
var t = e + "";
- return t == "0" && 1 / e == -Xo ? "-0" : t;
+ return t == "0" && 1 / e == -vo ? "-0" : t;
}
-function Jo(e) {
- return e == null ? "" : yr(e);
+function mo(e) {
+ return e == null ? "" : Pr(e);
}
-function $t(e, t) {
- return M(e) ? e : wt(e, t) ? [e] : zo(Jo(e));
+function St(e, t) {
+ return R(e) ? e : yt(e, t) ? [e] : po(mo(e));
}
-var Yo = 1 / 0;
-function De(e) {
- if (typeof e == "string" || bt(e))
+var go = 1 / 0;
+function Ee(e) {
+ if (typeof e == "string" || gt(e))
return e;
var t = e + "";
- return t == "0" && 1 / e == -Yo ? "-0" : t;
+ return t == "0" && 1 / e == -go ? "-0" : t;
}
-function br(e, t, r) {
- t = $t(t, e);
- for (var n = -1, a = t.length, o = !1; ++n < a; ) {
- var i = De(t[n]);
- if (!(o = e != null && r(e, i)))
+function Ar(e, t, r) {
+ t = St(t, e);
+ for (var n = -1, a = t.length, i = !1; ++n < a; ) {
+ var o = Ee(t[n]);
+ if (!(i = e != null && r(e, o)))
break;
- e = e[i];
+ e = e[o];
}
- return o || ++n != a ? o : (a = e == null ? 0 : e.length, !!a && vt(a) && mt(i, a) && (M(e) || cr(e)));
+ return i || ++n != a ? i : (a = e == null ? 0 : e.length, !!a && ft(a) && ct(o, a) && (R(e) || ur(e)));
}
-function k(e, t) {
- return e != null && br(e, t, Ya);
+function I(e, t) {
+ return e != null && Ar(e, t, gi);
}
-function I(e, t, ...r) {
+function j(e, t, ...r) {
if (e in t) {
let a = t[e];
return typeof a == "function" ? a(...r) : a;
}
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((a) => `"${a}"`).join(", ")}.`);
- throw Error.captureStackTrace && Error.captureStackTrace(n, I), n;
-}
-var Ue = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Ue || {}), te = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(te || {});
-function L({ visible: e = !0, features: t = 0, ourProps: r, theirProps: n, ...a }) {
- var o;
- let i = Vo(n, r), l = Object.assign(a, { props: i });
- if (e || t & 2 && i.static)
- return Ve(l);
+ throw Error.captureStackTrace && Error.captureStackTrace(n, j), n;
+}
+var Re = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Re || {}), Y = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Y || {});
+function x({ visible: e = !0, features: t = 0, ourProps: r, theirProps: n, ...a }) {
+ var i;
+ let o = yo(n, r), l = Object.assign(a, { props: o });
+ if (e || t & 2 && o.static)
+ return Ge(l);
if (t & 1) {
- let s = (o = i.unmount) == null || o ? 0 : 1;
- return I(s, { [0]() {
+ let s = (i = o.unmount) == null || i ? 0 : 1;
+ return j(s, { [0]() {
return null;
}, [1]() {
- return Ve({ ...a, props: { ...i, hidden: !0, style: { display: "none" } } });
+ return Ge({ ...a, props: { ...o, hidden: !0, style: { display: "none" } } });
} });
}
- return Ve(l);
-}
-function Ve({ props: e, attrs: t, slots: r, slot: n, name: a }) {
- var o;
- let { as: i, ...l } = _r(e, ["unmount", "static"]), s = (o = r.default) == null ? void 0 : o.call(r, n), u = {};
- if (i === "template") {
- if (s = wr(s), Object.keys(l).length > 0 || Object.keys(t).length > 0) {
- let [f, ...p] = s != null ? s : [];
- if (!Qo(f) || p.length > 0)
- throw new Error(['Passing props on "template"!', "", `The current component <${a} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(l).concat(Object.keys(t)).sort((d, g) => d.localeCompare(g)).map((d) => ` - ${d}`).join(`
-`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', "Render a single element as the child so that we can forward the props onto that element."].map((d) => ` - ${d}`).join(`
+ return Ge(l);
+}
+function Ge({ props: e, attrs: t, slots: r, slot: n, name: a }) {
+ var i;
+ let { as: o, ...l } = Dr(e, ["unmount", "static"]), s = (i = r.default) == null ? void 0 : i.call(r, n), u = {};
+ if (o === "template") {
+ if (s = xr(s), Object.keys(l).length > 0 || Object.keys(t).length > 0) {
+ let [c, ...f] = s != null ? s : [];
+ if (!bo(c) || f.length > 0)
+ throw new Error(['Passing props on "template"!', "", `The current component <${a} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(l).concat(Object.keys(t)).sort((p, v) => p.localeCompare(v)).map((p) => ` - ${p}`).join(`
+`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', "Render a single element as the child so that we can forward the props onto that element."].map((p) => ` - ${p}`).join(`
`)].join(`
`));
- return fn(f, Object.assign({}, l, u));
+ return hn(c, Object.assign({}, l, u));
}
return Array.isArray(s) && s.length === 1 ? s[0] : s;
}
- return x(i, Object.assign({}, l, u), s);
+ return $(o, Object.assign({}, l, u), s);
}
-function wr(e) {
- return e.flatMap((t) => t.type === ke ? wr(t.children) : [t]);
+function xr(e) {
+ return e.flatMap((t) => t.type === ut ? xr(t.children) : [t]);
}
-function Vo(...e) {
+function yo(...e) {
if (e.length === 0)
return {};
if (e.length === 1)
@@ -760,100 +789,100 @@ function Vo(...e) {
if (t.disabled || t["aria-disabled"])
return Object.assign(t, Object.fromEntries(Object.keys(r).map((n) => [n, void 0])));
for (let n in r)
- Object.assign(t, { [n](a, ...o) {
- let i = r[n];
- for (let l of i) {
+ Object.assign(t, { [n](a, ...i) {
+ let o = r[n];
+ for (let l of o) {
if (a != null && a.defaultPrevented)
return;
- l(a, ...o);
+ l(a, ...i);
}
} });
return t;
}
-function _r(e, t = []) {
+function Dr(e, t = []) {
let r = Object.assign({}, e);
for (let n of t)
n in r && delete r[n];
return r;
}
-function Qo(e) {
+function bo(e) {
return e == null ? !1 : typeof e.type == "string" || typeof e.type == "object" || typeof e.type == "function";
}
-let Zo = 0;
-function ei() {
- return ++Zo;
+let wo = 0;
+function So() {
+ return ++wo;
}
-function de() {
- return ei();
+function le() {
+ return So();
}
-var Sr = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Sr || {});
-function X(e) {
+var Cr = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Cr || {});
+function U(e) {
var t;
return e == null || e.value == null ? null : (t = e.value.$el) != null ? t : e.value;
}
-let $r = Symbol("Context");
-var ue = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(ue || {});
-function ti() {
- return Ot() !== null;
+let Fr = Symbol("Context");
+var ie = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(ie || {});
+function _o() {
+ return _t() !== null;
}
-function Ot() {
- return q($r, null);
+function _t() {
+ return B(Fr, null);
}
-function ri(e) {
- U($r, e);
+function Oo(e) {
+ L(Fr, e);
}
-function ge(e) {
+function he(e) {
if (typeof window > "u")
return null;
if (e instanceof Node)
return e.ownerDocument;
if (e != null && e.hasOwnProperty("value")) {
- let t = X(e);
+ let t = U(e);
if (t)
return t.ownerDocument;
}
return document;
}
-let tt = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
-var xe = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e))(xe || {}), Or = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(Or || {}), ni = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(ni || {});
-function ai(e = document.body) {
- return e == null ? [] : Array.from(e.querySelectorAll(tt));
+let Xe = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
+var $e = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e))($e || {}), jr = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(jr || {}), $o = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))($o || {});
+function To(e = document.body) {
+ return e == null ? [] : Array.from(e.querySelectorAll(Xe));
}
-var Tr = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(Tr || {});
-function oi(e, t = 0) {
+var Rr = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(Rr || {});
+function Eo(e, t = 0) {
var r;
- return e === ((r = ge(e)) == null ? void 0 : r.body) ? !1 : I(t, { [0]() {
- return e.matches(tt);
+ return e === ((r = he(e)) == null ? void 0 : r.body) ? !1 : j(t, { [0]() {
+ return e.matches(Xe);
}, [1]() {
let n = e;
for (; n !== null; ) {
- if (n.matches(tt))
+ if (n.matches(Xe))
return !0;
n = n.parentElement;
}
return !1;
} });
}
-function Te(e) {
+function we(e) {
e == null || e.focus({ preventScroll: !0 });
}
-let ii = ["textarea", "input"].join(",");
-function si(e) {
+let Po = ["textarea", "input"].join(",");
+function Ao(e) {
var t, r;
- return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, ii)) != null ? r : !1;
+ return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Po)) != null ? r : !1;
}
-function li(e, t = (r) => r) {
+function xo(e, t = (r) => r) {
return e.slice().sort((r, n) => {
- let a = t(r), o = t(n);
- if (a === null || o === null)
+ let a = t(r), i = t(n);
+ if (a === null || i === null)
return 0;
- let i = a.compareDocumentPosition(o);
- return i & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : i & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
+ let o = a.compareDocumentPosition(i);
+ return o & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : o & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
});
}
-function rt(e, t, r = !0) {
+function Ye(e, t, r = !0) {
var n;
- let a = (n = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e == null ? void 0 : e.ownerDocument) != null ? n : document, o = Array.isArray(e) ? r ? li(e) : e : ai(e), i = a.activeElement, l = (() => {
+ let a = (n = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e == null ? void 0 : e.ownerDocument) != null ? n : document, i = Array.isArray(e) ? r ? xo(e) : e : To(e), o = a.activeElement, l = (() => {
if (t & 5)
return 1;
if (t & 10)
@@ -863,40 +892,40 @@ function rt(e, t, r = !0) {
if (t & 1)
return 0;
if (t & 2)
- return Math.max(0, o.indexOf(i)) - 1;
+ return Math.max(0, i.indexOf(o)) - 1;
if (t & 4)
- return Math.max(0, o.indexOf(i)) + 1;
+ return Math.max(0, i.indexOf(o)) + 1;
if (t & 8)
- return o.length - 1;
+ return i.length - 1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
- })(), u = t & 32 ? { preventScroll: !0 } : {}, f = 0, p = o.length, d;
+ })(), u = t & 32 ? { preventScroll: !0 } : {}, c = 0, f = i.length, p;
do {
- if (f >= p || f + p <= 0)
+ if (c >= f || c + f <= 0)
return 0;
- let g = s + f;
+ let v = s + c;
if (t & 16)
- g = (g + p) % p;
+ v = (v + f) % f;
else {
- if (g < 0)
+ if (v < 0)
return 3;
- if (g >= p)
+ if (v >= f)
return 1;
}
- d = o[g], d == null || d.focus(u), f += l;
- } while (d !== a.activeElement);
- return d.hasAttribute("tabindex") || d.setAttribute("tabindex", "0"), t & 6 && si(d) && d.select(), 2;
+ p = i[v], p == null || p.focus(u), c += l;
+ } while (p !== a.activeElement);
+ return p.hasAttribute("tabindex") || p.setAttribute("tabindex", "0"), t & 6 && Ao(p) && p.select(), 2;
}
-function nt(e, t, r) {
- typeof window < "u" && G((n) => {
+function Ve(e, t, r) {
+ typeof window < "u" && M((n) => {
window.addEventListener(e, t, r), n(() => window.removeEventListener(e, t, r));
});
}
-function ui(e, t, r = O(() => !0)) {
- function n(a, o) {
+function Do(e, t, r = w(() => !0)) {
+ function n(a, i) {
if (!r.value || a.defaultPrevented)
return;
- let i = o(a);
- if (i === null || !i.ownerDocument.documentElement.contains(i))
+ let o = i(a);
+ if (o === null || !o.ownerDocument.documentElement.contains(o))
return;
let l = function s(u) {
return typeof u == "function" ? s(u()) : Array.isArray(u) || u instanceof Set ? u : [u];
@@ -904,91 +933,91 @@ function ui(e, t, r = O(() => !0)) {
for (let s of l) {
if (s === null)
continue;
- let u = s instanceof HTMLElement ? s : X(s);
- if (u != null && u.contains(i))
+ let u = s instanceof HTMLElement ? s : U(s);
+ if (u != null && u.contains(o))
return;
}
- return !oi(i, Tr.Loose) && i.tabIndex !== -1 && a.preventDefault(), t(a, i);
+ return !Eo(o, Rr.Loose) && o.tabIndex !== -1 && a.preventDefault(), t(a, o);
}
- nt("click", (a) => n(a, (o) => o.target), !0), nt("blur", (a) => n(a, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
+ Ve("click", (a) => n(a, (i) => i.target), !0), Ve("blur", (a) => n(a, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
}
-var Ge = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(Ge || {});
-let at = B({ name: "Hidden", props: { as: { type: [Object, String], default: "div" }, features: { type: Number, default: 1 } }, setup(e, { slots: t, attrs: r }) {
+var Be = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(Be || {});
+let Qe = A({ name: "Hidden", props: { as: { type: [Object, String], default: "div" }, features: { type: Number, default: 1 } }, setup(e, { slots: t, attrs: r }) {
return () => {
- let { features: n, ...a } = e, o = { "aria-hidden": (n & 2) === 2 ? !0 : void 0, style: { position: "absolute", width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
- return L({ ourProps: o, theirProps: a, slot: {}, attrs: r, slots: t, name: "Hidden" });
+ let { features: n, ...a } = e, i = { "aria-hidden": (n & 2) === 2 ? !0 : void 0, style: { position: "absolute", width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
+ return x({ ourProps: i, theirProps: a, slot: {}, attrs: r, slots: t, name: "Hidden" });
};
} });
-var ot = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(ot || {});
-function ci() {
- let e = v(0);
- return nt("keydown", (t) => {
+var Ze = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(Ze || {});
+function Co() {
+ let e = h(0);
+ return Ve("keydown", (t) => {
t.key === "Tab" && (e.value = t.shiftKey ? 1 : 0);
}), e;
}
-function Er(e, t, r, n) {
- typeof window < "u" && G((a) => {
+function Br(e, t, r, n) {
+ typeof window < "u" && M((a) => {
e = e != null ? e : window, e.addEventListener(t, r, n), a(() => e.removeEventListener(t, r, n));
});
}
-var Ar = ((e) => (e[e.None = 1] = "None", e[e.InitialFocus = 2] = "InitialFocus", e[e.TabLock = 4] = "TabLock", e[e.FocusLock = 8] = "FocusLock", e[e.RestoreFocus = 16] = "RestoreFocus", e[e.All = 30] = "All", e))(Ar || {});
-let _e = Object.assign(B({ name: "FocusTrap", props: { as: { type: [Object, String], default: "div" }, initialFocus: { type: Object, default: null }, features: { type: Number, default: 30 }, containers: { type: Object, default: v(/* @__PURE__ */ new Set()) } }, inheritAttrs: !1, setup(e, { attrs: t, slots: r, expose: n }) {
- let a = v(null);
+var Ir = ((e) => (e[e.None = 1] = "None", e[e.InitialFocus = 2] = "InitialFocus", e[e.TabLock = 4] = "TabLock", e[e.FocusLock = 8] = "FocusLock", e[e.RestoreFocus = 16] = "RestoreFocus", e[e.All = 30] = "All", e))(Ir || {});
+let me = Object.assign(A({ name: "FocusTrap", props: { as: { type: [Object, String], default: "div" }, initialFocus: { type: Object, default: null }, features: { type: Number, default: 30 }, containers: { type: Object, default: h(/* @__PURE__ */ new Set()) } }, inheritAttrs: !1, setup(e, { attrs: t, slots: r, expose: n }) {
+ let a = h(null);
n({ el: a, $el: a });
- let o = O(() => ge(a));
- fi({ ownerDocument: o }, O(() => Boolean(e.features & 16)));
- let i = di({ ownerDocument: o, container: a, initialFocus: O(() => e.initialFocus) }, O(() => Boolean(e.features & 2)));
- pi({ ownerDocument: o, container: a, containers: e.containers, previousActiveElement: i }, O(() => Boolean(e.features & 8)));
- let l = ci();
+ let i = w(() => he(a));
+ Fo({ ownerDocument: i }, w(() => Boolean(e.features & 16)));
+ let o = jo({ ownerDocument: i, container: a, initialFocus: w(() => e.initialFocus) }, w(() => Boolean(e.features & 2)));
+ Ro({ ownerDocument: i, container: a, containers: e.containers, previousActiveElement: o }, w(() => Boolean(e.features & 8)));
+ let l = Co();
function s() {
- let u = X(a);
- !u || I(l.value, { [ot.Forwards]: () => rt(u, xe.First), [ot.Backwards]: () => rt(u, xe.Last) });
+ let u = U(a);
+ !u || j(l.value, { [Ze.Forwards]: () => Ye(u, $e.First), [Ze.Backwards]: () => Ye(u, $e.Last) });
}
return () => {
- let u = {}, f = { ref: a }, { features: p, initialFocus: d, containers: g, ...h } = e;
- return x(ke, [Boolean(p & 4) && x(at, { as: "button", type: "button", onFocus: s, features: Ge.Focusable }), L({ ourProps: f, theirProps: { ...t, ...h }, slot: u, attrs: t, slots: r, name: "FocusTrap" }), Boolean(p & 4) && x(at, { as: "button", type: "button", onFocus: s, features: Ge.Focusable })]);
+ let u = {}, c = { ref: a }, { features: f, initialFocus: p, containers: v, ...m } = e;
+ return $(ut, [Boolean(f & 4) && $(Qe, { as: "button", type: "button", onFocus: s, features: Be.Focusable }), x({ ourProps: c, theirProps: { ...t, ...m }, slot: u, attrs: t, slots: r, name: "FocusTrap" }), Boolean(f & 4) && $(Qe, { as: "button", type: "button", onFocus: s, features: Be.Focusable })]);
};
-} }), { features: Ar });
-function fi({ ownerDocument: e }, t) {
- let r = v(null), n = { value: !1 };
- R(() => {
- Ee(t, (a, o) => {
- var i;
- a !== o && (!t.value || (n.value = !0, r.value || (r.value = (i = e.value) == null ? void 0 : i.activeElement)));
- }, { immediate: !0 }), Ee(t, (a, o, i) => {
- a !== o && (!t.value || i(() => {
- n.value !== !1 && (n.value = !1, Te(r.value), r.value = null);
+} }), { features: Ir });
+function Fo({ ownerDocument: e }, t) {
+ let r = h(null), n = { value: !1 };
+ P(() => {
+ Se(t, (a, i) => {
+ var o;
+ a !== i && (!t.value || (n.value = !0, r.value || (r.value = (o = e.value) == null ? void 0 : o.activeElement)));
+ }, { immediate: !0 }), Se(t, (a, i, o) => {
+ a !== i && (!t.value || o(() => {
+ n.value !== !1 && (n.value = !1, we(r.value), r.value = null);
}));
}, { immediate: !0 });
});
}
-function di({ ownerDocument: e, container: t, initialFocus: r }, n) {
- let a = v(null);
- return R(() => {
- Ee([t, r, n], (o, i) => {
- if (o.every((s, u) => (i == null ? void 0 : i[u]) === s) || !n.value)
+function jo({ ownerDocument: e, container: t, initialFocus: r }, n) {
+ let a = h(null);
+ return P(() => {
+ Se([t, r, n], (i, o) => {
+ if (i.every((s, u) => (o == null ? void 0 : o[u]) === s) || !n.value)
return;
- let l = X(t);
+ let l = U(t);
!l || requestAnimationFrame(() => {
var s, u;
- let f = X(r), p = (s = e.value) == null ? void 0 : s.activeElement;
- if (f) {
- if (f === p) {
- a.value = p;
+ let c = U(r), f = (s = e.value) == null ? void 0 : s.activeElement;
+ if (c) {
+ if (c === f) {
+ a.value = f;
return;
}
- } else if (l.contains(p)) {
- a.value = p;
+ } else if (l.contains(f)) {
+ a.value = f;
return;
}
- f ? Te(f) : rt(l, xe.First | xe.NoScroll) === Or.Error && console.warn("There are no focusable elements inside the "), a.value = (u = e.value) == null ? void 0 : u.activeElement;
+ c ? we(c) : Ye(l, $e.First | $e.NoScroll) === jr.Error && console.warn("There are no focusable elements inside the "), a.value = (u = e.value) == null ? void 0 : u.activeElement;
});
}, { immediate: !0, flush: "post" });
}), a;
}
-function pi({ ownerDocument: e, container: t, containers: r, previousActiveElement: n }, a) {
- var o;
- Er((o = e.value) == null ? void 0 : o.defaultView, "focus", (i) => {
+function Ro({ ownerDocument: e, container: t, containers: r, previousActiveElement: n }, a) {
+ var i;
+ Br((i = e.value) == null ? void 0 : i.defaultView, "focus", (o) => {
if (!a.value)
return;
let l = new Set(r == null ? void 0 : r.value);
@@ -996,70 +1025,70 @@ function pi({ ownerDocument: e, container: t, containers: r, previousActiveEleme
let s = n.value;
if (!s)
return;
- let u = i.target;
- u && u instanceof HTMLElement ? hi(l, u) ? (n.value = u, Te(u)) : (i.preventDefault(), i.stopPropagation(), Te(s)) : Te(n.value);
+ let u = o.target;
+ u && u instanceof HTMLElement ? Bo(l, u) ? (n.value = u, we(u)) : (o.preventDefault(), o.stopPropagation(), we(s)) : we(n.value);
}, !0);
}
-function hi(e, t) {
+function Bo(e, t) {
var r;
for (let n of e)
if ((r = n.value) != null && r.contains(t))
return !0;
return !1;
}
-let Ht = "body > *", he = /* @__PURE__ */ new Set(), Z = /* @__PURE__ */ new Map();
-function kt(e) {
+let Nt = "body > *", ue = /* @__PURE__ */ new Set(), J = /* @__PURE__ */ new Map();
+function Ht(e) {
e.setAttribute("aria-hidden", "true"), e.inert = !0;
}
-function Ut(e) {
- let t = Z.get(e);
+function kt(e) {
+ let t = J.get(e);
!t || (t["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", t["aria-hidden"]), e.inert = t.inert);
}
-function mi(e, t = v(!0)) {
- G((r) => {
+function Io(e, t = h(!0)) {
+ M((r) => {
if (!t.value || !e.value)
return;
- let n = e.value, a = ge(n);
+ let n = e.value, a = he(n);
if (a) {
- he.add(n);
- for (let o of Z.keys())
- o.contains(n) && (Ut(o), Z.delete(o));
- a.querySelectorAll(Ht).forEach((o) => {
- if (o instanceof HTMLElement) {
- for (let i of he)
- if (o.contains(i))
+ ue.add(n);
+ for (let i of J.keys())
+ i.contains(n) && (kt(i), J.delete(i));
+ a.querySelectorAll(Nt).forEach((i) => {
+ if (i instanceof HTMLElement) {
+ for (let o of ue)
+ if (i.contains(o))
return;
- he.size === 1 && (Z.set(o, { "aria-hidden": o.getAttribute("aria-hidden"), inert: o.inert }), kt(o));
+ ue.size === 1 && (J.set(i, { "aria-hidden": i.getAttribute("aria-hidden"), inert: i.inert }), Ht(i));
}
}), r(() => {
- if (he.delete(n), he.size > 0)
- a.querySelectorAll(Ht).forEach((o) => {
- if (o instanceof HTMLElement && !Z.has(o)) {
- for (let i of he)
- if (o.contains(i))
+ if (ue.delete(n), ue.size > 0)
+ a.querySelectorAll(Nt).forEach((i) => {
+ if (i instanceof HTMLElement && !J.has(i)) {
+ for (let o of ue)
+ if (i.contains(o))
return;
- Z.set(o, { "aria-hidden": o.getAttribute("aria-hidden"), inert: o.inert }), kt(o);
+ J.set(i, { "aria-hidden": i.getAttribute("aria-hidden"), inert: i.inert }), Ht(i);
}
});
else
- for (let o of Z.keys())
- Ut(o), Z.delete(o);
+ for (let i of J.keys())
+ kt(i), J.delete(i);
});
}
});
}
-let Pr = Symbol("ForcePortalRootContext");
-function vi() {
- return q(Pr, !1);
+let Lr = Symbol("ForcePortalRootContext");
+function Lo() {
+ return B(Lr, !1);
}
-let it = B({ name: "ForcePortalRoot", props: { as: { type: [Object, String], default: "template" }, force: { type: Boolean, default: !1 } }, setup(e, { slots: t, attrs: r }) {
- return U(Pr, e.force), () => {
+let et = A({ name: "ForcePortalRoot", props: { as: { type: [Object, String], default: "template" }, force: { type: Boolean, default: !1 } }, setup(e, { slots: t, attrs: r }) {
+ return L(Lr, e.force), () => {
let { force: n, ...a } = e;
- return L({ theirProps: a, ourProps: {}, slot: {}, slots: t, attrs: r, name: "ForcePortalRoot" });
+ return x({ theirProps: a, ourProps: {}, slot: {}, slots: t, attrs: r, name: "ForcePortalRoot" });
};
} });
-function gi(e) {
- let t = ge(e);
+function Mo(e) {
+ let t = he(e);
if (!t) {
if (e === null)
return null;
@@ -1071,184 +1100,184 @@ function gi(e) {
let n = t.createElement("div");
return n.setAttribute("id", "headlessui-portal-root"), t.body.appendChild(n);
}
-let xr = B({ name: "Portal", props: { as: { type: [Object, String], default: "div" } }, setup(e, { slots: t, attrs: r }) {
- let n = v(null), a = O(() => ge(n)), o = vi(), i = q(Dr, null), l = v(o === !0 || i == null ? gi(n.value) : i.resolveTarget());
- return G(() => {
- o || i != null && (l.value = i.resolveTarget());
- }), ve(() => {
+let Mr = A({ name: "Portal", props: { as: { type: [Object, String], default: "div" } }, setup(e, { slots: t, attrs: r }) {
+ let n = h(null), a = w(() => he(n)), i = Lo(), o = B(qr, null), l = h(i === !0 || o == null ? Mo(n.value) : o.resolveTarget());
+ return M(() => {
+ i || o != null && (l.value = o.resolveTarget());
+ }), pe(() => {
var s, u;
- let f = (s = a.value) == null ? void 0 : s.getElementById("headlessui-portal-root");
- !f || l.value === f && l.value.children.length <= 0 && ((u = l.value.parentElement) == null || u.removeChild(l.value));
+ let c = (s = a.value) == null ? void 0 : s.getElementById("headlessui-portal-root");
+ !c || l.value === c && l.value.children.length <= 0 && ((u = l.value.parentElement) == null || u.removeChild(l.value));
}), () => {
if (l.value === null)
return null;
let s = { ref: n, "data-headlessui-portal": "" };
- return x(dn, { to: l.value }, L({ ourProps: s, theirProps: e, slot: {}, attrs: r, slots: t, name: "Portal" }));
+ return $(vn, { to: l.value }, x({ ourProps: s, theirProps: e, slot: {}, attrs: r, slots: t, name: "Portal" }));
};
-} }), Dr = Symbol("PortalGroupContext"), yi = B({ name: "PortalGroup", props: { as: { type: [Object, String], default: "template" }, target: { type: Object, default: null } }, setup(e, { attrs: t, slots: r }) {
- let n = pn({ resolveTarget() {
+} }), qr = Symbol("PortalGroupContext"), qo = A({ name: "PortalGroup", props: { as: { type: [Object, String], default: "template" }, target: { type: Object, default: null } }, setup(e, { attrs: t, slots: r }) {
+ let n = mn({ resolveTarget() {
return e.target;
} });
- return U(Dr, n), () => {
- let { target: a, ...o } = e;
- return L({ theirProps: o, ourProps: {}, slot: {}, attrs: t, slots: r, name: "PortalGroup" });
+ return L(qr, n), () => {
+ let { target: a, ...i } = e;
+ return x({ theirProps: i, ourProps: {}, slot: {}, attrs: t, slots: r, name: "PortalGroup" });
};
-} }), Fr = Symbol("StackContext");
-var st = ((e) => (e[e.Add = 0] = "Add", e[e.Remove = 1] = "Remove", e))(st || {});
-function bi() {
- return q(Fr, () => {
+} }), Nr = Symbol("StackContext");
+var tt = ((e) => (e[e.Add = 0] = "Add", e[e.Remove = 1] = "Remove", e))(tt || {});
+function No() {
+ return B(Nr, () => {
});
}
-function wi({ type: e, element: t, onUpdate: r }) {
- let n = bi();
- function a(...o) {
- r == null || r(...o), n(...o);
+function Ho({ type: e, element: t, onUpdate: r }) {
+ let n = No();
+ function a(...i) {
+ r == null || r(...i), n(...i);
}
- R(() => {
- a(0, e, t), ve(() => {
+ P(() => {
+ a(0, e, t), pe(() => {
a(1, e, t);
});
- }), U(Fr, a);
+ }), L(Nr, a);
}
-let Cr = Symbol("DescriptionContext");
-function _i() {
- let e = q(Cr, null);
+let Hr = Symbol("DescriptionContext");
+function ko() {
+ let e = B(Hr, null);
if (e === null)
throw new Error("Missing parent");
return e;
}
-function Si({ slot: e = v({}), name: t = "Description", props: r = {} } = {}) {
- let n = v([]);
- function a(o) {
- return n.value.push(o), () => {
- let i = n.value.indexOf(o);
- i !== -1 && n.value.splice(i, 1);
+function Uo({ slot: e = h({}), name: t = "Description", props: r = {} } = {}) {
+ let n = h([]);
+ function a(i) {
+ return n.value.push(i), () => {
+ let o = n.value.indexOf(i);
+ o !== -1 && n.value.splice(o, 1);
};
}
- return U(Cr, { register: a, slot: e, name: t, props: r }), O(() => n.value.length > 0 ? n.value.join(" ") : void 0);
+ return L(Hr, { register: a, slot: e, name: t, props: r }), w(() => n.value.length > 0 ? n.value.join(" ") : void 0);
}
-let gl = B({ name: "Description", props: { as: { type: [Object, String], default: "p" } }, setup(e, { attrs: t, slots: r }) {
- let n = _i(), a = `headlessui-description-${de()}`;
- return R(() => ve(n.register(a))), () => {
- let { name: o = "Description", slot: i = v({}), props: l = {} } = n, s = e, u = { ...Object.entries(l).reduce((f, [p, d]) => Object.assign(f, { [p]: ee(d) }), {}), id: a };
- return L({ ourProps: u, theirProps: s, slot: i.value, attrs: t, slots: r, name: o });
+let Ml = A({ name: "Description", props: { as: { type: [Object, String], default: "p" } }, setup(e, { attrs: t, slots: r }) {
+ let n = ko(), a = `headlessui-description-${le()}`;
+ return P(() => pe(n.register(a))), () => {
+ let { name: i = "Description", slot: o = h({}), props: l = {} } = n, s = e, u = { ...Object.entries(l).reduce((c, [f, p]) => Object.assign(c, { [f]: X(p) }), {}), id: a };
+ return x({ ourProps: u, theirProps: s, slot: o.value, attrs: t, slots: r, name: i });
};
} });
-var $i = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))($i || {});
-let lt = Symbol("DialogContext");
-function Fe(e) {
- let t = q(lt, null);
+var Go = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(Go || {});
+let rt = Symbol("DialogContext");
+function Pe(e) {
+ let t = B(rt, null);
if (t === null) {
let r = new Error(`<${e} /> is missing a parent component.`);
- throw Error.captureStackTrace && Error.captureStackTrace(r, Fe), r;
+ throw Error.captureStackTrace && Error.captureStackTrace(r, Pe), r;
}
return t;
}
-let Me = "DC8F892D-2EBD-447C-A4C8-A03058436FF4", jr = B({ name: "Dialog", inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, open: { type: [Boolean, String], default: Me }, initialFocus: { type: Object, default: null } }, emits: { close: (e) => !0 }, setup(e, { emit: t, attrs: r, slots: n, expose: a }) {
- var o;
- let i = v(!1);
- R(() => {
- i.value = !0;
+let De = "DC8F892D-2EBD-447C-A4C8-A03058436FF4", kr = A({ name: "Dialog", inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, open: { type: [Boolean, String], default: De }, initialFocus: { type: Object, default: null } }, emits: { close: (e) => !0 }, setup(e, { emit: t, attrs: r, slots: n, expose: a }) {
+ var i;
+ let o = h(!1);
+ P(() => {
+ o.value = !0;
});
- let l = v(0), s = Ot(), u = O(() => e.open === Me && s !== null ? I(s.value, { [ue.Open]: !0, [ue.Closed]: !1 }) : e.open), f = v(/* @__PURE__ */ new Set()), p = v(null), d = v(null), g = O(() => ge(p));
- if (a({ el: p, $el: p }), !(e.open !== Me || s !== null))
+ let l = h(0), s = _t(), u = w(() => e.open === De && s !== null ? j(s.value, { [ie.Open]: !0, [ie.Closed]: !1 }) : e.open), c = h(/* @__PURE__ */ new Set()), f = h(null), p = h(null), v = w(() => he(f));
+ if (a({ el: f, $el: f }), !(e.open !== De || s !== null))
throw new Error("You forgot to provide an `open` prop to the `Dialog`.");
if (typeof u.value != "boolean")
- throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u.value === Me ? void 0 : e.open}`);
- let h = O(() => i.value && u.value ? 0 : 1), T = O(() => h.value === 0), E = O(() => l.value > 1), F = q(lt, null) !== null, A = O(() => E.value ? "parent" : "leaf");
- mi(p, O(() => E.value ? T.value : !1)), wi({ type: "Dialog", element: p, onUpdate: (_, b, S) => {
+ throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u.value === De ? void 0 : e.open}`);
+ let m = w(() => o.value && u.value ? 0 : 1), O = w(() => m.value === 0), T = w(() => l.value > 1), D = B(rt, null) !== null, C = w(() => T.value ? "parent" : "leaf");
+ Io(f, w(() => T.value ? O.value : !1)), Ho({ type: "Dialog", element: f, onUpdate: (S, b, _) => {
if (b === "Dialog")
- return I(_, { [st.Add]() {
- f.value.add(S), l.value += 1;
- }, [st.Remove]() {
- f.value.delete(S), l.value -= 1;
+ return j(S, { [tt.Add]() {
+ c.value.add(_), l.value += 1;
+ }, [tt.Remove]() {
+ c.value.delete(_), l.value -= 1;
} });
} });
- let K = Si({ name: "DialogDescription", slot: O(() => ({ open: u.value })) }), N = `headlessui-dialog-${de()}`, C = v(null), j = { titleId: C, panelRef: v(null), dialogState: h, setTitleId(_) {
- C.value !== _ && (C.value = _);
+ let te = Uo({ name: "DialogDescription", slot: w(() => ({ open: u.value })) }), W = `headlessui-dialog-${le()}`, F = h(null), q = { titleId: F, panelRef: h(null), dialogState: m, setTitleId(S) {
+ F.value !== S && (F.value = S);
}, close() {
t("close", !1);
} };
- return U(lt, j), ui(() => {
- var _, b, S;
- return [...Array.from((b = (_ = g.value) == null ? void 0 : _.querySelectorAll("body > *, [data-headlessui-portal]")) != null ? b : []).filter((y) => !(!(y instanceof HTMLElement) || y.contains(X(d)) || j.panelRef.value && y.contains(j.panelRef.value))), (S = j.panelRef.value) != null ? S : p.value];
- }, (_, b) => {
- j.close(), ir(() => b == null ? void 0 : b.focus());
- }, O(() => h.value === 0 && !E.value)), Er((o = g.value) == null ? void 0 : o.defaultView, "keydown", (_) => {
- _.defaultPrevented || _.key === Sr.Escape && h.value === 0 && (E.value || (_.preventDefault(), _.stopPropagation(), j.close()));
- }), G((_) => {
+ return L(rt, q), Do(() => {
+ var S, b, _;
+ return [...Array.from((b = (S = v.value) == null ? void 0 : S.querySelectorAll("body > *, [data-headlessui-portal]")) != null ? b : []).filter((g) => !(!(g instanceof HTMLElement) || g.contains(U(p)) || q.panelRef.value && g.contains(q.panelRef.value))), (_ = q.panelRef.value) != null ? _ : f.value];
+ }, (S, b) => {
+ q.close(), ir(() => b == null ? void 0 : b.focus());
+ }, w(() => m.value === 0 && !T.value)), Br((i = v.value) == null ? void 0 : i.defaultView, "keydown", (S) => {
+ S.defaultPrevented || S.key === Cr.Escape && m.value === 0 && (T.value || (S.preventDefault(), S.stopPropagation(), q.close()));
+ }), M((S) => {
var b;
- if (h.value !== 0 || F)
+ if (m.value !== 0 || D)
return;
- let S = g.value;
- if (!S)
+ let _ = v.value;
+ if (!_)
return;
- let y = S == null ? void 0 : S.documentElement, P = (b = S.defaultView) != null ? b : window, Re = y.style.overflow, ye = y.style.paddingRight, pe = P.innerWidth - y.clientWidth;
- if (y.style.overflow = "hidden", pe > 0) {
- let Be = y.clientWidth - y.offsetWidth, Le = pe - Be;
- y.style.paddingRight = `${Le}px`;
+ let g = _ == null ? void 0 : _.documentElement, E = (b = _.defaultView) != null ? b : window, Pt = g.style.overflow, At = g.style.paddingRight, Ne = E.innerWidth - g.clientWidth;
+ if (g.style.overflow = "hidden", Ne > 0) {
+ let xt = g.clientWidth - g.offsetWidth, Dt = Ne - xt;
+ g.style.paddingRight = `${Dt}px`;
}
- _(() => {
- y.style.overflow = Re, y.style.paddingRight = ye;
+ S(() => {
+ g.style.overflow = Pt, g.style.paddingRight = At;
});
- }), G((_) => {
- if (h.value !== 0)
+ }), M((S) => {
+ if (m.value !== 0)
return;
- let b = X(p);
+ let b = U(f);
if (!b)
return;
- let S = new IntersectionObserver((y) => {
- for (let P of y)
- P.boundingClientRect.x === 0 && P.boundingClientRect.y === 0 && P.boundingClientRect.width === 0 && P.boundingClientRect.height === 0 && j.close();
+ let _ = new IntersectionObserver((g) => {
+ for (let E of g)
+ E.boundingClientRect.x === 0 && E.boundingClientRect.y === 0 && E.boundingClientRect.width === 0 && E.boundingClientRect.height === 0 && q.close();
});
- S.observe(b), _(() => S.disconnect());
+ _.observe(b), S(() => _.disconnect());
}), () => {
- let _ = { ...r, ref: p, id: N, role: "dialog", "aria-modal": h.value === 0 ? !0 : void 0, "aria-labelledby": C.value, "aria-describedby": K.value }, { open: b, initialFocus: S, ...y } = e, P = { open: h.value === 0 };
- return x(it, { force: !0 }, () => [x(xr, () => x(yi, { target: p.value }, () => x(it, { force: !1 }, () => x(_e, { initialFocus: S, containers: f, features: T.value ? I(A.value, { parent: _e.features.RestoreFocus, leaf: _e.features.All & ~_e.features.FocusLock }) : _e.features.None }, () => L({ ourProps: _, theirProps: y, slot: P, attrs: r, slots: n, visible: h.value === 0, features: Ue.RenderStrategy | Ue.Static, name: "Dialog" }))))), x(at, { features: Ge.Hidden, ref: d })]);
+ let S = { ...r, ref: f, id: W, role: "dialog", "aria-modal": m.value === 0 ? !0 : void 0, "aria-labelledby": F.value, "aria-describedby": te.value }, { open: b, initialFocus: _, ...g } = e, E = { open: m.value === 0 };
+ return $(et, { force: !0 }, () => [$(Mr, () => $(qo, { target: f.value }, () => $(et, { force: !1 }, () => $(me, { initialFocus: _, containers: c, features: O.value ? j(C.value, { parent: me.features.RestoreFocus, leaf: me.features.All & ~me.features.FocusLock }) : me.features.None }, () => x({ ourProps: S, theirProps: g, slot: E, attrs: r, slots: n, visible: m.value === 0, features: Re.RenderStrategy | Re.Static, name: "Dialog" }))))), $(Qe, { features: Be.Hidden, ref: p })]);
};
} });
-B({ name: "DialogOverlay", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: r }) {
- let n = Fe("DialogOverlay"), a = `headlessui-dialog-overlay-${de()}`;
- function o(i) {
- i.target === i.currentTarget && (i.preventDefault(), i.stopPropagation(), n.close());
+A({ name: "DialogOverlay", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: r }) {
+ let n = Pe("DialogOverlay"), a = `headlessui-dialog-overlay-${le()}`;
+ function i(o) {
+ o.target === o.currentTarget && (o.preventDefault(), o.stopPropagation(), n.close());
}
- return () => L({ ourProps: { id: a, "aria-hidden": !0, onClick: o }, theirProps: e, slot: { open: n.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogOverlay" });
+ return () => x({ ourProps: { id: a, "aria-hidden": !0, onClick: i }, theirProps: e, slot: { open: n.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogOverlay" });
} });
-B({ name: "DialogBackdrop", props: { as: { type: [Object, String], default: "div" } }, inheritAttrs: !1, setup(e, { attrs: t, slots: r, expose: n }) {
- let a = Fe("DialogBackdrop"), o = `headlessui-dialog-backdrop-${de()}`, i = v(null);
- return n({ el: i, $el: i }), R(() => {
+A({ name: "DialogBackdrop", props: { as: { type: [Object, String], default: "div" } }, inheritAttrs: !1, setup(e, { attrs: t, slots: r, expose: n }) {
+ let a = Pe("DialogBackdrop"), i = `headlessui-dialog-backdrop-${le()}`, o = h(null);
+ return n({ el: o, $el: o }), P(() => {
if (a.panelRef.value === null)
throw new Error("A component is being used, but a component is missing.");
}), () => {
- let l = e, s = { id: o, ref: i, "aria-hidden": !0 };
- return x(it, { force: !0 }, () => x(xr, () => L({ ourProps: s, theirProps: { ...t, ...l }, slot: { open: a.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogBackdrop" })));
+ let l = e, s = { id: i, ref: o, "aria-hidden": !0 };
+ return $(et, { force: !0 }, () => $(Mr, () => x({ ourProps: s, theirProps: { ...t, ...l }, slot: { open: a.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogBackdrop" })));
};
} });
-let Rr = B({ name: "DialogPanel", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: r, expose: n }) {
- let a = Fe("DialogPanel"), o = `headlessui-dialog-panel-${de()}`;
+let Ur = A({ name: "DialogPanel", props: { as: { type: [Object, String], default: "div" } }, setup(e, { attrs: t, slots: r, expose: n }) {
+ let a = Pe("DialogPanel"), i = `headlessui-dialog-panel-${le()}`;
n({ el: a.panelRef, $el: a.panelRef });
- function i(l) {
+ function o(l) {
l.stopPropagation();
}
return () => {
- let l = { id: o, ref: a.panelRef, onClick: i };
- return L({ ourProps: l, theirProps: e, slot: { open: a.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogPanel" });
+ let l = { id: i, ref: a.panelRef, onClick: o };
+ return x({ ourProps: l, theirProps: e, slot: { open: a.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogPanel" });
};
} });
-B({ name: "DialogTitle", props: { as: { type: [Object, String], default: "h2" } }, setup(e, { attrs: t, slots: r }) {
- let n = Fe("DialogTitle"), a = `headlessui-dialog-title-${de()}`;
- return R(() => {
- n.setTitleId(a), ve(() => n.setTitleId(null));
- }), () => L({ ourProps: { id: a }, theirProps: e, slot: { open: n.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogTitle" });
+A({ name: "DialogTitle", props: { as: { type: [Object, String], default: "h2" } }, setup(e, { attrs: t, slots: r }) {
+ let n = Pe("DialogTitle"), a = `headlessui-dialog-title-${le()}`;
+ return P(() => {
+ n.setTitleId(a), pe(() => n.setTitleId(null));
+ }), () => x({ ourProps: { id: a }, theirProps: e, slot: { open: n.dialogState.value === 0 }, attrs: t, slots: r, name: "DialogTitle" });
} });
-function Oi(e) {
+function Ko(e) {
let t = { called: !1 };
return (...r) => {
if (!t.called)
return t.called = !0, e(...r);
};
}
-function Br() {
+function Gr() {
let e = [], t = [], r = { enqueue(n) {
t.push(n);
}, requestAnimationFrame(...n) {
@@ -1272,136 +1301,136 @@ function Br() {
} };
return r;
}
-function Qe(e, ...t) {
+function Ke(e, ...t) {
e && t.length > 0 && e.classList.add(...t);
}
-function qe(e, ...t) {
+function Ce(e, ...t) {
e && t.length > 0 && e.classList.remove(...t);
}
-var ut = ((e) => (e.Finished = "finished", e.Cancelled = "cancelled", e))(ut || {});
-function Ti(e, t) {
- let r = Br();
+var nt = ((e) => (e.Finished = "finished", e.Cancelled = "cancelled", e))(nt || {});
+function zo(e, t) {
+ let r = Gr();
if (!e)
return r.dispose;
- let { transitionDuration: n, transitionDelay: a } = getComputedStyle(e), [o, i] = [n, a].map((l) => {
- let [s = 0] = l.split(",").filter(Boolean).map((u) => u.includes("ms") ? parseFloat(u) : parseFloat(u) * 1e3).sort((u, f) => f - u);
+ let { transitionDuration: n, transitionDelay: a } = getComputedStyle(e), [i, o] = [n, a].map((l) => {
+ let [s = 0] = l.split(",").filter(Boolean).map((u) => u.includes("ms") ? parseFloat(u) : parseFloat(u) * 1e3).sort((u, c) => c - u);
return s;
});
- return o !== 0 ? r.setTimeout(() => t("finished"), o + i) : t("finished"), r.add(() => t("cancelled")), r.dispose;
+ return i !== 0 ? r.setTimeout(() => t("finished"), i + o) : t("finished"), r.add(() => t("cancelled")), r.dispose;
}
-function Gt(e, t, r, n, a, o) {
- let i = Br(), l = o !== void 0 ? Oi(o) : () => {
+function Ut(e, t, r, n, a, i) {
+ let o = Gr(), l = i !== void 0 ? Ko(i) : () => {
};
- return qe(e, ...a), Qe(e, ...t, ...r), i.nextFrame(() => {
- qe(e, ...r), Qe(e, ...n), i.add(Ti(e, (s) => (qe(e, ...n, ...t), Qe(e, ...a), l(s))));
- }), i.add(() => qe(e, ...t, ...r, ...n, ...a)), i.add(() => l("cancelled")), i.dispose;
+ return Ce(e, ...a), Ke(e, ...t, ...r), o.nextFrame(() => {
+ Ce(e, ...r), Ke(e, ...n), o.add(zo(e, (s) => (Ce(e, ...n, ...t), Ke(e, ...a), l(s))));
+ }), o.add(() => Ce(e, ...t, ...r, ...n, ...a)), o.add(() => l("cancelled")), o.dispose;
}
-function ie(e = "") {
+function re(e = "") {
return e.split(" ").filter((t) => t.trim().length > 1);
}
-let Tt = Symbol("TransitionContext");
-var Ei = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Ei || {});
-function Ai() {
- return q(Tt, null) !== null;
+let Ot = Symbol("TransitionContext");
+var Wo = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Wo || {});
+function Jo() {
+ return B(Ot, null) !== null;
}
-function Pi() {
- let e = q(Tt, null);
+function Xo() {
+ let e = B(Ot, null);
if (e === null)
throw new Error("A is used but it is missing a parent .");
return e;
}
-function xi() {
- let e = q(Et, null);
+function Yo() {
+ let e = B($t, null);
if (e === null)
throw new Error("A is used but it is missing a parent .");
return e;
}
-let Et = Symbol("NestingContext");
-function Xe(e) {
- return "children" in e ? Xe(e.children) : e.value.filter(({ state: t }) => t === "visible").length > 0;
+let $t = Symbol("NestingContext");
+function qe(e) {
+ return "children" in e ? qe(e.children) : e.value.filter(({ state: t }) => t === "visible").length > 0;
}
-function Lr(e) {
- let t = v([]), r = v(!1);
- R(() => r.value = !0), ve(() => r.value = !1);
- function n(o, i = te.Hidden) {
- let l = t.value.findIndex(({ id: s }) => s === o);
- l !== -1 && (I(i, { [te.Unmount]() {
+function Kr(e) {
+ let t = h([]), r = h(!1);
+ P(() => r.value = !0), pe(() => r.value = !1);
+ function n(i, o = Y.Hidden) {
+ let l = t.value.findIndex(({ id: s }) => s === i);
+ l !== -1 && (j(o, { [Y.Unmount]() {
t.value.splice(l, 1);
- }, [te.Hidden]() {
+ }, [Y.Hidden]() {
t.value[l].state = "hidden";
- } }), !Xe(t) && r.value && (e == null || e()));
+ } }), !qe(t) && r.value && (e == null || e()));
}
- function a(o) {
- let i = t.value.find(({ id: l }) => l === o);
- return i ? i.state !== "visible" && (i.state = "visible") : t.value.push({ id: o, state: "visible" }), () => n(o, te.Unmount);
+ function a(i) {
+ let o = t.value.find(({ id: l }) => l === i);
+ return o ? o.state !== "visible" && (o.state = "visible") : t.value.push({ id: i, state: "visible" }), () => n(i, Y.Unmount);
}
return { children: t, register: a, unregister: n };
}
-let Ir = Ue.RenderStrategy, Ce = B({ props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: r, slots: n, expose: a }) {
- if (!Ai() && ti())
- return () => x(je, { ...e, onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave") }, n);
- let o = v(null), i = v("visible"), l = O(() => e.unmount ? te.Unmount : te.Hidden);
- a({ el: o, $el: o });
- let { show: s, appear: u } = Pi(), { register: f, unregister: p } = xi(), d = { value: !0 }, g = de(), h = { value: !1 }, T = Lr(() => {
- h.value || (i.value = "hidden", p(g), t("afterLeave"));
+let zr = Re.RenderStrategy, Ae = A({ props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: r, slots: n, expose: a }) {
+ if (!Jo() && _o())
+ return () => $(xe, { ...e, onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave") }, n);
+ let i = h(null), o = h("visible"), l = w(() => e.unmount ? Y.Unmount : Y.Hidden);
+ a({ el: i, $el: i });
+ let { show: s, appear: u } = Xo(), { register: c, unregister: f } = Yo(), p = { value: !0 }, v = le(), m = { value: !1 }, O = Kr(() => {
+ m.value || (o.value = "hidden", f(v), t("afterLeave"));
});
- R(() => {
- let b = f(g);
- ve(b);
- }), G(() => {
- if (l.value === te.Hidden && !!g) {
- if (s && i.value !== "visible") {
- i.value = "visible";
+ P(() => {
+ let b = c(v);
+ pe(b);
+ }), M(() => {
+ if (l.value === Y.Hidden && !!v) {
+ if (s && o.value !== "visible") {
+ o.value = "visible";
return;
}
- I(i.value, { hidden: () => p(g), visible: () => f(g) });
+ j(o.value, { hidden: () => f(v), visible: () => c(v) });
}
});
- let E = ie(e.enter), F = ie(e.enterFrom), A = ie(e.enterTo), K = ie(e.entered), N = ie(e.leave), C = ie(e.leaveFrom), j = ie(e.leaveTo);
- R(() => {
- G(() => {
- if (i.value === "visible") {
- let b = X(o);
+ let T = re(e.enter), D = re(e.enterFrom), C = re(e.enterTo), te = re(e.entered), W = re(e.leave), F = re(e.leaveFrom), q = re(e.leaveTo);
+ P(() => {
+ M(() => {
+ if (o.value === "visible") {
+ let b = U(i);
if (b instanceof Comment && b.data === "")
throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
}
});
});
- function _(b) {
- let S = d.value && !u.value, y = X(o);
- !y || !(y instanceof HTMLElement) || S || (h.value = !0, s.value && t("beforeEnter"), s.value || t("beforeLeave"), b(s.value ? Gt(y, E, F, A, K, (P) => {
- h.value = !1, P === ut.Finished && t("afterEnter");
- }) : Gt(y, N, C, j, K, (P) => {
- h.value = !1, P === ut.Finished && (Xe(T) || (i.value = "hidden", p(g), t("afterLeave")));
+ function S(b) {
+ let _ = p.value && !u.value, g = U(i);
+ !g || !(g instanceof HTMLElement) || _ || (m.value = !0, s.value && t("beforeEnter"), s.value || t("beforeLeave"), b(s.value ? Ut(g, T, D, C, te, (E) => {
+ m.value = !1, E === nt.Finished && t("afterEnter");
+ }) : Ut(g, W, F, q, te, (E) => {
+ m.value = !1, E === nt.Finished && (qe(O) || (o.value = "hidden", f(v), t("afterLeave")));
})));
}
- return R(() => {
- Ee([s], (b, S, y) => {
- _(y), d.value = !1;
+ return P(() => {
+ Se([s], (b, _, g) => {
+ S(g), p.value = !1;
}, { immediate: !0 });
- }), U(Et, T), ri(O(() => I(i.value, { visible: ue.Open, hidden: ue.Closed }))), () => {
- let { appear: b, show: S, enter: y, enterFrom: P, enterTo: Re, entered: ye, leave: pe, leaveFrom: Be, leaveTo: Le, ...oe } = e;
- return L({ theirProps: oe, ourProps: { ref: o }, slot: {}, slots: n, attrs: r, features: Ir, visible: i.value === "visible", name: "TransitionChild" });
+ }), L($t, O), Oo(w(() => j(o.value, { visible: ie.Open, hidden: ie.Closed }))), () => {
+ let { appear: b, show: _, enter: g, enterFrom: E, enterTo: Pt, entered: At, leave: Ne, leaveFrom: xt, leaveTo: Dt, ...on } = e;
+ return x({ theirProps: on, ourProps: { ref: i }, slot: {}, slots: n, attrs: r, features: zr, visible: o.value === "visible", name: "TransitionChild" });
};
-} }), Di = Ce, je = B({ inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: r, slots: n }) {
- let a = Ot(), o = O(() => e.show === null && a !== null ? I(a.value, { [ue.Open]: !0, [ue.Closed]: !1 }) : e.show);
- G(() => {
- if (![!0, !1].includes(o.value))
+} }), Vo = Ae, xe = A({ inheritAttrs: !1, props: { as: { type: [Object, String], default: "div" }, show: { type: [Boolean], default: null }, unmount: { type: [Boolean], default: !0 }, appear: { type: [Boolean], default: !1 }, enter: { type: [String], default: "" }, enterFrom: { type: [String], default: "" }, enterTo: { type: [String], default: "" }, entered: { type: [String], default: "" }, leave: { type: [String], default: "" }, leaveFrom: { type: [String], default: "" }, leaveTo: { type: [String], default: "" } }, emits: { beforeEnter: () => !0, afterEnter: () => !0, beforeLeave: () => !0, afterLeave: () => !0 }, setup(e, { emit: t, attrs: r, slots: n }) {
+ let a = _t(), i = w(() => e.show === null && a !== null ? j(a.value, { [ie.Open]: !0, [ie.Closed]: !1 }) : e.show);
+ M(() => {
+ if (![!0, !1].includes(i.value))
throw new Error('A is used but it is missing a `:show="true | false"` prop.');
});
- let i = v(o.value ? "visible" : "hidden"), l = Lr(() => {
- i.value = "hidden";
- }), s = v(!0), u = { show: o, appear: O(() => e.appear || !s.value) };
- return R(() => {
- G(() => {
- s.value = !1, o.value ? i.value = "visible" : Xe(l) || (i.value = "hidden");
+ let o = h(i.value ? "visible" : "hidden"), l = Kr(() => {
+ o.value = "hidden";
+ }), s = h(!0), u = { show: i, appear: w(() => e.appear || !s.value) };
+ return P(() => {
+ M(() => {
+ s.value = !1, i.value ? o.value = "visible" : qe(l) || (o.value = "hidden");
});
- }), U(Et, l), U(Tt, u), () => {
- let f = _r(e, ["show", "appear", "unmount", "onBeforeEnter", "onBeforeLeave", "onAfterEnter", "onAfterLeave"]), p = { unmount: e.unmount };
- return L({ ourProps: { ...p, as: "template" }, theirProps: {}, slot: {}, slots: { ...n, default: () => [x(Di, { onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave"), ...r, ...p, ...f }, n.default)] }, attrs: {}, features: Ir, visible: i.value === "visible", name: "Transition" });
+ }), L($t, l), L(Ot, u), () => {
+ let c = Dr(e, ["show", "appear", "unmount", "onBeforeEnter", "onBeforeLeave", "onAfterEnter", "onAfterLeave"]), f = { unmount: e.unmount };
+ return x({ ourProps: { ...f, as: "template" }, theirProps: {}, slot: {}, slots: { ...n, default: () => [$(Vo, { onBeforeEnter: () => t("beforeEnter"), onAfterEnter: () => t("afterEnter"), onBeforeLeave: () => t("beforeLeave"), onAfterLeave: () => t("afterLeave"), ...r, ...f, ...c }, n.default)] }, attrs: {}, features: zr, visible: o.value === "visible", name: "Transition" });
};
} });
-const Fi = {
+const Qo = {
props: {
defaultTitle: {
type: String,
@@ -1430,22 +1459,22 @@ const Fi = {
};
},
computed: {
- hasConfirmModal: () => !!m.confirmModal,
+ hasConfirmModal: () => !!d.confirmModal.value,
title: function() {
var e;
- return (e = m.confirmModal) != null && e.title ? m.confirmModal.title : this.defaultTitle;
+ return (e = d.confirmModal.value) != null && e.title ? d.confirmModal.value.title : this.defaultTitle;
},
text: function() {
var e;
- return (e = m.confirmModal) != null && e.text ? m.confirmModal.text : this.defaultText;
+ return (e = d.confirmModal.value) != null && e.text ? d.confirmModal.value.text : this.defaultText;
},
confirmButton: function() {
var e;
- return (e = m.confirmModal) != null && e.confirmButton ? m.confirmModal.confirmButton : this.defaultConfirmButton;
+ return (e = d.confirmModal.value) != null && e.confirmButton ? d.confirmModal.value.confirmButton : this.defaultConfirmButton;
},
cancelButton: function() {
var e;
- return (e = m.confirmModal) != null && e.cancelButton ? m.confirmModal.cancelButton : this.defaultCancelButton;
+ return (e = d.confirmModal.value) != null && e.cancelButton ? d.confirmModal.value.cancelButton : this.defaultCancelButton;
}
},
watch: {
@@ -1455,16 +1484,16 @@ const Fi = {
},
methods: {
cancel() {
- m.confirmModal.rejectPromise(), this.setIsOpen(!1);
+ d.confirmModal.value.rejectPromise(), this.setIsOpen(!1);
},
confirm() {
- m.confirmModal.resolvePromise(), this.setIsOpen(!1);
+ d.confirmModal.value.resolvePromise(), this.setIsOpen(!1);
},
setIsOpen(e) {
this.isOpen = e;
},
emitClose() {
- m.clearConfirmModal();
+ d.clearConfirmModal();
}
},
render() {
@@ -1478,64 +1507,64 @@ const Fi = {
cancel: this.cancel,
confirm: this.confirm,
emitClose: this.emitClose,
- Dialog: jr,
- DialogPanel: Rr,
- TransitionRoot: je,
- TransitionChild: Ce
+ Dialog: kr,
+ DialogPanel: Ur,
+ TransitionRoot: xe,
+ TransitionChild: Ae
});
}
};
-function Mr(e, t) {
- t = $t(t, e);
+function Wr(e, t) {
+ t = St(t, e);
for (var r = 0, n = t.length; e != null && r < n; )
- e = e[De(t[r++])];
+ e = e[Ee(t[r++])];
return r && r == n ? e : void 0;
}
-function At(e, t, r) {
- var n = e == null ? void 0 : Mr(e, t);
+function Tt(e, t, r) {
+ var n = e == null ? void 0 : Wr(e, t);
return n === void 0 ? r : n;
}
-var Ci = function() {
+var Zo = function() {
try {
- var e = fe(Object, "defineProperty");
+ var e = se(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}();
-const Kt = Ci;
-function qr(e, t, r) {
- t == "__proto__" && Kt ? Kt(e, t, {
+const Gt = Zo;
+function Jr(e, t, r) {
+ t == "__proto__" && Gt ? Gt(e, t, {
configurable: !0,
enumerable: !0,
value: r,
writable: !0
}) : e[t] = r;
}
-var ji = Object.prototype, Ri = ji.hasOwnProperty;
-function Bi(e, t, r) {
+var es = Object.prototype, ts = es.hasOwnProperty;
+function rs(e, t, r) {
var n = e[t];
- (!(Ri.call(e, t) && _t(n, r)) || r === void 0 && !(t in e)) && qr(e, t, r);
+ (!(ts.call(e, t) && bt(n, r)) || r === void 0 && !(t in e)) && Jr(e, t, r);
}
-function Li(e, t, r, n) {
- if (!me(e))
+function ns(e, t, r, n) {
+ if (!ce(e))
return e;
- t = $t(t, e);
- for (var a = -1, o = t.length, i = o - 1, l = e; l != null && ++a < o; ) {
- var s = De(t[a]), u = r;
+ t = St(t, e);
+ for (var a = -1, i = t.length, o = i - 1, l = e; l != null && ++a < i; ) {
+ var s = Ee(t[a]), u = r;
if (s === "__proto__" || s === "constructor" || s === "prototype")
return e;
- if (a != i) {
- var f = l[s];
- u = n ? n(f, s, l) : void 0, u === void 0 && (u = me(f) ? f : mt(t[a + 1]) ? [] : {});
+ if (a != o) {
+ var c = l[s];
+ u = n ? n(c, s, l) : void 0, u === void 0 && (u = ce(c) ? c : ct(t[a + 1]) ? [] : {});
}
- Bi(l, s, u), l = l[s];
+ rs(l, s, u), l = l[s];
}
return e;
}
-function Nr(e, t, r) {
- return e == null ? e : Li(e, t, r);
+function Xr(e, t, r) {
+ return e == null ? e : ns(e, t, r);
}
-const Ii = {
+const as = {
props: {
default: {
type: Object,
@@ -1560,13 +1589,13 @@ const Ii = {
},
mounted() {
if (this.remember) {
- let e = m.restore(this.remember, this.localStorage);
+ let e = d.restore(this.remember, this.localStorage);
e || (e = {}), this.values = Object.assign({}, { ...this.default, ...e });
} else
this.values = Object.assign({}, { ...this.default });
},
updated() {
- this.remember && m.remember(this.remember, { ...this.values }, this.localStorage);
+ this.remember && d.remember(this.remember, { ...this.values }, this.localStorage);
},
render() {
const e = this;
@@ -1575,14 +1604,14 @@ const Ii = {
return Object.keys(e.values);
},
get(t, r) {
- return At(e.values, r);
+ return Tt(e.values, r);
},
set(t, r, n) {
- Nr(e.values, r, n);
+ Xr(e.values, r, n);
}
}));
}
-}, Mi = {
+}, is = {
props: {
url: {
type: String,
@@ -1633,7 +1662,7 @@ const Ii = {
Accept: this.acceptHeader
}
};
- Object.keys(this.request).length > 0 && (e.data = this.request), or(e).then((t) => {
+ Object.keys(this.request).length > 0 && (e.data = this.request), ar(e).then((t) => {
this.response = t.data, this.processing = !1;
}).catch(() => {
this.processing = !1;
@@ -1650,34 +1679,34 @@ const Ii = {
});
}
};
-function Hr(e) {
+function Yr(e) {
return e && e.length ? e[0] : void 0;
}
-const qi = {
+const os = {
inject: ["stack"],
computed: {
values() {
- return m.validationErrors(this.stack);
+ return d.validationErrors(this.stack);
}
},
render() {
const e = this;
return this.$slots.default({
has(t) {
- return k(e.values, t);
+ return I(e.values, t);
},
first(t) {
- return Hr(e.values[t] || []);
+ return Yr(e.values[t] || []);
},
all: { ...this.values },
...this.values
});
}
};
-function Ni(e, t) {
- return e && yt(e, gr(t));
+function ss(e, t) {
+ return e && pt(e, mr(t));
}
-const Hi = {
+const ls = {
props: {
private: {
type: Boolean,
@@ -1709,12 +1738,12 @@ const Hi = {
this.subscribed = !0;
}), this.listeners.forEach((e) => {
const t = this.subscription.listen(e, (r) => {
- const n = "splade.redirect", a = "splade.refresh", o = "splade.toast";
- let i = null, l = !1, s = [];
- Ni(r, (u) => {
- !me(u) || (n in u && (i = u[n]), a in u && (l = u[a]), o in u && s.push(u));
- }), i ? m.visit(i) : l ? m.refresh() : this.events.push({ name: e, data: r }), s.length > 0 && s.forEach((u) => {
- m.pushToast(u);
+ const n = "splade.redirect", a = "splade.refresh", i = "splade.toast";
+ let o = null, l = !1, s = [];
+ ss(r, (u) => {
+ !ce(u) || (n in u && (o = u[n]), a in u && (l = u[a]), i in u && s.push(u));
+ }), o ? d.visit(o) : l ? d.refresh() : this.events.push({ name: e, data: r }), s.length > 0 && s.forEach((u) => {
+ d.pushToast(u);
}), this.$root.$emit(`event.${e}`, r);
});
this.subscriptions.push(t);
@@ -1726,39 +1755,39 @@ const Hi = {
events: this.events
});
}
-}, ki = {
+}, us = {
inject: ["stack"],
computed: {
values() {
- return m.flashData(this.stack);
+ return d.flashData(this.stack);
}
},
render() {
const e = this;
return this.$slots.default({
has(t) {
- return k(e.values, t);
+ return I(e.values, t);
},
...this.values
});
}
};
-function ct(e) {
- return e instanceof File || e instanceof Blob || e instanceof FileList && e.length > 0 || e instanceof FormData && Array.from(e.values()).some((t) => ct(t)) || typeof e == "object" && e !== null && Object.values(e).some((t) => ct(t));
+function at(e) {
+ return e instanceof File || e instanceof Blob || e instanceof FileList && e.length > 0 || e instanceof FormData && Array.from(e.values()).some((t) => at(t)) || typeof e == "object" && e !== null && Object.values(e).some((t) => at(t));
}
-function kr(e) {
+function Vr(e) {
e = e || {};
let t = new FormData();
for (const r in e)
- Object.prototype.hasOwnProperty.call(e, r) && Gr(t, Ur(null, r), e[r]);
+ Object.prototype.hasOwnProperty.call(e, r) && Zr(t, Qr(null, r), e[r]);
return t;
}
-function Ur(e, t) {
+function Qr(e, t) {
return e ? e + "[" + t + "]" : t;
}
-function Gr(e, t, r) {
+function Zr(e, t, r) {
if (Array.isArray(r))
- return Array.from(r.keys()).forEach((n) => Gr(e, Ur(t, n.toString()), r[n]));
+ return Array.from(r.keys()).forEach((n) => Zr(e, Qr(t, n.toString()), r[n]));
if (r instanceof Date)
return e.append(t, r.toISOString());
if (r instanceof File)
@@ -1773,353 +1802,353 @@ function Gr(e, t, r) {
return e.append(t, `${r}`);
if (r == null)
return e.append(t, "");
- kr(r);
+ Vr(r);
}
-var Ui = "[object Boolean]";
-function Kr(e) {
- return e === !0 || e === !1 || ne(e) && ae(e) == Ui;
+var cs = "[object Boolean]";
+function en(e) {
+ return e === !0 || e === !1 || Z(e) && ee(e) == cs;
}
-function Gi() {
- this.__data__ = new Y(), this.size = 0;
+function fs() {
+ this.__data__ = new K(), this.size = 0;
}
-function Ki(e) {
+function ds(e) {
var t = this.__data__, r = t.delete(e);
return this.size = t.size, r;
}
-function zi(e) {
+function ps(e) {
return this.__data__.get(e);
}
-function Wi(e) {
+function hs(e) {
return this.__data__.has(e);
}
-var Xi = 200;
-function Ji(e, t) {
+var vs = 200;
+function ms(e, t) {
var r = this.__data__;
- if (r instanceof Y) {
+ if (r instanceof K) {
var n = r.__data__;
- if (!Pe || n.length < Xi - 1)
+ if (!Oe || n.length < vs - 1)
return n.push([e, t]), this.size = ++r.size, this;
- r = this.__data__ = new V(n);
+ r = this.__data__ = new z(n);
}
return r.set(e, t), this.size = r.size, this;
}
-function W(e) {
- var t = this.__data__ = new Y(e);
+function k(e) {
+ var t = this.__data__ = new K(e);
this.size = t.size;
}
-W.prototype.clear = Gi;
-W.prototype.delete = Ki;
-W.prototype.get = zi;
-W.prototype.has = Wi;
-W.prototype.set = Ji;
-var Yi = "__lodash_hash_undefined__";
-function Vi(e) {
- return this.__data__.set(e, Yi), this;
+k.prototype.clear = fs;
+k.prototype.delete = ds;
+k.prototype.get = ps;
+k.prototype.has = hs;
+k.prototype.set = ms;
+var gs = "__lodash_hash_undefined__";
+function ys(e) {
+ return this.__data__.set(e, gs), this;
}
-function Qi(e) {
+function bs(e) {
return this.__data__.has(e);
}
-function Ke(e) {
+function Ie(e) {
var t = -1, r = e == null ? 0 : e.length;
- for (this.__data__ = new V(); ++t < r; )
+ for (this.__data__ = new z(); ++t < r; )
this.add(e[t]);
}
-Ke.prototype.add = Ke.prototype.push = Vi;
-Ke.prototype.has = Qi;
-function Zi(e, t) {
+Ie.prototype.add = Ie.prototype.push = ys;
+Ie.prototype.has = bs;
+function ws(e, t) {
for (var r = -1, n = e == null ? 0 : e.length; ++r < n; )
if (t(e[r], r, e))
return !0;
return !1;
}
-function es(e, t) {
+function Ss(e, t) {
return e.has(t);
}
-var ts = 1, rs = 2;
-function zr(e, t, r, n, a, o) {
- var i = r & ts, l = e.length, s = t.length;
- if (l != s && !(i && s > l))
+var _s = 1, Os = 2;
+function tn(e, t, r, n, a, i) {
+ var o = r & _s, l = e.length, s = t.length;
+ if (l != s && !(o && s > l))
return !1;
- var u = o.get(e), f = o.get(t);
- if (u && f)
- return u == t && f == e;
- var p = -1, d = !0, g = r & rs ? new Ke() : void 0;
- for (o.set(e, t), o.set(t, e); ++p < l; ) {
- var h = e[p], T = t[p];
+ var u = i.get(e), c = i.get(t);
+ if (u && c)
+ return u == t && c == e;
+ var f = -1, p = !0, v = r & Os ? new Ie() : void 0;
+ for (i.set(e, t), i.set(t, e); ++f < l; ) {
+ var m = e[f], O = t[f];
if (n)
- var E = i ? n(T, h, p, t, e, o) : n(h, T, p, e, t, o);
- if (E !== void 0) {
- if (E)
+ var T = o ? n(O, m, f, t, e, i) : n(m, O, f, e, t, i);
+ if (T !== void 0) {
+ if (T)
continue;
- d = !1;
+ p = !1;
break;
}
- if (g) {
- if (!Zi(t, function(F, A) {
- if (!es(g, A) && (h === F || a(h, F, r, n, o)))
- return g.push(A);
+ if (v) {
+ if (!ws(t, function(D, C) {
+ if (!Ss(v, C) && (m === D || a(m, D, r, n, i)))
+ return v.push(C);
})) {
- d = !1;
+ p = !1;
break;
}
- } else if (!(h === T || a(h, T, r, n, o))) {
- d = !1;
+ } else if (!(m === O || a(m, O, r, n, i))) {
+ p = !1;
break;
}
}
- return o.delete(e), o.delete(t), d;
+ return i.delete(e), i.delete(t), p;
}
-var ns = J.Uint8Array;
-const zt = ns;
-function as(e) {
+var $s = G.Uint8Array;
+const Kt = $s;
+function Ts(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(n, a) {
r[++t] = [a, n];
}), r;
}
-function os(e) {
+function Es(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(n) {
r[++t] = n;
}), r;
}
-var is = 1, ss = 2, ls = "[object Boolean]", us = "[object Date]", cs = "[object Error]", fs = "[object Map]", ds = "[object Number]", ps = "[object RegExp]", hs = "[object Set]", ms = "[object String]", vs = "[object Symbol]", gs = "[object ArrayBuffer]", ys = "[object DataView]", Wt = re ? re.prototype : void 0, Ze = Wt ? Wt.valueOf : void 0;
-function bs(e, t, r, n, a, o, i) {
+var Ps = 1, As = 2, xs = "[object Boolean]", Ds = "[object Date]", Cs = "[object Error]", Fs = "[object Map]", js = "[object Number]", Rs = "[object RegExp]", Bs = "[object Set]", Is = "[object String]", Ls = "[object Symbol]", Ms = "[object ArrayBuffer]", qs = "[object DataView]", zt = Q ? Q.prototype : void 0, ze = zt ? zt.valueOf : void 0;
+function Ns(e, t, r, n, a, i, o) {
switch (r) {
- case ys:
+ case qs:
if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
return !1;
e = e.buffer, t = t.buffer;
- case gs:
- return !(e.byteLength != t.byteLength || !o(new zt(e), new zt(t)));
- case ls:
- case us:
- case ds:
- return _t(+e, +t);
- case cs:
+ case Ms:
+ return !(e.byteLength != t.byteLength || !i(new Kt(e), new Kt(t)));
+ case xs:
+ case Ds:
+ case js:
+ return bt(+e, +t);
+ case Cs:
return e.name == t.name && e.message == t.message;
- case ps:
- case ms:
+ case Rs:
+ case Is:
return e == t + "";
- case fs:
- var l = as;
- case hs:
- var s = n & is;
- if (l || (l = os), e.size != t.size && !s)
+ case Fs:
+ var l = Ts;
+ case Bs:
+ var s = n & Ps;
+ if (l || (l = Es), e.size != t.size && !s)
return !1;
- var u = i.get(e);
+ var u = o.get(e);
if (u)
return u == t;
- n |= ss, i.set(e, t);
- var f = zr(l(e), l(t), n, a, o, i);
- return i.delete(e), f;
- case vs:
- if (Ze)
- return Ze.call(e) == Ze.call(t);
+ n |= As, o.set(e, t);
+ var c = tn(l(e), l(t), n, a, i, o);
+ return o.delete(e), c;
+ case Ls:
+ if (ze)
+ return ze.call(e) == ze.call(t);
}
return !1;
}
-function ws(e, t) {
+function Hs(e, t) {
for (var r = -1, n = t.length, a = e.length; ++r < n; )
e[a + r] = t[r];
return e;
}
-function _s(e, t, r) {
+function ks(e, t, r) {
var n = t(e);
- return M(e) ? n : ws(n, r(e));
+ return R(e) ? n : Hs(n, r(e));
}
-function Ss(e, t) {
- for (var r = -1, n = e == null ? 0 : e.length, a = 0, o = []; ++r < n; ) {
- var i = e[r];
- t(i, r, e) && (o[a++] = i);
+function Us(e, t) {
+ for (var r = -1, n = e == null ? 0 : e.length, a = 0, i = []; ++r < n; ) {
+ var o = e[r];
+ t(o, r, e) && (i[a++] = o);
}
- return o;
+ return i;
}
-function $s() {
+function Gs() {
return [];
}
-var Os = Object.prototype, Ts = Os.propertyIsEnumerable, Xt = Object.getOwnPropertySymbols, Es = Xt ? function(e) {
- return e == null ? [] : (e = Object(e), Ss(Xt(e), function(t) {
- return Ts.call(e, t);
+var Ks = Object.prototype, zs = Ks.propertyIsEnumerable, Wt = Object.getOwnPropertySymbols, Ws = Wt ? function(e) {
+ return e == null ? [] : (e = Object(e), Us(Wt(e), function(t) {
+ return zs.call(e, t);
}));
-} : $s;
-const As = Es;
+} : Gs;
+const Js = Ws;
function Jt(e) {
- return _s(e, gt, As);
+ return ks(e, dt, Js);
}
-var Ps = 1, xs = Object.prototype, Ds = xs.hasOwnProperty;
-function Fs(e, t, r, n, a, o) {
- var i = r & Ps, l = Jt(e), s = l.length, u = Jt(t), f = u.length;
- if (s != f && !i)
+var Xs = 1, Ys = Object.prototype, Vs = Ys.hasOwnProperty;
+function Qs(e, t, r, n, a, i) {
+ var o = r & Xs, l = Jt(e), s = l.length, u = Jt(t), c = u.length;
+ if (s != c && !o)
return !1;
- for (var p = s; p--; ) {
- var d = l[p];
- if (!(i ? d in t : Ds.call(t, d)))
+ for (var f = s; f--; ) {
+ var p = l[f];
+ if (!(o ? p in t : Vs.call(t, p)))
return !1;
}
- var g = o.get(e), h = o.get(t);
- if (g && h)
- return g == t && h == e;
- var T = !0;
- o.set(e, t), o.set(t, e);
- for (var E = i; ++p < s; ) {
- d = l[p];
- var F = e[d], A = t[d];
+ var v = i.get(e), m = i.get(t);
+ if (v && m)
+ return v == t && m == e;
+ var O = !0;
+ i.set(e, t), i.set(t, e);
+ for (var T = o; ++f < s; ) {
+ p = l[f];
+ var D = e[p], C = t[p];
if (n)
- var K = i ? n(A, F, d, t, e, o) : n(F, A, d, e, t, o);
- if (!(K === void 0 ? F === A || a(F, A, r, n, o) : K)) {
- T = !1;
+ var te = o ? n(C, D, p, t, e, i) : n(D, C, p, e, t, i);
+ if (!(te === void 0 ? D === C || a(D, C, r, n, i) : te)) {
+ O = !1;
break;
}
- E || (E = d == "constructor");
+ T || (T = p == "constructor");
}
- if (T && !E) {
- var N = e.constructor, C = t.constructor;
- N != C && "constructor" in e && "constructor" in t && !(typeof N == "function" && N instanceof N && typeof C == "function" && C instanceof C) && (T = !1);
+ if (O && !T) {
+ var W = e.constructor, F = t.constructor;
+ W != F && "constructor" in e && "constructor" in t && !(typeof W == "function" && W instanceof W && typeof F == "function" && F instanceof F) && (O = !1);
}
- return o.delete(e), o.delete(t), T;
-}
-var Cs = fe(J, "DataView");
-const ft = Cs;
-var js = fe(J, "Promise");
-const dt = js;
-var Rs = fe(J, "Set");
-const pt = Rs;
-var Bs = fe(J, "WeakMap");
-const ht = Bs;
-var Yt = "[object Map]", Ls = "[object Object]", Vt = "[object Promise]", Qt = "[object Set]", Zt = "[object WeakMap]", er = "[object DataView]", Is = ce(ft), Ms = ce(Pe), qs = ce(dt), Ns = ce(pt), Hs = ce(ht), se = ae;
-(ft && se(new ft(new ArrayBuffer(1))) != er || Pe && se(new Pe()) != Yt || dt && se(dt.resolve()) != Vt || pt && se(new pt()) != Qt || ht && se(new ht()) != Zt) && (se = function(e) {
- var t = ae(e), r = t == Ls ? e.constructor : void 0, n = r ? ce(r) : "";
+ return i.delete(e), i.delete(t), O;
+}
+var Zs = se(G, "DataView");
+const it = Zs;
+var el = se(G, "Promise");
+const ot = el;
+var tl = se(G, "Set");
+const st = tl;
+var rl = se(G, "WeakMap");
+const lt = rl;
+var Xt = "[object Map]", nl = "[object Object]", Yt = "[object Promise]", Vt = "[object Set]", Qt = "[object WeakMap]", Zt = "[object DataView]", al = oe(it), il = oe(Oe), ol = oe(ot), sl = oe(st), ll = oe(lt), ne = ee;
+(it && ne(new it(new ArrayBuffer(1))) != Zt || Oe && ne(new Oe()) != Xt || ot && ne(ot.resolve()) != Yt || st && ne(new st()) != Vt || lt && ne(new lt()) != Qt) && (ne = function(e) {
+ var t = ee(e), r = t == nl ? e.constructor : void 0, n = r ? oe(r) : "";
if (n)
switch (n) {
- case Is:
- return er;
- case Ms:
+ case al:
+ return Zt;
+ case il:
+ return Xt;
+ case ol:
return Yt;
- case qs:
+ case sl:
return Vt;
- case Ns:
+ case ll:
return Qt;
- case Hs:
- return Zt;
}
return t;
});
-const tr = se;
-var ks = 1, rr = "[object Arguments]", nr = "[object Array]", Ne = "[object Object]", Us = Object.prototype, ar = Us.hasOwnProperty;
-function Gs(e, t, r, n, a, o) {
- var i = M(e), l = M(t), s = i ? nr : tr(e), u = l ? nr : tr(t);
- s = s == rr ? Ne : s, u = u == rr ? Ne : u;
- var f = s == Ne, p = u == Ne, d = s == u;
- if (d && et(e)) {
- if (!et(t))
+const er = ne;
+var ul = 1, tr = "[object Arguments]", rr = "[object Array]", Fe = "[object Object]", cl = Object.prototype, nr = cl.hasOwnProperty;
+function fl(e, t, r, n, a, i) {
+ var o = R(e), l = R(t), s = o ? rr : er(e), u = l ? rr : er(t);
+ s = s == tr ? Fe : s, u = u == tr ? Fe : u;
+ var c = s == Fe, f = u == Fe, p = s == u;
+ if (p && We(e)) {
+ if (!We(t))
return !1;
- i = !0, f = !1;
+ o = !0, c = !1;
}
- if (d && !f)
- return o || (o = new W()), i || pr(e) ? zr(e, t, r, n, a, o) : bs(e, t, s, r, n, a, o);
- if (!(r & ks)) {
- var g = f && ar.call(e, "__wrapped__"), h = p && ar.call(t, "__wrapped__");
- if (g || h) {
- var T = g ? e.value() : e, E = h ? t.value() : t;
- return o || (o = new W()), a(T, E, r, n, o);
+ if (p && !c)
+ return i || (i = new k()), o || dr(e) ? tn(e, t, r, n, a, i) : Ns(e, t, s, r, n, a, i);
+ if (!(r & ul)) {
+ var v = c && nr.call(e, "__wrapped__"), m = f && nr.call(t, "__wrapped__");
+ if (v || m) {
+ var O = v ? e.value() : e, T = m ? t.value() : t;
+ return i || (i = new k()), a(O, T, r, n, i);
}
}
- return d ? (o || (o = new W()), Fs(e, t, r, n, a, o)) : !1;
+ return p ? (i || (i = new k()), Qs(e, t, r, n, a, i)) : !1;
}
-function Pt(e, t, r, n, a) {
- return e === t ? !0 : e == null || t == null || !ne(e) && !ne(t) ? e !== e && t !== t : Gs(e, t, r, n, Pt, a);
+function Et(e, t, r, n, a) {
+ return e === t ? !0 : e == null || t == null || !Z(e) && !Z(t) ? e !== e && t !== t : fl(e, t, r, n, Et, a);
}
-var Ks = 1, zs = 2;
-function Ws(e, t, r, n) {
- var a = r.length, o = a, i = !n;
+var dl = 1, pl = 2;
+function hl(e, t, r, n) {
+ var a = r.length, i = a, o = !n;
if (e == null)
- return !o;
+ return !i;
for (e = Object(e); a--; ) {
var l = r[a];
- if (i && l[2] ? l[1] !== e[l[0]] : !(l[0] in e))
+ if (o && l[2] ? l[1] !== e[l[0]] : !(l[0] in e))
return !1;
}
- for (; ++a < o; ) {
+ for (; ++a < i; ) {
l = r[a];
- var s = l[0], u = e[s], f = l[1];
- if (i && l[2]) {
+ var s = l[0], u = e[s], c = l[1];
+ if (o && l[2]) {
if (u === void 0 && !(s in e))
return !1;
} else {
- var p = new W();
+ var f = new k();
if (n)
- var d = n(u, f, s, e, t, p);
- if (!(d === void 0 ? Pt(f, u, Ks | zs, n, p) : d))
+ var p = n(u, c, s, e, t, f);
+ if (!(p === void 0 ? Et(c, u, dl | pl, n, f) : p))
return !1;
}
}
return !0;
}
-function Wr(e) {
- return e === e && !me(e);
+function rn(e) {
+ return e === e && !ce(e);
}
-function Xs(e) {
- for (var t = gt(e), r = t.length; r--; ) {
+function vl(e) {
+ for (var t = dt(e), r = t.length; r--; ) {
var n = t[r], a = e[n];
- t[r] = [n, a, Wr(a)];
+ t[r] = [n, a, rn(a)];
}
return t;
}
-function Xr(e, t) {
+function nn(e, t) {
return function(r) {
return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));
};
}
-function Js(e) {
- var t = Xs(e);
- return t.length == 1 && t[0][2] ? Xr(t[0][0], t[0][1]) : function(r) {
- return r === e || Ws(r, e, t);
+function ml(e) {
+ var t = vl(e);
+ return t.length == 1 && t[0][2] ? nn(t[0][0], t[0][1]) : function(r) {
+ return r === e || hl(r, e, t);
};
}
-function Ys(e, t) {
+function gl(e, t) {
return e != null && t in Object(e);
}
-function Vs(e, t) {
- return e != null && br(e, t, Ys);
+function yl(e, t) {
+ return e != null && Ar(e, t, gl);
}
-var Qs = 1, Zs = 2;
-function el(e, t) {
- return wt(e) && Wr(t) ? Xr(De(e), t) : function(r) {
- var n = At(r, e);
- return n === void 0 && n === t ? Vs(r, e) : Pt(t, n, Qs | Zs);
+var bl = 1, wl = 2;
+function Sl(e, t) {
+ return yt(e) && rn(t) ? nn(Ee(e), t) : function(r) {
+ var n = Tt(r, e);
+ return n === void 0 && n === t ? yl(r, e) : Et(t, n, bl | wl);
};
}
-function tl(e) {
+function _l(e) {
return function(t) {
return t == null ? void 0 : t[e];
};
}
-function rl(e) {
+function Ol(e) {
return function(t) {
- return Mr(t, e);
+ return Wr(t, e);
};
}
-function nl(e) {
- return wt(e) ? tl(De(e)) : rl(e);
+function $l(e) {
+ return yt(e) ? _l(Ee(e)) : Ol(e);
}
-function al(e) {
- return typeof e == "function" ? e : e == null ? vr : typeof e == "object" ? M(e) ? el(e[0], e[1]) : Js(e) : nl(e);
+function Tl(e) {
+ return typeof e == "function" ? e : e == null ? vr : typeof e == "object" ? R(e) ? Sl(e[0], e[1]) : ml(e) : $l(e);
}
-function Jr(e, t) {
+function an(e, t) {
var r = {};
- return t = al(t), yt(e, function(n, a, o) {
- qr(r, a, t(n, a, o));
+ return t = Tl(t), pt(e, function(n, a, i) {
+ Jr(r, a, t(n, a, i));
}), r;
}
-const ol = {
+const El = {
inject: ["stack"],
props: {
action: {
type: String,
required: !1,
default() {
- return location ? location.href : "";
+ return d.isSsr ? "" : location.href;
}
},
method: {
@@ -2180,16 +2209,16 @@ const ol = {
},
computed: {
rawErrors() {
- return m.validationErrors(this.stack);
+ return d.validationErrors(this.stack);
},
errors() {
- return Jr(this.rawErrors, (e) => e.join(`
+ return an(this.rawErrors, (e) => e.join(`
`));
}
},
methods: {
hasError(e) {
- return k(this.errors, e);
+ return I(this.errors, e);
},
reset() {
this.values = {};
@@ -2200,15 +2229,15 @@ const ol = {
submit() {
if (!this.confirm)
return this.request();
- m.confirm(Kr(this.confirm) ? "" : this.confirm, this.confirmText, this.confirmButton, this.cancelButton).then(() => {
+ d.confirm(en(this.confirm) ? "" : this.confirm, this.confirmText, this.confirmButton, this.cancelButton).then(() => {
this.request();
}).catch(() => {
});
},
request() {
this.processing = !0, this.wasSuccessful = !1, this.recentlySuccessful = !1, clearTimeout(this.recentlySuccessfulTimeoutId);
- const e = this.forceFormData || ct(this.values) ? kr(this.values) : this.values;
- m.request(this.action, this.method.toUpperCase(), e, {
+ const e = this.forceFormData || at(this.values) ? Vr(this.values) : this.values;
+ d.request(this.action, this.method.toUpperCase(), e, {
Accept: "application/json"
}).then((t) => {
this.$emit("success", t), this.restoreOnSuccess && this.restore(), this.resetOnSuccess && this.reset(), this.processing = !1, this.wasSuccessful = !0, this.recentlySuccessful = !0, this.recentlySuccessfulTimeoutId = setTimeout(() => this.recentlySuccessful = !1, 2e3);
@@ -2234,14 +2263,14 @@ const ol = {
"submit",
"wasSuccessful",
"recentlySuccessful"
- ].includes(r) ? e[r] : At(e.values, r);
+ ].includes(r) ? e[r] : Tt(e.values, r);
},
set(t, r, n) {
- Nr(e.values, r, n);
+ Xr(e.values, r, n);
}
}));
}
-}, il = ["href", "onClick"], sl = {
+}, Pl = ["href", "onClick"], Al = {
__name: "Link",
props: {
href: {
@@ -2284,26 +2313,26 @@ const ol = {
function r() {
if (!t.confirm)
return n();
- m.confirm(Kr(t.confirm) ? "" : t.confirm, t.confirmText, t.confirmButton, t.cancelButton).then(() => {
+ d.confirm(en(t.confirm) ? "" : t.confirm, t.confirmText, t.confirmButton, t.cancelButton).then(() => {
n();
}).catch(() => {
});
}
function n() {
if (t.modal)
- return m.modal(t.href);
+ return d.modal(t.href);
if (t.slideover)
- return m.slideover(t.href);
- m.visit(t.href);
+ return d.slideover(t.href);
+ d.visit(t.href);
}
- return (a, o) => (z(), He("a", {
+ return (a, i) => (N(), je("a", {
href: e.href,
- onClick: hn(r, ["prevent"])
+ onClick: gn(r, ["prevent"])
}, [
- mn(a.$slots, "default")
- ], 8, il));
+ yn(a.$slots, "default")
+ ], 8, Pl));
}
-}, ll = {
+}, xl = {
provide() {
return {
stack: this.stack
@@ -2358,16 +2387,16 @@ const ol = {
onTopOfStack: this.onTopOfStack,
maxWidth: this.maxWidth,
emitClose: this.emitClose,
- Dialog: jr,
- DialogPanel: Rr,
- TransitionRoot: je,
- TransitionChild: Ce
+ Dialog: kr,
+ DialogPanel: Ur,
+ TransitionRoot: xe,
+ TransitionChild: Ae
});
}
-}, ul = {
+}, Dl = {
inject: ["stack"],
render() {
- const e = m.validationErrors(this.stack), t = m.flashData(this.stack), r = m.sharedData, n = Jr(e, (a) => a.join(`
+ const e = d.validationErrors(this.stack), t = d.flashData(this.stack), r = d.sharedData.value, n = an(e, (a) => a.join(`
`));
return this.$slots.default({
flash: t,
@@ -2375,18 +2404,18 @@ const ol = {
rawErrors: e,
shared: r,
hasError(a) {
- return k(e, a);
+ return I(e, a);
},
hasFlash(a) {
- return k(t, a);
+ return I(t, a);
},
hasShared(a) {
- return k(r, a);
+ return I(r, a);
},
hasErrors: Object.keys(e).length > 0
});
}
-}, cl = {
+}, Cl = {
props: {
toastKey: {
type: Number,
@@ -2423,11 +2452,11 @@ const ol = {
show: this.show,
setShow: this.setShow,
emitDismiss: this.emitDismiss,
- TransitionRoot: je,
- TransitionChild: Ce
+ TransitionRoot: xe,
+ TransitionChild: Ae
});
}
-}, fl = [
+}, Fl = [
"left-top",
"center-top",
"right-top",
@@ -2437,32 +2466,32 @@ const ol = {
"left-bottom",
"center-bottom",
"right-bottom"
-], dl = {
+], jl = {
computed: {
toasts: function() {
- return m.toastsReversed;
+ return d.toastsReversed.value;
},
hasBackdrop: function() {
- return m.toasts.filter((e) => !e.dismissed && e.backdrop && e.html).length > 0;
+ return d.toasts.value.filter((e) => !e.dismissed && e.backdrop && e.html).length > 0;
}
},
methods: {
dismissToast(e) {
- m.dismissToast(e);
+ d.dismissToast(e);
}
},
render() {
return this.$slots.default({
- positions: fl,
+ positions: Fl,
toasts: this.toasts,
dismissToast: this.dismissToast,
hasBackdrop: this.hasBackdrop,
- Render: Oe,
- TransitionRoot: je,
- TransitionChild: Ce
+ Render: be,
+ TransitionRoot: xe,
+ TransitionChild: Ae
});
}
-}, pl = {
+}, Rl = {
props: {
default: {
type: Object,
@@ -2494,7 +2523,7 @@ const ol = {
},
get(t, r) {
const n = Object.keys(e.toggles);
- if (n.length === 1 && Hr(n) === "default") {
+ if (n.length === 1 && Yr(n) === "default") {
if (r === "toggled")
return e.toggled("default");
if (r === "setToggle")
@@ -2506,23 +2535,46 @@ const ol = {
e.toggle("default");
};
}
- return r === "setToggle" ? (a, o) => {
- e.setToggle(a, o);
+ return r === "setToggle" ? (a, i) => {
+ e.setToggle(a, i);
} : r === "toggle" ? (a) => {
e.toggle(a);
} : e.toggled(r);
}
}));
}
-}, yl = {
+}, ql = {
install: (e, t) => {
- t = t || {}, t.max_keep_alive = k(t, "max_keep_alive") ? t.max_keep_alive : 10, t.prefix = k(t, "prefix") ? t.prefix : "Splade", t.transform_anchors = k(t, "transform_anchors") ? t.transform_anchors : !1, t.link_component = k(t, "link_component") ? t.link_component : "Link";
+ t = t || {}, t.max_keep_alive = I(t, "max_keep_alive") ? t.max_keep_alive : 10, t.prefix = I(t, "prefix") ? t.prefix : "Splade", t.transform_anchors = I(t, "transform_anchors") ? t.transform_anchors : !1, t.link_component = I(t, "link_component") ? t.link_component : "Link";
const r = t.prefix;
- e.component(`${r}Confirm`, Fi).component(`${r}Data`, Ii).component(`${r}Defer`, Mi).component(`${r}Errors`, qi).component(`${r}Event`, Hi).component(`${r}Flash`, ki).component(`${r}Form`, ol).component(`${r}Modal`, ll).component(`${r}Render`, Oe).component(`${r}State`, ul).component(`${r}Toast`, cl).component(`${r}Toasts`, dl).component(`${r}Toggle`, pl).component(t.link_component, sl), Object.defineProperty(e.config.globalProperties, "$splade", { get: () => m }), Object.defineProperty(e.config.globalProperties, "$spladeOptions", { get: () => Object.assign({}, { ...t }) }), e.provide("$splade", e.config.globalProperties.$splade), e.provide("$spladeOptions", e.config.globalProperties.$spladeOptions);
+ e.component(`${r}Confirm`, Qo).component(`${r}Data`, as).component(`${r}Defer`, is).component(`${r}Errors`, os).component(`${r}Event`, ls).component(`${r}Flash`, us).component(`${r}Form`, El).component(`${r}Modal`, xl).component(`${r}Render`, be).component(`${r}State`, Dl).component(`${r}Toast`, Cl).component(`${r}Toasts`, jl).component(`${r}Toggle`, Rl).component(t.link_component, Al), Object.defineProperty(e.config.globalProperties, "$splade", { get: () => d }), Object.defineProperty(e.config.globalProperties, "$spladeOptions", { get: () => Object.assign({}, { ...t }) }), e.provide("$splade", e.config.globalProperties.$splade), e.provide("$spladeOptions", e.config.globalProperties.$spladeOptions);
}
};
+function Nl(e, t, r) {
+ const n = {};
+ process.argv.slice(2).forEach((i) => {
+ const o = i.replace(/^-+/, "").split("=");
+ n[o[0]] = o.length === 2 ? o[1] : !0;
+ });
+ const a = n.port || 9e3;
+ e(async (i, o) => {
+ if (i.method == "POST") {
+ let l = "";
+ i.on("data", (s) => l += s), i.on("end", async () => {
+ const s = JSON.parse(l), u = r({
+ components: s.components,
+ initialHtml: s.html,
+ initialSpladeData: s.splade
+ }), c = await t(u);
+ o.writeHead(200, { "Content-Type": "application/json", Server: "Splade SSR" }), o.write(JSON.stringify({ body: c })), o.end();
+ });
+ }
+ }).listen(a, () => console.log(`Splade SSR server started on port ${a}.`));
+}
export {
- m as Splade,
- yl as SpladePlugin,
- vl as renderSpladeApp
+ d as Splade,
+ hi as SpladeApp,
+ ql as SpladePlugin,
+ Ll as renderSpladeApp,
+ Nl as startServer
};
diff --git a/dist/protone-media-laravel-splade.umd.cjs b/dist/protone-media-laravel-splade.umd.cjs
index 449de40c..7845520d 100644
--- a/dist/protone-media-laravel-splade.umd.cjs
+++ b/dist/protone-media-laravel-splade.umd.cjs
@@ -1,6 +1,6 @@
-(function($,ue){typeof exports=="object"&&typeof module<"u"?ue(exports,require("axios"),require("vue")):typeof define=="function"&&define.amd?define(["exports","axios","vue"],ue):($=typeof globalThis<"u"?globalThis:$||self,ue($.ProtoneMediaLaravelSplade={},$.axios,$.Vue))})(this,function($,ue,a){"use strict";const yt=(e=>e&&typeof e=="object"&&"default"in e?e:{default:e})(ue);function Rr(e,t){for(var r=-1,n=e==null?0:e.length;++r-1&&e%1==0&&e-1&&e%1==0&&e<=dn}var pn="[object Arguments]",hn="[object Array]",mn="[object Boolean]",gn="[object Date]",yn="[object Error]",vn="[object Function]",bn="[object Map]",wn="[object Number]",_n="[object Object]",Sn="[object RegExp]",Tn="[object Set]",On="[object String]",$n="[object WeakMap]",En="[object ArrayBuffer]",Pn="[object DataView]",An="[object Float32Array]",Cn="[object Float64Array]",Dn="[object Int8Array]",Fn="[object Int16Array]",jn="[object Int32Array]",xn="[object Uint8Array]",Bn="[object Uint8ClampedArray]",Mn="[object Uint16Array]",Ln="[object Uint32Array]",b={};b[An]=b[Cn]=b[Dn]=b[Fn]=b[jn]=b[xn]=b[Bn]=b[Mn]=b[Ln]=!0,b[pn]=b[hn]=b[En]=b[mn]=b[Pn]=b[gn]=b[yn]=b[vn]=b[bn]=b[wn]=b[_n]=b[Sn]=b[Tn]=b[On]=b[$n]=!1;function Rn(e){return W(e)&&qe(e.length)&&!!b[z(e)]}function In(e){return function(t){return e(t)}}var Pt=typeof $=="object"&&$&&!$.nodeType&&$,fe=Pt&&typeof module=="object"&&module&&!module.nodeType&&module,qn=fe&&fe.exports===Pt,Ne=qn&&vt.process,Nn=function(){try{var e=fe&&fe.require&&fe.require("util").types;return e||Ne&&Ne.binding&&Ne.binding("util")}catch{}}();const At=Nn;var Ct=At&&At.isTypedArray,kn=Ct?In(Ct):Rn;const Dt=kn;var Hn=Object.prototype,Un=Hn.hasOwnProperty;function Gn(e,t){var r=B(e),n=!r&&Tt(e),o=!r&&!n&&Re(e),i=!r&&!n&&!o&&Dt(e),s=r||n||o||i,u=s?kr(e.length,String):[],l=u.length;for(var c in e)(t||Un.call(e,c))&&!(s&&(c=="length"||o&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Ie(c,l)))&&u.push(c);return u}var Kn=Object.prototype;function zn(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Kn;return e===r}function Wn(e,t){return function(r){return e(t(r))}}var Xn=Wn(Object.keys,Object);const Jn=Xn;var Yn=Object.prototype,Vn=Yn.hasOwnProperty;function Qn(e){if(!zn(e))return Jn(e);var t=[];for(var r in Object(e))Vn.call(e,r)&&r!="constructor"&&t.push(r);return t}function ae(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Zn="[object AsyncFunction]",eo="[object Function]",to="[object GeneratorFunction]",ro="[object Proxy]";function Ft(e){if(!ae(e))return!1;var t=z(e);return t==eo||t==to||t==Zn||t==ro}function jt(e){return e!=null&&qe(e.length)&&!Ft(e)}function ke(e){return jt(e)?Gn(e):Qn(e)}function He(e,t){return e&&Nr(e,t,ke)}function no(e,t){return function(r,n){if(r==null)return r;if(!jt(r))return e(r,n);for(var o=r.length,i=t?o:-1,s=Object(r);(t?i--:++i0)&&(d.value=0,r.value++,A(f.data.html,0));const C=i(T,f.data.html,l.value.rememberedState?{...l.value.rememberedState}:{},r.value);s(C)}const d=a.ref(0);function h(){d.value--}const p=a.ref({}),y=a.ref({}),m=f=>y.value[f],O=f=>Object.keys(m.value[f]).length>0,E=a.ref({}),F=f=>E.value[f],P=a.ref([]),G=a.computed(()=>uo(P.value));function R(f){P.value.push(f)}function j(f){P.value[f].dismissed=!0,P.value[f].html=null}const x=a.ref(null);function _(f,T,C,Te){let Y,I;const Le=new Promise((Us,Gs)=>{Y=Us,I=Gs});return x.value={title:f,text:T,confirmButton:C,cancelButton:Te,resolvePromise:Y,rejectPromise:I},Le}function w(){x.value=null}function S(f){p.value=f.shared?f.shared:{},E.value[d.value]=f.flash?f.flash:{},io(f.toasts?f.toasts:[],T=>{P.value.push(T)}),y.value[d.value]=f.errors?f.errors:{}}function v(f){Lr.value(f)}function A(f,T){Br.value(f,T)}function xe(f,T){Mr.value(f,T)}const Se=a.ref({});function le(f,T,C){Se.value[f]=T,C&&Be(f,T)}function Be(f,T){let C=JSON.parse(localStorage.getItem("splade")||"{}")||{};C[f]=T,localStorage.setItem("splade",JSON.stringify(C))}function Me(f,T){return T?(JSON.parse(localStorage.getItem("splade")||"{}")||{})[f]:Se.value[f]}function oe(f,T,C,Te){le("scrollY",window.scrollY);const Y=yt.default({method:T,url:f,data:C,headers:{"X-Splade":!0,"X-Requested-With":"XMLHttpRequest",Accept:"text/html, application/xhtml+xml",...Te}});return Y.then(I=>{c(I)}).catch(I=>{const Le=I.response.data.splade;Le&&S(Le),I.response.status!=422&&v(I.response.data.html?I.response.data.html:I.response.data)}),Y}function qs(f){oe(f,"GET",{},{})}function Ns(f){oe(f,"GET",{},{"X-Splade-Modal":"modal"})}function ks(f){oe(f,"GET",{},{"X-Splade-Modal":"slideover"})}function Hs(){oe(l.value.url,"GET",{},{"X-Splade-Refresh":!0})}const Br=a.ref(()=>{}),Mr=a.ref(()=>{}),Lr=a.ref(()=>{});return t({init:n,visit:qs,modal:Ns,slideover:ks,refresh:Hs,request:oe,setOnHtml(f){Br.value=f},setOnModal(f){Mr.value=f},setOnServerError(f){Lr.value=f},hasValidationErrors:O,validationErrors:m,sharedData:p,flashData:F,toasts:P,toastsReversed:G,confirmModal:x,confirm:_,clearConfirmModal:w,pushToast:R,dismissToast:j,restore:Me,remember:le,popStack:h,currentStack:d,pageVisitId:a.computed(()=>l.value.pageVisitId)}),()=>{}}},fo=document.createElement("div"),g=a.createApp(co).mount(fo);var po="[object String]";function ho(e){return typeof e=="string"||!B(e)&&W(e)&&z(e)==po}const de={__name:"Render",props:{html:{type:String,required:!1,default:""}},setup(e){const t=e,r=a.ref(null);function n(){r.value=a.h({render:a.compile(t.html)})}return a.watch(()=>t.html,n,{immediate:!0}),(o,i)=>(a.openBlock(),a.createBlock(a.unref(r)))}},mo={__name:"ServerError",props:{html:{type:String,required:!0}},emits:["close"],setup(e,{emit:t}){const r=e;function n(){document.body.style.overflow="visible",document.removeEventListener("keydown",s),t("close")}const o=a.ref(null);function i(){const u=document.createElement("html");u.innerHTML=r.html,u.querySelectorAll("a").forEach(c=>c.setAttribute("target","_top")),document.body.style.overflow="hidden";const l=o.value;if(!l.contentWindow)throw new Error("iframe not yet ready.");l.contentWindow.document.open(),l.contentWindow.document.write(u.outerHTML),l.contentWindow.document.close(),document.addEventListener("keydown",s)}function s(u){u.keyCode===27&&n()}return a.onMounted(()=>i()),(u,l)=>(a.openBlock(),a.createElementBlock("div",{class:"w-screen h-screen fixed p-8 bg-black bg-opacity-75 inset-0 z-[200000] box-border",onClick:n},[a.createElementVNode("iframe",{ref_key:"iframeElement",ref:o,class:"bg-white w-full h-full"},null,512)]))}},go={__name:"SpladeApp",props:{el:{type:[String,Object],required:!0}},setup(e){const t=e,r=ho(t.el)?document.getElementById(t.el):t.el,n=JSON.parse(r.dataset.components),o=JSON.parse(r.dataset.html),i=JSON.parse(r.dataset.splade);a.provide("stack",0);const s=a.ref(),u=a.ref([]),l=a.ref(null);function c(){l.value=null}function d(p){u[p]=null,g.popStack()}const h=a.inject("$spladeOptions");return g.setOnHtml((p,y)=>{u.value=[],s.value=p,a.nextTick(()=>{window.scrollTo(0,y),h.transform_anchors&&[...document.querySelectorAll("a")].forEach(m=>{m.href==""||m.href.charAt(0)=="#"||m.__vnode.dynamicProps===null&&(m.hasAttribute("download")||(m.onclick=function(O){O.preventDefault(),g.visit(m.href)}))})})}),g.setOnModal(function(p,y){u.value[g.currentStack]={html:p,type:y}}),g.setOnServerError(function(p){l.value=p}),g.init(o,i),(p,y)=>(a.openBlock(),a.createElementBlock(a.Fragment,null,[(a.openBlock(),a.createBlock(a.KeepAlive,{max:a.unref(h).max_keep_alive},[(a.openBlock(),a.createBlock(de,{key:`visit.${a.unref(g).pageVisitId}`,class:a.normalizeClass({"transition ease-in-out blur-sm":a.unref(g).currentStack>0}),html:s.value},null,8,["class","html"]))],1032,["max"])),a.createVNode(de,{html:a.unref(n)},null,8,["html"]),(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(a.unref(g).currentStack,m=>(a.openBlock(),a.createBlock(de,{key:`modal.${m}`,type:u.value[m].type,html:u.value[m].html,stack:m,"on-top-of-stack":a.unref(g).currentStack===m,onClose:O=>d(m)},null,8,["type","html","stack","on-top-of-stack","onClose"]))),128)),l.value?(a.openBlock(),a.createBlock(mo,{key:0,html:l.value,onClose:c},null,8,["html"])):a.createCommentVNode("",!0)],64))}};function yo(e){return()=>a.h(go,e)}var vo=Object.prototype,bo=vo.hasOwnProperty;function wo(e,t){return e!=null&&bo.call(e,t)}var _o="[object Symbol]";function Ue(e){return typeof e=="symbol"||W(e)&&z(e)==_o}var So=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,To=/^\w*$/;function Ge(e,t){if(B(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Ue(e)?!0:To.test(e)||!So.test(e)||t!=null&&e in Object(t)}var Oo=q["__core-js_shared__"];const Ke=Oo;var Mt=function(){var e=/[^.]+$/.exec(Ke&&Ke.keys&&Ke.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function $o(e){return!!Mt&&Mt in e}var Eo=Function.prototype,Po=Eo.toString;function V(e){if(e!=null){try{return Po.call(e)}catch{}try{return e+""}catch{}}return""}var Ao=/[\\^$.*+?()[\]{}|]/g,Co=/^\[object .+?Constructor\]$/,Do=Function.prototype,Fo=Object.prototype,jo=Do.toString,xo=Fo.hasOwnProperty,Bo=RegExp("^"+jo.call(xo).replace(Ao,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mo(e){if(!ae(e)||$o(e))return!1;var t=Ft(e)?Bo:Co;return t.test(V(e))}function Lo(e,t){return e==null?void 0:e[t]}function Q(e,t){var r=Lo(e,t);return Mo(r)?r:void 0}var Ro=Q(Object,"create");const pe=Ro;function Io(){this.__data__=pe?pe(null):{},this.size=0}function qo(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var No="__lodash_hash_undefined__",ko=Object.prototype,Ho=ko.hasOwnProperty;function Uo(e){var t=this.__data__;if(pe){var r=t[e];return r===No?void 0:r}return Ho.call(t,e)?t[e]:void 0}var Go=Object.prototype,Ko=Go.hasOwnProperty;function zo(e){var t=this.__data__;return pe?t[e]!==void 0:Ko.call(t,e)}var Wo="__lodash_hash_undefined__";function Xo(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=pe&&t===void 0?Wo:t,this}function Z(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1}function ta(e,t){var r=this.__data__,n=Oe(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function N(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t`"${o}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,M),n}var Ee=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(Ee||{}),X=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(X||{});function D({visible:e=!0,features:t=0,ourProps:r,theirProps:n,...o}){var i;let s=wa(n,r),u=Object.assign(o,{props:s});if(e||t&2&&s.static)return Je(u);if(t&1){let l=(i=s.unmount)==null||i?0:1;return M(l,{[0](){return null},[1](){return Je({...o,props:{...s,hidden:!0,style:{display:"none"}}})}})}return Je(u)}function Je({props:e,attrs:t,slots:r,slot:n,name:o}){var i;let{as:s,...u}=kt(e,["unmount","static"]),l=(i=r.default)==null?void 0:i.call(r,n),c={};if(s==="template"){if(l=Nt(l),Object.keys(u).length>0||Object.keys(t).length>0){let[d,...h]=l!=null?l:[];if(!_a(d)||h.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(u).concat(Object.keys(t)).sort((p,y)=>p.localeCompare(y)).map(p=>` - ${p}`).join(`
-`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(p=>` - ${p}`).join(`
+(function(S,ie){typeof exports=="object"&&typeof module<"u"?ie(exports,require("axios"),require("vue")):typeof define=="function"&&define.amd?define(["exports","axios","vue"],ie):(S=typeof globalThis<"u"?globalThis:S||self,ie(S.ProtoneMediaLaravelSplade={},S.axios,S.Vue))})(this,function(S,ie,i){"use strict";const mt=(e=>e&&typeof e=="object"&&"default"in e?e:{default:e})(ie);function Jn(e,t){for(var n=-1,r=e==null?0:e.length;++n-1&&e%1==0&&e-1&&e%1==0&&e<=_r}var Or="[object Arguments]",Tr="[object Array]",$r="[object Boolean]",Er="[object Date]",Pr="[object Error]",Ar="[object Function]",Cr="[object Map]",Dr="[object Number]",jr="[object Object]",Fr="[object RegExp]",xr="[object Set]",Br="[object String]",Mr="[object WeakMap]",Rr="[object ArrayBuffer]",Lr="[object DataView]",Ir="[object Float32Array]",qr="[object Float64Array]",Nr="[object Int8Array]",kr="[object Int16Array]",Hr="[object Int32Array]",Ur="[object Uint8Array]",Gr="[object Uint8ClampedArray]",Kr="[object Uint16Array]",zr="[object Uint32Array]",y={};y[Ir]=y[qr]=y[Nr]=y[kr]=y[Hr]=y[Ur]=y[Gr]=y[Kr]=y[zr]=!0,y[Or]=y[Tr]=y[Rr]=y[$r]=y[Lr]=y[Er]=y[Pr]=y[Ar]=y[Cr]=y[Dr]=y[jr]=y[Fr]=y[xr]=y[Br]=y[Mr]=!1;function Wr(e){return H(e)&&je(e.length)&&!!y[k(e)]}function Jr(e){return function(t){return e(t)}}var $t=typeof S=="object"&&S&&!S.nodeType&&S,le=$t&&typeof module=="object"&&module&&!module.nodeType&&module,Xr=le&&le.exports===$t,Fe=Xr&>.process,Yr=function(){try{var e=le&&le.require&&le.require("util").types;return e||Fe&&Fe.binding&&Fe.binding("util")}catch{}}();const Et=Yr;var Pt=Et&&Et.isTypedArray,Vr=Pt?Jr(Pt):Wr;const At=Vr;var Qr=Object.prototype,Zr=Qr.hasOwnProperty;function eo(e,t){var n=P(e),r=!n&&St(e),o=!n&&!r&&Ce(e),a=!n&&!r&&!o&&At(e),s=n||r||o||a,u=s?Qn(e.length,String):[],l=u.length;for(var f in e)(t||Zr.call(e,f))&&!(s&&(f=="length"||o&&(f=="offset"||f=="parent")||a&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||De(f,l)))&&u.push(f);return u}var to=Object.prototype;function no(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||to;return e===n}function ro(e,t){return function(n){return e(t(n))}}var oo=ro(Object.keys,Object);const ao=oo;var io=Object.prototype,so=io.hasOwnProperty;function lo(e){if(!no(e))return ao(e);var t=[];for(var n in Object(e))so.call(e,n)&&n!="constructor"&&t.push(n);return t}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var uo="[object AsyncFunction]",fo="[object Function]",co="[object GeneratorFunction]",po="[object Proxy]";function Ct(e){if(!te(e))return!1;var t=k(e);return t==fo||t==co||t==uo||t==po}function Dt(e){return e!=null&&je(e.length)&&!Ct(e)}function xe(e){return Dt(e)?eo(e):lo(e)}function Be(e,t){return e&&Vn(e,t,xe)}function ho(e,t){return function(n,r){if(n==null)return n;if(!Dt(n))return e(n,r);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a"u";function So(e,t){ne||window.addEventListener("popstate",_o.bind(this)),Le(t),Ie(e);const n=ne?"":location.href,r=xt(n,e,{},Me.value);To(r)}function _o(e){B.value=e.state,U.value=0,Ie(B.value.html,B.value.rememberedState.scrollY)}function xt(e,t,n,r){const o={url:e,html:t,rememberedState:n,pageVisitId:r};return B.value=o,o}function Oo(e){ne||window.history.pushState(e,"",e.url)}function To(e){ne||window.history.replaceState(e,"",e.url)}const B=i.ref({});function $o(e){const t=e.request.responseURL;if(e.data.splade.modal&&U.value++,Le(e.data.splade),e.data.splade.modal)return Mo(e.data.html,e.data.splade.modal);(t!==B.value.url||e.data.splade.refresh||U.value>0)&&(U.value=0,Me.value++,Ie(e.data.html,0));const n=xt(t,e.data.html,B.value.rememberedState?{...B.value.rememberedState}:{},Me.value);Oo(n)}const U=i.ref(0);function Eo(){U.value--}const Bt=i.ref({}),Mt=i.ref({}),Rt=e=>Mt.value[e],Po=e=>Object.keys(Rt.value[e]).length>0,Lt=i.ref({}),Ao=e=>Lt.value[e],re=i.ref([]),Co=i.computed(()=>wo(re.value));function Do(e){re.value.push(e)}function jo(e){re.value[e].dismissed=!0,re.value[e].html=null}const Re=i.ref(null);function Fo(e,t,n,r){let o,a;const s=new Promise((u,l)=>{o=u,a=l});return Re.value={title:e,text:t,confirmButton:n,cancelButton:r,resolvePromise:o,rejectPromise:a},s}function xo(){Re.value=null}function Le(e){Bt.value=e.shared?e.shared:{},Lt.value[U.value]=e.flash?e.flash:{},yo(e.toasts?e.toasts:[],t=>{re.value.push(t)}),Mt.value[U.value]=e.errors?e.errors:{}}function Bo(e){Ht.value(e)}function Ie(e,t){Nt.value(e,t)}function Mo(e,t){kt.value(e,t)}const It=i.ref({});function qt(e,t,n){It.value[e]=t,n&&Ro(e,t)}function Ro(e,t){let n=JSON.parse(localStorage.getItem("splade")||"{}")||{};n[e]=t,localStorage.setItem("splade",JSON.stringify(n))}function Lo(e,t){return t?(JSON.parse(localStorage.getItem("splade")||"{}")||{})[e]:It.value[e]}function ue(e,t,n,r){ne||qt("scrollY",window.scrollY);const o=mt.default({method:t,url:e,data:n,headers:{"X-Splade":!0,"X-Requested-With":"XMLHttpRequest",Accept:"text/html, application/xhtml+xml",...r}});return o.then(a=>{$o(a)}).catch(a=>{console.log(a);const s=a.response.data.splade;s&&Le(s),a.response.status!=422&&Bo(a.response.data.html?a.response.data.html:a.response.data)}),o}function Io(e){ue(e,"GET",{},{})}function qo(e){ue(e,"GET",{},{"X-Splade-Modal":"modal"})}function No(e){ue(e,"GET",{},{"X-Splade-Modal":"slideover"})}function ko(){ue(B.value.url,"GET",{},{"X-Splade-Refresh":!0})}const Nt=i.ref(()=>{}),kt=i.ref(()=>{}),Ht=i.ref(()=>{}),p={init:So,visit:Io,modal:qo,slideover:No,refresh:ko,request:ue,setOnHtml(e){Nt.value=e},setOnModal(e){kt.value=e},setOnServerError(e){Ht.value=e},hasValidationErrors:Po,validationErrors:Rt,sharedData:Bt,flashData:Ao,toasts:re,toastsReversed:Co,confirmModal:Re,confirm:Fo,clearConfirmModal:xo,pushToast:Do,dismissToast:jo,restore:Lo,remember:qt,popStack:Eo,currentStack:U,pageVisitId:i.computed(()=>B.value.pageVisitId),isSsr:ne};var Ho="[object String]";function qe(e){return typeof e=="string"||!P(e)&&H(e)&&k(e)==Ho}const fe={__name:"Render",props:{html:{type:String,required:!1,default:""}},setup(e){const t=e,n=i.ref(null);function r(){n.value=i.h({template:t.html})}return i.watch(()=>t.html,r,{immediate:!0}),(o,a)=>(i.openBlock(),i.createBlock(i.unref(n)))}},Uo={__name:"ServerError",props:{html:{type:String,required:!0}},emits:["close"],setup(e,{emit:t}){const n=e;function r(){document.body.style.overflow="visible",document.removeEventListener("keydown",s),t("close")}const o=i.ref(null);function a(){const u=document.createElement("html");u.innerHTML=n.html,u.querySelectorAll("a").forEach(f=>f.setAttribute("target","_top")),document.body.style.overflow="hidden";const l=o.value;if(!l.contentWindow)throw new Error("iframe not yet ready.");l.contentWindow.document.open(),l.contentWindow.document.write(u.outerHTML),l.contentWindow.document.close(),document.addEventListener("keydown",s)}function s(u){u.keyCode===27&&r()}return i.onMounted(()=>a()),(u,l)=>(i.openBlock(),i.createElementBlock("div",{class:"w-screen h-screen fixed p-8 bg-black bg-opacity-75 inset-0 z-[200000] box-border",onClick:r},[i.createElementVNode("iframe",{ref_key:"iframeElement",ref:o,class:"bg-white w-full h-full"},null,512)]))}},Ut={__name:"SpladeApp",props:{el:{type:[String,Object],required:!1,default:""},components:{type:String,required:!1,default:e=>{if(!p.isSsr){const t=qe(e.el)?document.getElementById(e.el):e.el;return JSON.parse(t.dataset.components)||""}}},initialHtml:{type:String,required:!1,default:e=>{if(!p.isSsr){const t=qe(e.el)?document.getElementById(e.el):e.el;return JSON.parse(t.dataset.html)||""}}},initialSpladeData:{type:Object,required:!1,default:e=>{if(!p.isSsr){const t=qe(e.el)?document.getElementById(e.el):e.el;return JSON.parse(t.dataset.splade)||{}}}}},setup(e){const t=e;i.provide("stack",0);const n=i.ref(),r=i.ref([]),o=i.ref(null);function a(){o.value=null}function s(l){r[l]=null,p.popStack()}const u=i.inject("$spladeOptions")||{};return p.setOnHtml((l,f)=>{r.value=[],n.value=l,i.nextTick(()=>{p.isSsr||window.scrollTo(0,f),u.transform_anchors&&[...document.querySelectorAll("a")].forEach(c=>{c.href==""||c.href.charAt(0)=="#"||c.__vnode.dynamicProps===null&&(c.hasAttribute("download")||(c.onclick=function(d){d.preventDefault(),p.visit(c.href)}))})})}),p.setOnModal(function(l,f){r.value[p.currentStack.value]={html:l,type:f}}),p.setOnServerError(function(l){o.value=l}),p.init(t.initialHtml,t.initialSpladeData),(l,f)=>(i.openBlock(),i.createElementBlock("div",null,[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(i.unref(p).isSsr?"div":"keep-alive"),{max:i.unref(u).max_keep_alive},{default:i.withCtx(()=>[(i.openBlock(),i.createBlock(fe,{key:`visit.${i.unref(p).pageVisitId.value}`,class:i.normalizeClass({"transition ease-in-out blur-sm":i.unref(p).currentStack>0}),html:n.value},null,8,["class","html"]))]),_:1},8,["max"])),i.createVNode(fe,{html:e.components},null,8,["html"]),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(i.unref(p).currentStack.value,c=>(i.openBlock(),i.createBlock(fe,{key:`modal.${c}`,type:r.value[c].type,html:r.value[c].html,stack:c,"on-top-of-stack":i.unref(p).currentStack.value===c,onClose:d=>s(c)},null,8,["type","html","stack","on-top-of-stack","onClose"]))),128)),o.value?(i.openBlock(),i.createBlock(Uo,{key:0,html:o.value,onClose:a},null,8,["html"])):i.createCommentVNode("",!0)]))}};function Go(e){return()=>i.h(Ut,e)}var Ko=Object.prototype,zo=Ko.hasOwnProperty;function Wo(e,t){return e!=null&&zo.call(e,t)}var Jo="[object Symbol]";function Ne(e){return typeof e=="symbol"||H(e)&&k(e)==Jo}var Xo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Yo=/^\w*$/;function ke(e,t){if(P(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Ne(e)?!0:Yo.test(e)||!Xo.test(e)||t!=null&&e in Object(t)}var Vo=x["__core-js_shared__"];const He=Vo;var Gt=function(){var e=/[^.]+$/.exec(He&&He.keys&&He.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qo(e){return!!Gt&&Gt in e}var Zo=Function.prototype,ea=Zo.toString;function W(e){if(e!=null){try{return ea.call(e)}catch{}try{return e+""}catch{}}return""}var ta=/[\\^$.*+?()[\]{}|]/g,na=/^\[object .+?Constructor\]$/,ra=Function.prototype,oa=Object.prototype,aa=ra.toString,ia=oa.hasOwnProperty,sa=RegExp("^"+aa.call(ia).replace(ta,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function la(e){if(!te(e)||Qo(e))return!1;var t=Ct(e)?sa:na;return t.test(W(e))}function ua(e,t){return e==null?void 0:e[t]}function J(e,t){var n=ua(e,t);return la(n)?n:void 0}var fa=J(Object,"create");const ce=fa;function ca(){this.__data__=ce?ce(null):{},this.size=0}function da(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var pa="__lodash_hash_undefined__",ha=Object.prototype,ma=ha.hasOwnProperty;function ga(e){var t=this.__data__;if(ce){var n=t[e];return n===pa?void 0:n}return ma.call(t,e)?t[e]:void 0}var ya=Object.prototype,va=ya.hasOwnProperty;function ba(e){var t=this.__data__;return ce?t[e]!==void 0:va.call(t,e)}var wa="__lodash_hash_undefined__";function Sa(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ce&&t===void 0?wa:t,this}function X(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}function Aa(e,t){var n=this.__data__,r=we(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function M(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t`"${o}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,A),r}var _e=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(_e||{}),G=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(G||{});function $({visible:e=!0,features:t=0,ourProps:n,theirProps:r,...o}){var a;let s=Wa(r,n),u=Object.assign(o,{props:s});if(e||t&2&&s.static)return ze(u);if(t&1){let l=(a=s.unmount)==null||a?0:1;return A(l,{[0](){return null},[1](){return ze({...o,props:{...s,hidden:!0,style:{display:"none"}}})}})}return ze(u)}function ze({props:e,attrs:t,slots:n,slot:r,name:o}){var a;let{as:s,...u}=Yt(e,["unmount","static"]),l=(a=n.default)==null?void 0:a.call(n,r),f={};if(s==="template"){if(l=Xt(l),Object.keys(u).length>0||Object.keys(t).length>0){let[c,...d]=l!=null?l:[];if(!Ja(c)||d.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(u).concat(Object.keys(t)).sort((h,m)=>h.localeCompare(m)).map(h=>` - ${h}`).join(`
+`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(h=>` - ${h}`).join(`
`)].join(`
-`));return a.cloneVNode(d,Object.assign({},u,c))}return Array.isArray(l)&&l.length===1?l[0]:l}return a.h(s,Object.assign({},u,c),l)}function Nt(e){return e.flatMap(t=>t.type===a.Fragment?Nt(t.children):[t])}function wa(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},r={};for(let n of e)for(let o in n)o.startsWith("on")&&typeof n[o]=="function"?(r[o]!=null||(r[o]=[]),r[o].push(n[o])):t[o]=n[o];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(r).map(n=>[n,void 0])));for(let n in r)Object.assign(t,{[n](o,...i){let s=r[n];for(let u of s){if(o!=null&&o.defaultPrevented)return;u(o,...i)}}});return t}function kt(e,t=[]){let r=Object.assign({},e);for(let n of t)n in r&&delete r[n];return r}function _a(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let Sa=0;function Ta(){return++Sa}function ee(){return Ta()}var Ht=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(Ht||{});function H(e){var t;return e==null||e.value==null?null:(t=e.value.$el)!=null?t:e.value}let Ut=Symbol("Context");var te=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(te||{});function Oa(){return Ye()!==null}function Ye(){return a.inject(Ut,null)}function $a(e){a.provide(Ut,e)}function ie(e){if(typeof window>"u")return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let t=H(e);if(t)return t.ownerDocument}return document}let Ve=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var ge=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(ge||{}),Gt=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Gt||{}),Ea=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Ea||{});function Pa(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Ve))}var Kt=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Kt||{});function Aa(e,t=0){var r;return e===((r=ie(e))==null?void 0:r.body)?!1:M(t,{[0](){return e.matches(Ve)},[1](){let n=e;for(;n!==null;){if(n.matches(Ve))return!0;n=n.parentElement}return!1}})}function ye(e){e==null||e.focus({preventScroll:!0})}let Ca=["textarea","input"].join(",");function Da(e){var t,r;return(r=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,Ca))!=null?r:!1}function Fa(e,t=r=>r){return e.slice().sort((r,n)=>{let o=t(r),i=t(n);if(o===null||i===null)return 0;let s=o.compareDocumentPosition(i);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Qe(e,t,r=!0){var n;let o=(n=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?n:document,i=Array.isArray(e)?r?Fa(e):e:Pa(e),s=o.activeElement,u=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,i.indexOf(s))-1;if(t&4)return Math.max(0,i.indexOf(s))+1;if(t&8)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=t&32?{preventScroll:!0}:{},d=0,h=i.length,p;do{if(d>=h||d+h<=0)return 0;let y=l+d;if(t&16)y=(y+h)%h;else{if(y<0)return 3;if(y>=h)return 1}p=i[y],p==null||p.focus(c),d+=u}while(p!==o.activeElement);return p.hasAttribute("tabindex")||p.setAttribute("tabindex","0"),t&6&&Da(p)&&p.select(),2}function Ze(e,t,r){typeof window<"u"&&a.watchEffect(n=>{window.addEventListener(e,t,r),n(()=>window.removeEventListener(e,t,r))})}function ja(e,t,r=a.computed(()=>!0)){function n(o,i){if(!r.value||o.defaultPrevented)return;let s=i(o);if(s===null||!s.ownerDocument.documentElement.contains(s))return;let u=function l(c){return typeof c=="function"?l(c()):Array.isArray(c)||c instanceof Set?c:[c]}(e);for(let l of u){if(l===null)continue;let c=l instanceof HTMLElement?l:H(l);if(c!=null&&c.contains(s))return}return!Aa(s,Kt.Loose)&&s.tabIndex!==-1&&o.preventDefault(),t(o,s)}Ze("click",o=>n(o,i=>i.target),!0),Ze("blur",o=>n(o,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var Pe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(Pe||{});let et=a.defineComponent({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:r}){return()=>{let{features:n,...o}=e,i={"aria-hidden":(n&2)===2?!0:void 0,style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(n&4)===4&&(n&2)!==2&&{display:"none"}}};return D({ourProps:i,theirProps:o,slot:{},attrs:r,slots:t,name:"Hidden"})}}});var tt=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(tt||{});function xa(){let e=a.ref(0);return Ze("keydown",t=>{t.key==="Tab"&&(e.value=t.shiftKey?1:0)}),e}function zt(e,t,r,n){typeof window<"u"&&a.watchEffect(o=>{e=e!=null?e:window,e.addEventListener(t,r,n),o(()=>e.removeEventListener(t,r,n))})}var Wt=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(Wt||{});let ve=Object.assign(a.defineComponent({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:Object,default:a.ref(new Set)}},inheritAttrs:!1,setup(e,{attrs:t,slots:r,expose:n}){let o=a.ref(null);n({el:o,$el:o});let i=a.computed(()=>ie(o));Ba({ownerDocument:i},a.computed(()=>Boolean(e.features&16)));let s=Ma({ownerDocument:i,container:o,initialFocus:a.computed(()=>e.initialFocus)},a.computed(()=>Boolean(e.features&2)));La({ownerDocument:i,container:o,containers:e.containers,previousActiveElement:s},a.computed(()=>Boolean(e.features&8)));let u=xa();function l(){let c=H(o);!c||M(u.value,{[tt.Forwards]:()=>Qe(c,ge.First),[tt.Backwards]:()=>Qe(c,ge.Last)})}return()=>{let c={},d={ref:o},{features:h,initialFocus:p,containers:y,...m}=e;return a.h(a.Fragment,[Boolean(h&4)&&a.h(et,{as:"button",type:"button",onFocus:l,features:Pe.Focusable}),D({ourProps:d,theirProps:{...t,...m},slot:c,attrs:t,slots:r,name:"FocusTrap"}),Boolean(h&4)&&a.h(et,{as:"button",type:"button",onFocus:l,features:Pe.Focusable})])}}}),{features:Wt});function Ba({ownerDocument:e},t){let r=a.ref(null),n={value:!1};a.onMounted(()=>{a.watch(t,(o,i)=>{var s;o!==i&&(!t.value||(n.value=!0,r.value||(r.value=(s=e.value)==null?void 0:s.activeElement)))},{immediate:!0}),a.watch(t,(o,i,s)=>{o!==i&&(!t.value||s(()=>{n.value!==!1&&(n.value=!1,ye(r.value),r.value=null)}))},{immediate:!0})})}function Ma({ownerDocument:e,container:t,initialFocus:r},n){let o=a.ref(null);return a.onMounted(()=>{a.watch([t,r,n],(i,s)=>{if(i.every((l,c)=>(s==null?void 0:s[c])===l)||!n.value)return;let u=H(t);!u||requestAnimationFrame(()=>{var l,c;let d=H(r),h=(l=e.value)==null?void 0:l.activeElement;if(d){if(d===h){o.value=h;return}}else if(u.contains(h)){o.value=h;return}d?ye(d):Qe(u,ge.First|ge.NoScroll)===Gt.Error&&console.warn("There are no focusable elements inside the "),o.value=(c=e.value)==null?void 0:c.activeElement})},{immediate:!0,flush:"post"})}),o}function La({ownerDocument:e,container:t,containers:r,previousActiveElement:n},o){var i;zt((i=e.value)==null?void 0:i.defaultView,"focus",s=>{if(!o.value)return;let u=new Set(r==null?void 0:r.value);u.add(t);let l=n.value;if(!l)return;let c=s.target;c&&c instanceof HTMLElement?Ra(u,c)?(n.value=c,ye(c)):(s.preventDefault(),s.stopPropagation(),ye(l)):ye(n.value)},!0)}function Ra(e,t){var r;for(let n of e)if((r=n.value)!=null&&r.contains(t))return!0;return!1}let Xt="body > *",se=new Set,J=new Map;function Jt(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function Yt(e){let t=J.get(e);!t||(t["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert)}function Ia(e,t=a.ref(!0)){a.watchEffect(r=>{if(!t.value||!e.value)return;let n=e.value,o=ie(n);if(o){se.add(n);for(let i of J.keys())i.contains(n)&&(Yt(i),J.delete(i));o.querySelectorAll(Xt).forEach(i=>{if(i instanceof HTMLElement){for(let s of se)if(i.contains(s))return;se.size===1&&(J.set(i,{"aria-hidden":i.getAttribute("aria-hidden"),inert:i.inert}),Jt(i))}}),r(()=>{if(se.delete(n),se.size>0)o.querySelectorAll(Xt).forEach(i=>{if(i instanceof HTMLElement&&!J.has(i)){for(let s of se)if(i.contains(s))return;J.set(i,{"aria-hidden":i.getAttribute("aria-hidden"),inert:i.inert}),Jt(i)}});else for(let i of J.keys())Yt(i),J.delete(i)})}})}let Vt=Symbol("ForcePortalRootContext");function qa(){return a.inject(Vt,!1)}let rt=a.defineComponent({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(e,{slots:t,attrs:r}){return a.provide(Vt,e.force),()=>{let{force:n,...o}=e;return D({theirProps:o,ourProps:{},slot:{},slots:t,attrs:r,name:"ForcePortalRoot"})}}});function Na(e){let t=ie(e);if(!t){if(e===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`)}let r=t.getElementById("headlessui-portal-root");if(r)return r;let n=t.createElement("div");return n.setAttribute("id","headlessui-portal-root"),t.body.appendChild(n)}let Qt=a.defineComponent({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:r}){let n=a.ref(null),o=a.computed(()=>ie(n)),i=qa(),s=a.inject(Zt,null),u=a.ref(i===!0||s==null?Na(n.value):s.resolveTarget());return a.watchEffect(()=>{i||s!=null&&(u.value=s.resolveTarget())}),a.onUnmounted(()=>{var l,c;let d=(l=o.value)==null?void 0:l.getElementById("headlessui-portal-root");!d||u.value===d&&u.value.children.length<=0&&((c=u.value.parentElement)==null||c.removeChild(u.value))}),()=>{if(u.value===null)return null;let l={ref:n,"data-headlessui-portal":""};return a.h(a.Teleport,{to:u.value},D({ourProps:l,theirProps:e,slot:{},attrs:r,slots:t,name:"Portal"}))}}}),Zt=Symbol("PortalGroupContext"),ka=a.defineComponent({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:r}){let n=a.reactive({resolveTarget(){return e.target}});return a.provide(Zt,n),()=>{let{target:o,...i}=e;return D({theirProps:i,ourProps:{},slot:{},attrs:t,slots:r,name:"PortalGroup"})}}}),er=Symbol("StackContext");var nt=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(nt||{});function Ha(){return a.inject(er,()=>{})}function Ua({type:e,element:t,onUpdate:r}){let n=Ha();function o(...i){r==null||r(...i),n(...i)}a.onMounted(()=>{o(0,e,t),a.onUnmounted(()=>{o(1,e,t)})}),a.provide(er,o)}let tr=Symbol("DescriptionContext");function Ga(){let e=a.inject(tr,null);if(e===null)throw new Error("Missing parent");return e}function Ka({slot:e=a.ref({}),name:t="Description",props:r={}}={}){let n=a.ref([]);function o(i){return n.value.push(i),()=>{let s=n.value.indexOf(i);s!==-1&&n.value.splice(s,1)}}return a.provide(tr,{register:o,slot:e,name:t,props:r}),a.computed(()=>n.value.length>0?n.value.join(" "):void 0)}let za=a.defineComponent({name:"Description",props:{as:{type:[Object,String],default:"p"}},setup(e,{attrs:t,slots:r}){let n=Ga(),o=`headlessui-description-${ee()}`;return a.onMounted(()=>a.onUnmounted(n.register(o))),()=>{let{name:i="Description",slot:s=a.ref({}),props:u={}}=n,l=e,c={...Object.entries(u).reduce((d,[h,p])=>Object.assign(d,{[h]:a.unref(p)}),{}),id:o};return D({ourProps:c,theirProps:l,slot:s.value,attrs:t,slots:r,name:i})}}});var Wa=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Wa||{});let ot=Symbol("DialogContext");function be(e){let t=a.inject(ot,null);if(t===null){let r=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,be),r}return t}let Ae="DC8F892D-2EBD-447C-A4C8-A03058436FF4",rr=a.defineComponent({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:Ae},initialFocus:{type:Object,default:null}},emits:{close:e=>!0},setup(e,{emit:t,attrs:r,slots:n,expose:o}){var i;let s=a.ref(!1);a.onMounted(()=>{s.value=!0});let u=a.ref(0),l=Ye(),c=a.computed(()=>e.open===Ae&&l!==null?M(l.value,{[te.Open]:!0,[te.Closed]:!1}):e.open),d=a.ref(new Set),h=a.ref(null),p=a.ref(null),y=a.computed(()=>ie(h));if(o({el:h,$el:h}),!(e.open!==Ae||l!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof c.value!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${c.value===Ae?void 0:e.open}`);let m=a.computed(()=>s.value&&c.value?0:1),O=a.computed(()=>m.value===0),E=a.computed(()=>u.value>1),F=a.inject(ot,null)!==null,P=a.computed(()=>E.value?"parent":"leaf");Ia(h,a.computed(()=>E.value?O.value:!1)),Ua({type:"Dialog",element:h,onUpdate:(_,w,S)=>{if(w==="Dialog")return M(_,{[nt.Add](){d.value.add(S),u.value+=1},[nt.Remove](){d.value.delete(S),u.value-=1}})}});let G=Ka({name:"DialogDescription",slot:a.computed(()=>({open:c.value}))}),R=`headlessui-dialog-${ee()}`,j=a.ref(null),x={titleId:j,panelRef:a.ref(null),dialogState:m,setTitleId(_){j.value!==_&&(j.value=_)},close(){t("close",!1)}};return a.provide(ot,x),ja(()=>{var _,w,S;return[...Array.from((w=(_=y.value)==null?void 0:_.querySelectorAll("body > *, [data-headlessui-portal]"))!=null?w:[]).filter(v=>!(!(v instanceof HTMLElement)||v.contains(H(p))||x.panelRef.value&&v.contains(x.panelRef.value))),(S=x.panelRef.value)!=null?S:h.value]},(_,w)=>{x.close(),a.nextTick(()=>w==null?void 0:w.focus())},a.computed(()=>m.value===0&&!E.value)),zt((i=y.value)==null?void 0:i.defaultView,"keydown",_=>{_.defaultPrevented||_.key===Ht.Escape&&m.value===0&&(E.value||(_.preventDefault(),_.stopPropagation(),x.close()))}),a.watchEffect(_=>{var w;if(m.value!==0||F)return;let S=y.value;if(!S)return;let v=S==null?void 0:S.documentElement,A=(w=S.defaultView)!=null?w:window,xe=v.style.overflow,Se=v.style.paddingRight,le=A.innerWidth-v.clientWidth;if(v.style.overflow="hidden",le>0){let Be=v.clientWidth-v.offsetWidth,Me=le-Be;v.style.paddingRight=`${Me}px`}_(()=>{v.style.overflow=xe,v.style.paddingRight=Se})}),a.watchEffect(_=>{if(m.value!==0)return;let w=H(h);if(!w)return;let S=new IntersectionObserver(v=>{for(let A of v)A.boundingClientRect.x===0&&A.boundingClientRect.y===0&&A.boundingClientRect.width===0&&A.boundingClientRect.height===0&&x.close()});S.observe(w),_(()=>S.disconnect())}),()=>{let _={...r,ref:h,id:R,role:"dialog","aria-modal":m.value===0?!0:void 0,"aria-labelledby":j.value,"aria-describedby":G.value},{open:w,initialFocus:S,...v}=e,A={open:m.value===0};return a.h(rt,{force:!0},()=>[a.h(Qt,()=>a.h(ka,{target:h.value},()=>a.h(rt,{force:!1},()=>a.h(ve,{initialFocus:S,containers:d,features:O.value?M(P.value,{parent:ve.features.RestoreFocus,leaf:ve.features.All&~ve.features.FocusLock}):ve.features.None},()=>D({ourProps:_,theirProps:v,slot:A,attrs:r,slots:n,visible:m.value===0,features:Ee.RenderStrategy|Ee.Static,name:"Dialog"}))))),a.h(et,{features:Pe.Hidden,ref:p})])}}});a.defineComponent({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:r}){let n=be("DialogOverlay"),o=`headlessui-dialog-overlay-${ee()}`;function i(s){s.target===s.currentTarget&&(s.preventDefault(),s.stopPropagation(),n.close())}return()=>D({ourProps:{id:o,"aria-hidden":!0,onClick:i},theirProps:e,slot:{open:n.dialogState.value===0},attrs:t,slots:r,name:"DialogOverlay"})}}),a.defineComponent({name:"DialogBackdrop",props:{as:{type:[Object,String],default:"div"}},inheritAttrs:!1,setup(e,{attrs:t,slots:r,expose:n}){let o=be("DialogBackdrop"),i=`headlessui-dialog-backdrop-${ee()}`,s=a.ref(null);return n({el:s,$el:s}),a.onMounted(()=>{if(o.panelRef.value===null)throw new Error("A component is being used, but a component is missing.")}),()=>{let u=e,l={id:i,ref:s,"aria-hidden":!0};return a.h(rt,{force:!0},()=>a.h(Qt,()=>D({ourProps:l,theirProps:{...t,...u},slot:{open:o.dialogState.value===0},attrs:t,slots:r,name:"DialogBackdrop"})))}}});let nr=a.defineComponent({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:r,expose:n}){let o=be("DialogPanel"),i=`headlessui-dialog-panel-${ee()}`;n({el:o.panelRef,$el:o.panelRef});function s(u){u.stopPropagation()}return()=>{let u={id:i,ref:o.panelRef,onClick:s};return D({ourProps:u,theirProps:e,slot:{open:o.dialogState.value===0},attrs:t,slots:r,name:"DialogPanel"})}}});a.defineComponent({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"}},setup(e,{attrs:t,slots:r}){let n=be("DialogTitle"),o=`headlessui-dialog-title-${ee()}`;return a.onMounted(()=>{n.setTitleId(o),a.onUnmounted(()=>n.setTitleId(null))}),()=>D({ourProps:{id:o},theirProps:e,slot:{open:n.dialogState.value===0},attrs:t,slots:r,name:"DialogTitle"})}});function Xa(e){let t={called:!1};return(...r)=>{if(!t.called)return t.called=!0,e(...r)}}function or(){let e=[],t=[],r={enqueue(n){t.push(n)},requestAnimationFrame(...n){let o=requestAnimationFrame(...n);r.add(()=>cancelAnimationFrame(o))},nextFrame(...n){r.requestAnimationFrame(()=>{r.requestAnimationFrame(...n)})},setTimeout(...n){let o=setTimeout(...n);r.add(()=>clearTimeout(o))},add(n){e.push(n)},dispose(){for(let n of e.splice(0))n()},async workQueue(){for(let n of t.splice(0))await n()}};return r}function at(e,...t){e&&t.length>0&&e.classList.add(...t)}function Ce(e,...t){e&&t.length>0&&e.classList.remove(...t)}var it=(e=>(e.Finished="finished",e.Cancelled="cancelled",e))(it||{});function Ja(e,t){let r=or();if(!e)return r.dispose;let{transitionDuration:n,transitionDelay:o}=getComputedStyle(e),[i,s]=[n,o].map(u=>{let[l=0]=u.split(",").filter(Boolean).map(c=>c.includes("ms")?parseFloat(c):parseFloat(c)*1e3).sort((c,d)=>d-c);return l});return i!==0?r.setTimeout(()=>t("finished"),i+s):t("finished"),r.add(()=>t("cancelled")),r.dispose}function ar(e,t,r,n,o,i){let s=or(),u=i!==void 0?Xa(i):()=>{};return Ce(e,...o),at(e,...t,...r),s.nextFrame(()=>{Ce(e,...r),at(e,...n),s.add(Ja(e,l=>(Ce(e,...n,...t),at(e,...o),u(l))))}),s.add(()=>Ce(e,...t,...r,...n,...o)),s.add(()=>u("cancelled")),s.dispose}function re(e=""){return e.split(" ").filter(t=>t.trim().length>1)}let st=Symbol("TransitionContext");var Ya=(e=>(e.Visible="visible",e.Hidden="hidden",e))(Ya||{});function Va(){return a.inject(st,null)!==null}function Qa(){let e=a.inject(st,null);if(e===null)throw new Error("A is used but it is missing a parent .");return e}function Za(){let e=a.inject(lt,null);if(e===null)throw new Error("A is used but it is missing a parent .");return e}let lt=Symbol("NestingContext");function De(e){return"children"in e?De(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function ir(e){let t=a.ref([]),r=a.ref(!1);a.onMounted(()=>r.value=!0),a.onUnmounted(()=>r.value=!1);function n(i,s=X.Hidden){let u=t.value.findIndex(({id:l})=>l===i);u!==-1&&(M(s,{[X.Unmount](){t.value.splice(u,1)},[X.Hidden](){t.value[u].state="hidden"}}),!De(t)&&r.value&&(e==null||e()))}function o(i){let s=t.value.find(({id:u})=>u===i);return s?s.state!=="visible"&&(s.state="visible"):t.value.push({id:i,state:"visible"}),()=>n(i,X.Unmount)}return{children:t,register:o,unregister:n}}let sr=Ee.RenderStrategy,we=a.defineComponent({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:r,slots:n,expose:o}){if(!Va()&&Oa())return()=>a.h(_e,{...e,onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave")},n);let i=a.ref(null),s=a.ref("visible"),u=a.computed(()=>e.unmount?X.Unmount:X.Hidden);o({el:i,$el:i});let{show:l,appear:c}=Qa(),{register:d,unregister:h}=Za(),p={value:!0},y=ee(),m={value:!1},O=ir(()=>{m.value||(s.value="hidden",h(y),t("afterLeave"))});a.onMounted(()=>{let w=d(y);a.onUnmounted(w)}),a.watchEffect(()=>{if(u.value===X.Hidden&&!!y){if(l&&s.value!=="visible"){s.value="visible";return}M(s.value,{hidden:()=>h(y),visible:()=>d(y)})}});let E=re(e.enter),F=re(e.enterFrom),P=re(e.enterTo),G=re(e.entered),R=re(e.leave),j=re(e.leaveFrom),x=re(e.leaveTo);a.onMounted(()=>{a.watchEffect(()=>{if(s.value==="visible"){let w=H(i);if(w instanceof Comment&&w.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function _(w){let S=p.value&&!c.value,v=H(i);!v||!(v instanceof HTMLElement)||S||(m.value=!0,l.value&&t("beforeEnter"),l.value||t("beforeLeave"),w(l.value?ar(v,E,F,P,G,A=>{m.value=!1,A===it.Finished&&t("afterEnter")}):ar(v,R,j,x,G,A=>{m.value=!1,A===it.Finished&&(De(O)||(s.value="hidden",h(y),t("afterLeave")))})))}return a.onMounted(()=>{a.watch([l],(w,S,v)=>{_(v),p.value=!1},{immediate:!0})}),a.provide(lt,O),$a(a.computed(()=>M(s.value,{visible:te.Open,hidden:te.Closed}))),()=>{let{appear:w,show:S,enter:v,enterFrom:A,enterTo:xe,entered:Se,leave:le,leaveFrom:Be,leaveTo:Me,...oe}=e;return D({theirProps:oe,ourProps:{ref:i},slot:{},slots:n,attrs:r,features:sr,visible:s.value==="visible",name:"TransitionChild"})}}}),ei=we,_e=a.defineComponent({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:r,slots:n}){let o=Ye(),i=a.computed(()=>e.show===null&&o!==null?M(o.value,{[te.Open]:!0,[te.Closed]:!1}):e.show);a.watchEffect(()=>{if(![!0,!1].includes(i.value))throw new Error('A is used but it is missing a `:show="true | false"` prop.')});let s=a.ref(i.value?"visible":"hidden"),u=ir(()=>{s.value="hidden"}),l=a.ref(!0),c={show:i,appear:a.computed(()=>e.appear||!l.value)};return a.onMounted(()=>{a.watchEffect(()=>{l.value=!1,i.value?s.value="visible":De(u)||(s.value="hidden")})}),a.provide(lt,u),a.provide(st,c),()=>{let d=kt(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),h={unmount:e.unmount};return D({ourProps:{...h,as:"template"},theirProps:{},slot:{},slots:{...n,default:()=>[a.h(ei,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...r,...h,...d},n.default)]},attrs:{},features:sr,visible:s.value==="visible",name:"Transition"})}}});const ti={props:{defaultTitle:{type:String,required:!1,default:""},defaultText:{type:String,required:!1,default:""},defaultConfirmButton:{type:String,required:!1,default:""},defaultCancelButton:{type:String,required:!1,default:""}},data(){return{isOpen:!1}},computed:{hasConfirmModal:()=>!!g.confirmModal,title:function(){var e;return(e=g.confirmModal)!=null&&e.title?g.confirmModal.title:this.defaultTitle},text:function(){var e;return(e=g.confirmModal)!=null&&e.text?g.confirmModal.text:this.defaultText},confirmButton:function(){var e;return(e=g.confirmModal)!=null&&e.confirmButton?g.confirmModal.confirmButton:this.defaultConfirmButton},cancelButton:function(){var e;return(e=g.confirmModal)!=null&&e.cancelButton?g.confirmModal.cancelButton:this.defaultCancelButton}},watch:{hasConfirmModal(e){e&&(this.isOpen=!0)}},methods:{cancel(){g.confirmModal.rejectPromise(),this.setIsOpen(!1)},confirm(){g.confirmModal.resolvePromise(),this.setIsOpen(!1)},setIsOpen(e){this.isOpen=e},emitClose(){g.clearConfirmModal()}},render(){return this.$slots.default({title:this.title,text:this.text,confirmButton:this.confirmButton,cancelButton:this.cancelButton,isOpen:this.isOpen,setIsOpen:this.setIsOpen,cancel:this.cancel,confirm:this.confirm,emitClose:this.emitClose,Dialog:rr,DialogPanel:nr,TransitionRoot:_e,TransitionChild:we})}};function lr(e,t){t=Xe(t,e);for(var r=0,n=t.length;e!=null&&r({}),required:!1},remember:{type:String,default:null,required:!1},localStorage:{type:Boolean,default:!1,required:!1}},data(){return{values:{}}},mounted(){if(this.remember){let e=g.restore(this.remember,this.localStorage);e||(e={}),this.values=Object.assign({},{...this.default,...e})}else this.values=Object.assign({},{...this.default})},updated(){this.remember&&g.remember(this.remember,{...this.values},this.localStorage)},render(){const e=this;return this.$slots.default(new Proxy(this.values,{ownKeys(){return Object.keys(e.values)},get(t,r){return ut(e.values,r)},set(t,r,n){fr(e.values,r,n)}}))}},li={props:{url:{type:String,required:!0},method:{type:String,required:!1,default:"GET"},acceptHeader:{type:String,required:!1,default:"application/json"},poll:{type:Number,required:!1,default:null},default:{type:Object,required:!1,default:()=>({})},request:{type:Object,required:!1,default:()=>({})}},data(){return{response:Object.assign({},{...this.default}),processing:!1}},mounted(){this.$nextTick(this.performRequest)},methods:{performRequest(){this.processing=!0;const e={url:this.url,method:this.method,headers:{Accept:this.acceptHeader}};Object.keys(this.request).length>0&&(e.data=this.request),yt.default(e).then(t=>{this.response=t.data,this.processing=!1}).catch(()=>{this.processing=!1}),this.poll&&setTimeout(()=>{this.performRequest()},this.poll)}},render(){return this.$slots.default({processing:this.processing,response:this.response,reload:this.performRequest})}};function dr(e){return e&&e.length?e[0]:void 0}const ui={inject:["stack"],computed:{values(){return g.validationErrors(this.stack)}},render(){const e=this;return this.$slots.default({has(t){return L(e.values,t)},first(t){return dr(e.values[t]||[])},all:{...this.values},...this.values})}};function ci(e,t){return e&&He(e,Bt(t))}const fi={props:{private:{type:Boolean,required:!1,default:!1},channel:{type:String,required:!0},listeners:{type:Array,required:!0}},data(){return{subscribed:!1,subscription:null,subscriptions:[],events:[]}},beforeUnmount(){this.subscription&&(window.Echo.leave(this.subscription.subscription.name),this.subscription=null,this.subscriptions=[])},mounted(){this.subscription=this.private?window.Echo.private(this.channel):window.Echo.channel(this.channel),this.subscription.on("pusher:subscription_succeeded",()=>{this.subscribed=!0}),this.listeners.forEach(e=>{const t=this.subscription.listen(e,r=>{const n="splade.redirect",o="splade.refresh",i="splade.toast";let s=null,u=!1,l=[];ci(r,c=>{!ae(c)||(n in c&&(s=c[n]),o in c&&(u=c[o]),i in c&&l.push(c))}),s?g.visit(s):u?g.refresh():this.events.push({name:e,data:r}),l.length>0&&l.forEach(c=>{g.pushToast(c)}),this.$root.$emit(`event.${e}`,r)});this.subscriptions.push(t)})},render(){return this.$slots.default({subscribed:this.subscribed,events:this.events})}},di={inject:["stack"],computed:{values(){return g.flashData(this.stack)}},render(){const e=this;return this.$slots.default({has(t){return L(e.values,t)},...this.values})}};function ct(e){return e instanceof File||e instanceof Blob||e instanceof FileList&&e.length>0||e instanceof FormData&&Array.from(e.values()).some(t=>ct(t))||typeof e=="object"&&e!==null&&Object.values(e).some(t=>ct(t))}function pr(e){e=e||{};let t=new FormData;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&mr(t,hr(null,r),e[r]);return t}function hr(e,t){return e?e+"["+t+"]":t}function mr(e,t,r){if(Array.isArray(r))return Array.from(r.keys()).forEach(n=>mr(e,hr(t,n.toString()),r[n]));if(r instanceof Date)return e.append(t,r.toISOString());if(r instanceof File)return e.append(t,r,r.name);if(r instanceof Blob)return e.append(t,r);if(typeof r=="boolean")return e.append(t,r?"1":"0");if(typeof r=="string")return e.append(t,r);if(typeof r=="number")return e.append(t,`${r}`);if(r==null)return e.append(t,"");pr(r)}var pi="[object Boolean]";function gr(e){return e===!0||e===!1||W(e)&&z(e)==pi}function hi(){this.__data__=new N,this.size=0}function mi(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function gi(e){return this.__data__.get(e)}function yi(e){return this.__data__.has(e)}var vi=200;function bi(e,t){var r=this.__data__;if(r instanceof N){var n=r.__data__;if(!he||n.lengthu))return!1;var c=i.get(e),d=i.get(t);if(c&&d)return c==t&&d==e;var h=-1,p=!0,y=r&Ei?new Fe:void 0;for(i.set(e,t),i.set(t,e);++h({})},forceFormData:{type:Boolean,required:!1,default:!1},confirm:{type:[Boolean,String],required:!1,default:!1},confirmText:{type:String,required:!1,default:""},confirmButton:{type:String,required:!1,default:""},cancelButton:{type:String,required:!1,default:""},restoreOnSuccess:{type:Boolean,required:!1,default:!0},resetOnSuccess:{type:Boolean,required:!1,default:!1}},emits:["success","error"],data(){return{values:Object.assign({},{...this.default}),processing:!1,wasSuccessful:!1,recentlySuccessful:!1,recentlySuccessfulTimeoutId:null}},computed:{rawErrors(){return g.validationErrors(this.stack)},errors(){return xr(this.rawErrors,e=>e.join(`
-`))}},methods:{hasError(e){return L(this.errors,e)},reset(){this.values={}},restore(){this.values=Object.assign({},{...this.default})},submit(){if(!this.confirm)return this.request();g.confirm(gr(this.confirm)?"":this.confirm,this.confirmText,this.confirmButton,this.cancelButton).then(()=>{this.request()}).catch(()=>{})},request(){this.processing=!0,this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(this.recentlySuccessfulTimeoutId);const e=this.forceFormData||ct(this.values)?pr(this.values):this.values;g.request(this.action,this.method.toUpperCase(),e,{Accept:"application/json"}).then(t=>{this.$emit("success",t),this.restoreOnSuccess&&this.restore(),this.resetOnSuccess&&this.reset(),this.processing=!1,this.wasSuccessful=!0,this.recentlySuccessful=!0,this.recentlySuccessfulTimeoutId=setTimeout(()=>this.recentlySuccessful=!1,2e3)}).catch(t=>{this.processing=!1,this.$emit("error",t)})}},render(){const e=this;return this.$slots.default(new Proxy({},{ownKeys(){return Object.keys(e.values)},get(t,r){return["errors","restore","reset","hasError","processing","rawErrors","submit","wasSuccessful","recentlySuccessful"].includes(r)?e[r]:ut(e.values,r)},set(t,r,n){fr(e.values,r,n)}}))}},Ds=["href","onClick"],Fs={__name:"Link",props:{href:{type:String,required:!0},confirm:{type:[Boolean,String],required:!1,default:!1},confirmText:{type:String,required:!1,default:""},confirmButton:{type:String,required:!1,default:""},cancelButton:{type:String,required:!1,default:""},modal:{type:Boolean,required:!1,default:!1},slideover:{type:Boolean,required:!1,default:!1}},setup(e){const t=e;function r(){if(!t.confirm)return n();g.confirm(gr(t.confirm)?"":t.confirm,t.confirmText,t.confirmButton,t.cancelButton).then(()=>{n()}).catch(()=>{})}function n(){if(t.modal)return g.modal(t.href);if(t.slideover)return g.slideover(t.href);g.visit(t.href)}return(o,i)=>(a.openBlock(),a.createElementBlock("a",{href:e.href,onClick:a.withModifiers(r,["prevent"])},[a.renderSlot(o.$slots,"default")],8,Ds))}},js={provide(){return{stack:this.stack}},props:{type:{type:String,required:!0},stack:{type:Number,required:!0},onTopOfStack:{type:Boolean,required:!0},maxWidth:{type:String,required:!1,default:e=>e.type==="modal"?"2xl":"md"}},emits:["close"],data(){return{isOpen:!1}},mounted(){this.setIsOpen(!0)},methods:{emitClose(){this.$emit("close")},close(){this.setIsOpen(!1)},setIsOpen(e){this.isOpen=e}},render(){return this.$slots.default({type:this.type,isOpen:this.isOpen,setIsOpen:this.setIsOpen,close:this.close,stack:this.stack,onTopOfStack:this.onTopOfStack,maxWidth:this.maxWidth,emitClose:this.emitClose,Dialog:rr,DialogPanel:nr,TransitionRoot:_e,TransitionChild:we})}},xs={inject:["stack"],render(){const e=g.validationErrors(this.stack),t=g.flashData(this.stack),r=g.sharedData,n=xr(e,o=>o.join(`
-`));return this.$slots.default({flash:t,errors:n,rawErrors:e,shared:r,hasError(o){return L(e,o)},hasFlash(o){return L(t,o)},hasShared(o){return L(r,o)},hasErrors:Object.keys(e).length>0})}},Bs={props:{toastKey:{type:Number,required:!0},autoDismiss:{type:Number,required:!1,default:0}},emits:["dismiss"],data(){return{show:!0}},mounted(){this.autoDismiss&&setTimeout(()=>{this.setShow(!1)},this.autoDismiss*1e3)},methods:{setShow(e){this.show=e},emitDismiss(){this.$emit("dismiss")}},render(){return this.$slots.default({key:this.toastKey,show:this.show,setShow:this.setShow,emitDismiss:this.emitDismiss,TransitionRoot:_e,TransitionChild:we})}},Ms=["left-top","center-top","right-top","left-center","center-center","right-center","left-bottom","center-bottom","right-bottom"],Ls={computed:{toasts:function(){return g.toastsReversed},hasBackdrop:function(){return g.toasts.filter(e=>!e.dismissed&&e.backdrop&&e.html).length>0}},methods:{dismissToast(e){g.dismissToast(e)}},render(){return this.$slots.default({positions:Ms,toasts:this.toasts,dismissToast:this.dismissToast,hasBackdrop:this.hasBackdrop,Render:de,TransitionRoot:_e,TransitionChild:we})}},Rs={props:{default:{type:Object,required:!0}},data(){return{toggles:{...this.default}}},methods:{toggled(e){var t;return(t=this.toggles[e])!=null?t:!1},toggle(e){this.setToggle(e,!this.toggled(e))},setToggle(e,t){this.toggles[e]=t}},render(){const e=this;return this.$slots.default(new Proxy({},{ownKeys(){return Object.keys(e.toggles)},get(t,r){const n=Object.keys(e.toggles);if(n.length===1&&dr(n)==="default"){if(r==="toggled")return e.toggled("default");if(r==="setToggle")return o=>{e.setToggle("default",o)};if(r==="toggle")return()=>{e.toggle("default")}}return r==="setToggle"?(o,i)=>{e.setToggle(o,i)}:r==="toggle"?o=>{e.toggle(o)}:e.toggled(r)}}))}},Is={install:(e,t)=>{t=t||{},t.max_keep_alive=L(t,"max_keep_alive")?t.max_keep_alive:10,t.prefix=L(t,"prefix")?t.prefix:"Splade",t.transform_anchors=L(t,"transform_anchors")?t.transform_anchors:!1,t.link_component=L(t,"link_component")?t.link_component:"Link";const r=t.prefix;e.component(`${r}Confirm`,ti).component(`${r}Data`,si).component(`${r}Defer`,li).component(`${r}Errors`,ui).component(`${r}Event`,fi).component(`${r}Flash`,di).component(`${r}Form`,Cs).component(`${r}Modal`,js).component(`${r}Render`,de).component(`${r}State`,xs).component(`${r}Toast`,Bs).component(`${r}Toasts`,Ls).component(`${r}Toggle`,Rs).component(t.link_component,Fs),Object.defineProperty(e.config.globalProperties,"$splade",{get:()=>g}),Object.defineProperty(e.config.globalProperties,"$spladeOptions",{get:()=>Object.assign({},{...t})}),e.provide("$splade",e.config.globalProperties.$splade),e.provide("$spladeOptions",e.config.globalProperties.$spladeOptions)}};$.Splade=g,$.SpladePlugin=Is,$.renderSpladeApp=yo,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
+`));return i.cloneVNode(c,Object.assign({},u,f))}return Array.isArray(l)&&l.length===1?l[0]:l}return i.h(s,Object.assign({},u,f),l)}function Xt(e){return e.flatMap(t=>t.type===i.Fragment?Xt(t.children):[t])}function Wa(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let o in r)o.startsWith("on")&&typeof r[o]=="function"?(n[o]!=null||(n[o]=[]),n[o].push(r[o])):t[o]=r[o];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(t,{[r](o,...a){let s=n[r];for(let u of s){if(o!=null&&o.defaultPrevented)return;u(o,...a)}}});return t}function Yt(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}function Ja(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let Xa=0;function Ya(){return++Xa}function Y(){return Ya()}var Vt=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(Vt||{});function L(e){var t;return e==null||e.value==null?null:(t=e.value.$el)!=null?t:e.value}let Qt=Symbol("Context");var V=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(V||{});function Va(){return We()!==null}function We(){return i.inject(Qt,null)}function Qa(e){i.provide(Qt,e)}function oe(e){if(typeof window>"u")return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let t=L(e);if(t)return t.ownerDocument}return document}let Je=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var he=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(he||{}),Zt=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Zt||{}),Za=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Za||{});function ei(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Je))}var en=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(en||{});function ti(e,t=0){var n;return e===((n=oe(e))==null?void 0:n.body)?!1:A(t,{[0](){return e.matches(Je)},[1](){let r=e;for(;r!==null;){if(r.matches(Je))return!0;r=r.parentElement}return!1}})}function me(e){e==null||e.focus({preventScroll:!0})}let ni=["textarea","input"].join(",");function ri(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,ni))!=null?n:!1}function oi(e,t=n=>n){return e.slice().sort((n,r)=>{let o=t(n),a=t(r);if(o===null||a===null)return 0;let s=o.compareDocumentPosition(a);return s&Node.DOCUMENT_POSITION_FOLLOWING?-1:s&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Xe(e,t,n=!0){var r;let o=(r=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?r:document,a=Array.isArray(e)?n?oi(e):e:ei(e),s=o.activeElement,u=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,a.indexOf(s))-1;if(t&4)return Math.max(0,a.indexOf(s))+1;if(t&8)return a.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),f=t&32?{preventScroll:!0}:{},c=0,d=a.length,h;do{if(c>=d||c+d<=0)return 0;let m=l+c;if(t&16)m=(m+d)%d;else{if(m<0)return 3;if(m>=d)return 1}h=a[m],h==null||h.focus(f),c+=u}while(h!==o.activeElement);return h.hasAttribute("tabindex")||h.setAttribute("tabindex","0"),t&6&&ri(h)&&h.select(),2}function Ye(e,t,n){typeof window<"u"&&i.watchEffect(r=>{window.addEventListener(e,t,n),r(()=>window.removeEventListener(e,t,n))})}function ai(e,t,n=i.computed(()=>!0)){function r(o,a){if(!n.value||o.defaultPrevented)return;let s=a(o);if(s===null||!s.ownerDocument.documentElement.contains(s))return;let u=function l(f){return typeof f=="function"?l(f()):Array.isArray(f)||f instanceof Set?f:[f]}(e);for(let l of u){if(l===null)continue;let f=l instanceof HTMLElement?l:L(l);if(f!=null&&f.contains(s))return}return!ti(s,en.Loose)&&s.tabIndex!==-1&&o.preventDefault(),t(o,s)}Ye("click",o=>r(o,a=>a.target),!0),Ye("blur",o=>r(o,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var Oe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(Oe||{});let Ve=i.defineComponent({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...o}=e,a={"aria-hidden":(r&2)===2?!0:void 0,style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(r&4)===4&&(r&2)!==2&&{display:"none"}}};return $({ourProps:a,theirProps:o,slot:{},attrs:n,slots:t,name:"Hidden"})}}});var Qe=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Qe||{});function ii(){let e=i.ref(0);return Ye("keydown",t=>{t.key==="Tab"&&(e.value=t.shiftKey?1:0)}),e}function tn(e,t,n,r){typeof window<"u"&&i.watchEffect(o=>{e=e!=null?e:window,e.addEventListener(t,n,r),o(()=>e.removeEventListener(t,n,r))})}var nn=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(nn||{});let ge=Object.assign(i.defineComponent({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:Object,default:i.ref(new Set)}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){let o=i.ref(null);r({el:o,$el:o});let a=i.computed(()=>oe(o));si({ownerDocument:a},i.computed(()=>Boolean(e.features&16)));let s=li({ownerDocument:a,container:o,initialFocus:i.computed(()=>e.initialFocus)},i.computed(()=>Boolean(e.features&2)));ui({ownerDocument:a,container:o,containers:e.containers,previousActiveElement:s},i.computed(()=>Boolean(e.features&8)));let u=ii();function l(){let f=L(o);!f||A(u.value,{[Qe.Forwards]:()=>Xe(f,he.First),[Qe.Backwards]:()=>Xe(f,he.Last)})}return()=>{let f={},c={ref:o},{features:d,initialFocus:h,containers:m,...g}=e;return i.h(i.Fragment,[Boolean(d&4)&&i.h(Ve,{as:"button",type:"button",onFocus:l,features:Oe.Focusable}),$({ourProps:c,theirProps:{...t,...g},slot:f,attrs:t,slots:n,name:"FocusTrap"}),Boolean(d&4)&&i.h(Ve,{as:"button",type:"button",onFocus:l,features:Oe.Focusable})])}}}),{features:nn});function si({ownerDocument:e},t){let n=i.ref(null),r={value:!1};i.onMounted(()=>{i.watch(t,(o,a)=>{var s;o!==a&&(!t.value||(r.value=!0,n.value||(n.value=(s=e.value)==null?void 0:s.activeElement)))},{immediate:!0}),i.watch(t,(o,a,s)=>{o!==a&&(!t.value||s(()=>{r.value!==!1&&(r.value=!1,me(n.value),n.value=null)}))},{immediate:!0})})}function li({ownerDocument:e,container:t,initialFocus:n},r){let o=i.ref(null);return i.onMounted(()=>{i.watch([t,n,r],(a,s)=>{if(a.every((l,f)=>(s==null?void 0:s[f])===l)||!r.value)return;let u=L(t);!u||requestAnimationFrame(()=>{var l,f;let c=L(n),d=(l=e.value)==null?void 0:l.activeElement;if(c){if(c===d){o.value=d;return}}else if(u.contains(d)){o.value=d;return}c?me(c):Xe(u,he.First|he.NoScroll)===Zt.Error&&console.warn("There are no focusable elements inside the "),o.value=(f=e.value)==null?void 0:f.activeElement})},{immediate:!0,flush:"post"})}),o}function ui({ownerDocument:e,container:t,containers:n,previousActiveElement:r},o){var a;tn((a=e.value)==null?void 0:a.defaultView,"focus",s=>{if(!o.value)return;let u=new Set(n==null?void 0:n.value);u.add(t);let l=r.value;if(!l)return;let f=s.target;f&&f instanceof HTMLElement?fi(u,f)?(r.value=f,me(f)):(s.preventDefault(),s.stopPropagation(),me(l)):me(r.value)},!0)}function fi(e,t){var n;for(let r of e)if((n=r.value)!=null&&n.contains(t))return!0;return!1}let rn="body > *",ae=new Set,K=new Map;function on(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function an(e){let t=K.get(e);!t||(t["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert)}function ci(e,t=i.ref(!0)){i.watchEffect(n=>{if(!t.value||!e.value)return;let r=e.value,o=oe(r);if(o){ae.add(r);for(let a of K.keys())a.contains(r)&&(an(a),K.delete(a));o.querySelectorAll(rn).forEach(a=>{if(a instanceof HTMLElement){for(let s of ae)if(a.contains(s))return;ae.size===1&&(K.set(a,{"aria-hidden":a.getAttribute("aria-hidden"),inert:a.inert}),on(a))}}),n(()=>{if(ae.delete(r),ae.size>0)o.querySelectorAll(rn).forEach(a=>{if(a instanceof HTMLElement&&!K.has(a)){for(let s of ae)if(a.contains(s))return;K.set(a,{"aria-hidden":a.getAttribute("aria-hidden"),inert:a.inert}),on(a)}});else for(let a of K.keys())an(a),K.delete(a)})}})}let sn=Symbol("ForcePortalRootContext");function di(){return i.inject(sn,!1)}let Ze=i.defineComponent({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(e,{slots:t,attrs:n}){return i.provide(sn,e.force),()=>{let{force:r,...o}=e;return $({theirProps:o,ourProps:{},slot:{},slots:t,attrs:n,name:"ForcePortalRoot"})}}});function pi(e){let t=oe(e);if(!t){if(e===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`)}let n=t.getElementById("headlessui-portal-root");if(n)return n;let r=t.createElement("div");return r.setAttribute("id","headlessui-portal-root"),t.body.appendChild(r)}let ln=i.defineComponent({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){let r=i.ref(null),o=i.computed(()=>oe(r)),a=di(),s=i.inject(un,null),u=i.ref(a===!0||s==null?pi(r.value):s.resolveTarget());return i.watchEffect(()=>{a||s!=null&&(u.value=s.resolveTarget())}),i.onUnmounted(()=>{var l,f;let c=(l=o.value)==null?void 0:l.getElementById("headlessui-portal-root");!c||u.value===c&&u.value.children.length<=0&&((f=u.value.parentElement)==null||f.removeChild(u.value))}),()=>{if(u.value===null)return null;let l={ref:r,"data-headlessui-portal":""};return i.h(i.Teleport,{to:u.value},$({ourProps:l,theirProps:e,slot:{},attrs:n,slots:t,name:"Portal"}))}}}),un=Symbol("PortalGroupContext"),hi=i.defineComponent({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:n}){let r=i.reactive({resolveTarget(){return e.target}});return i.provide(un,r),()=>{let{target:o,...a}=e;return $({theirProps:a,ourProps:{},slot:{},attrs:t,slots:n,name:"PortalGroup"})}}}),fn=Symbol("StackContext");var et=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(et||{});function mi(){return i.inject(fn,()=>{})}function gi({type:e,element:t,onUpdate:n}){let r=mi();function o(...a){n==null||n(...a),r(...a)}i.onMounted(()=>{o(0,e,t),i.onUnmounted(()=>{o(1,e,t)})}),i.provide(fn,o)}let cn=Symbol("DescriptionContext");function yi(){let e=i.inject(cn,null);if(e===null)throw new Error("Missing parent");return e}function vi({slot:e=i.ref({}),name:t="Description",props:n={}}={}){let r=i.ref([]);function o(a){return r.value.push(a),()=>{let s=r.value.indexOf(a);s!==-1&&r.value.splice(s,1)}}return i.provide(cn,{register:o,slot:e,name:t,props:n}),i.computed(()=>r.value.length>0?r.value.join(" "):void 0)}let bi=i.defineComponent({name:"Description",props:{as:{type:[Object,String],default:"p"}},setup(e,{attrs:t,slots:n}){let r=yi(),o=`headlessui-description-${Y()}`;return i.onMounted(()=>i.onUnmounted(r.register(o))),()=>{let{name:a="Description",slot:s=i.ref({}),props:u={}}=r,l=e,f={...Object.entries(u).reduce((c,[d,h])=>Object.assign(c,{[d]:i.unref(h)}),{}),id:o};return $({ourProps:f,theirProps:l,slot:s.value,attrs:t,slots:n,name:a})}}});var wi=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(wi||{});let tt=Symbol("DialogContext");function ye(e){let t=i.inject(tt,null);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,ye),n}return t}let Te="DC8F892D-2EBD-447C-A4C8-A03058436FF4",dn=i.defineComponent({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:Te},initialFocus:{type:Object,default:null}},emits:{close:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){var a;let s=i.ref(!1);i.onMounted(()=>{s.value=!0});let u=i.ref(0),l=We(),f=i.computed(()=>e.open===Te&&l!==null?A(l.value,{[V.Open]:!0,[V.Closed]:!1}):e.open),c=i.ref(new Set),d=i.ref(null),h=i.ref(null),m=i.computed(()=>oe(d));if(o({el:d,$el:d}),!(e.open!==Te||l!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof f.value!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${f.value===Te?void 0:e.open}`);let g=i.computed(()=>s.value&&f.value?0:1),O=i.computed(()=>g.value===0),T=i.computed(()=>u.value>1),C=i.inject(tt,null)!==null,D=i.computed(()=>T.value?"parent":"leaf");ci(d,i.computed(()=>T.value?O.value:!1)),gi({type:"Dialog",element:d,onUpdate:(w,b,_)=>{if(b==="Dialog")return A(w,{[et.Add](){c.value.add(_),u.value+=1},[et.Remove](){c.value.delete(_),u.value-=1}})}});let ee=vi({name:"DialogDescription",slot:i.computed(()=>({open:f.value}))}),z=`headlessui-dialog-${Y()}`,j=i.ref(null),q={titleId:j,panelRef:i.ref(null),dialogState:g,setTitleId(w){j.value!==w&&(j.value=w)},close(){t("close",!1)}};return i.provide(tt,q),ai(()=>{var w,b,_;return[...Array.from((b=(w=m.value)==null?void 0:w.querySelectorAll("body > *, [data-headlessui-portal]"))!=null?b:[]).filter(v=>!(!(v instanceof HTMLElement)||v.contains(L(h))||q.panelRef.value&&v.contains(q.panelRef.value))),(_=q.panelRef.value)!=null?_:d.value]},(w,b)=>{q.close(),i.nextTick(()=>b==null?void 0:b.focus())},i.computed(()=>g.value===0&&!T.value)),tn((a=m.value)==null?void 0:a.defaultView,"keydown",w=>{w.defaultPrevented||w.key===Vt.Escape&&g.value===0&&(T.value||(w.preventDefault(),w.stopPropagation(),q.close()))}),i.watchEffect(w=>{var b;if(g.value!==0||C)return;let _=m.value;if(!_)return;let v=_==null?void 0:_.documentElement,E=(b=_.defaultView)!=null?b:window,Gn=v.style.overflow,Kn=v.style.paddingRight,ht=E.innerWidth-v.clientWidth;if(v.style.overflow="hidden",ht>0){let zn=v.clientWidth-v.offsetWidth,Wn=ht-zn;v.style.paddingRight=`${Wn}px`}w(()=>{v.style.overflow=Gn,v.style.paddingRight=Kn})}),i.watchEffect(w=>{if(g.value!==0)return;let b=L(d);if(!b)return;let _=new IntersectionObserver(v=>{for(let E of v)E.boundingClientRect.x===0&&E.boundingClientRect.y===0&&E.boundingClientRect.width===0&&E.boundingClientRect.height===0&&q.close()});_.observe(b),w(()=>_.disconnect())}),()=>{let w={...n,ref:d,id:z,role:"dialog","aria-modal":g.value===0?!0:void 0,"aria-labelledby":j.value,"aria-describedby":ee.value},{open:b,initialFocus:_,...v}=e,E={open:g.value===0};return i.h(Ze,{force:!0},()=>[i.h(ln,()=>i.h(hi,{target:d.value},()=>i.h(Ze,{force:!1},()=>i.h(ge,{initialFocus:_,containers:c,features:O.value?A(D.value,{parent:ge.features.RestoreFocus,leaf:ge.features.All&~ge.features.FocusLock}):ge.features.None},()=>$({ourProps:w,theirProps:v,slot:E,attrs:n,slots:r,visible:g.value===0,features:_e.RenderStrategy|_e.Static,name:"Dialog"}))))),i.h(Ve,{features:Oe.Hidden,ref:h})])}}});i.defineComponent({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:n}){let r=ye("DialogOverlay"),o=`headlessui-dialog-overlay-${Y()}`;function a(s){s.target===s.currentTarget&&(s.preventDefault(),s.stopPropagation(),r.close())}return()=>$({ourProps:{id:o,"aria-hidden":!0,onClick:a},theirProps:e,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogOverlay"})}}),i.defineComponent({name:"DialogBackdrop",props:{as:{type:[Object,String],default:"div"}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){let o=ye("DialogBackdrop"),a=`headlessui-dialog-backdrop-${Y()}`,s=i.ref(null);return r({el:s,$el:s}),i.onMounted(()=>{if(o.panelRef.value===null)throw new Error("A component is being used, but a component is missing.")}),()=>{let u=e,l={id:a,ref:s,"aria-hidden":!0};return i.h(Ze,{force:!0},()=>i.h(ln,()=>$({ourProps:l,theirProps:{...t,...u},slot:{open:o.dialogState.value===0},attrs:t,slots:n,name:"DialogBackdrop"})))}}});let pn=i.defineComponent({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:n,expose:r}){let o=ye("DialogPanel"),a=`headlessui-dialog-panel-${Y()}`;r({el:o.panelRef,$el:o.panelRef});function s(u){u.stopPropagation()}return()=>{let u={id:a,ref:o.panelRef,onClick:s};return $({ourProps:u,theirProps:e,slot:{open:o.dialogState.value===0},attrs:t,slots:n,name:"DialogPanel"})}}});i.defineComponent({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"}},setup(e,{attrs:t,slots:n}){let r=ye("DialogTitle"),o=`headlessui-dialog-title-${Y()}`;return i.onMounted(()=>{r.setTitleId(o),i.onUnmounted(()=>r.setTitleId(null))}),()=>$({ourProps:{id:o},theirProps:e,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogTitle"})}});function Si(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function hn(){let e=[],t=[],n={enqueue(r){t.push(r)},requestAnimationFrame(...r){let o=requestAnimationFrame(...r);n.add(()=>cancelAnimationFrame(o))},nextFrame(...r){n.requestAnimationFrame(()=>{n.requestAnimationFrame(...r)})},setTimeout(...r){let o=setTimeout(...r);n.add(()=>clearTimeout(o))},add(r){e.push(r)},dispose(){for(let r of e.splice(0))r()},async workQueue(){for(let r of t.splice(0))await r()}};return n}function nt(e,...t){e&&t.length>0&&e.classList.add(...t)}function $e(e,...t){e&&t.length>0&&e.classList.remove(...t)}var rt=(e=>(e.Finished="finished",e.Cancelled="cancelled",e))(rt||{});function _i(e,t){let n=hn();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:o}=getComputedStyle(e),[a,s]=[r,o].map(u=>{let[l=0]=u.split(",").filter(Boolean).map(f=>f.includes("ms")?parseFloat(f):parseFloat(f)*1e3).sort((f,c)=>c-f);return l});return a!==0?n.setTimeout(()=>t("finished"),a+s):t("finished"),n.add(()=>t("cancelled")),n.dispose}function mn(e,t,n,r,o,a){let s=hn(),u=a!==void 0?Si(a):()=>{};return $e(e,...o),nt(e,...t,...n),s.nextFrame(()=>{$e(e,...n),nt(e,...r),s.add(_i(e,l=>($e(e,...r,...t),nt(e,...o),u(l))))}),s.add(()=>$e(e,...t,...n,...r,...o)),s.add(()=>u("cancelled")),s.dispose}function Q(e=""){return e.split(" ").filter(t=>t.trim().length>1)}let ot=Symbol("TransitionContext");var Oi=(e=>(e.Visible="visible",e.Hidden="hidden",e))(Oi||{});function Ti(){return i.inject(ot,null)!==null}function $i(){let e=i.inject(ot,null);if(e===null)throw new Error("A is used but it is missing a parent .");return e}function Ei(){let e=i.inject(at,null);if(e===null)throw new Error("A is used but it is missing a parent .");return e}let at=Symbol("NestingContext");function Ee(e){return"children"in e?Ee(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function gn(e){let t=i.ref([]),n=i.ref(!1);i.onMounted(()=>n.value=!0),i.onUnmounted(()=>n.value=!1);function r(a,s=G.Hidden){let u=t.value.findIndex(({id:l})=>l===a);u!==-1&&(A(s,{[G.Unmount](){t.value.splice(u,1)},[G.Hidden](){t.value[u].state="hidden"}}),!Ee(t)&&n.value&&(e==null||e()))}function o(a){let s=t.value.find(({id:u})=>u===a);return s?s.state!=="visible"&&(s.state="visible"):t.value.push({id:a,state:"visible"}),()=>r(a,G.Unmount)}return{children:t,register:o,unregister:r}}let yn=_e.RenderStrategy,ve=i.defineComponent({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){if(!Ti()&&Va())return()=>i.h(be,{...e,onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave")},r);let a=i.ref(null),s=i.ref("visible"),u=i.computed(()=>e.unmount?G.Unmount:G.Hidden);o({el:a,$el:a});let{show:l,appear:f}=$i(),{register:c,unregister:d}=Ei(),h={value:!0},m=Y(),g={value:!1},O=gn(()=>{g.value||(s.value="hidden",d(m),t("afterLeave"))});i.onMounted(()=>{let b=c(m);i.onUnmounted(b)}),i.watchEffect(()=>{if(u.value===G.Hidden&&!!m){if(l&&s.value!=="visible"){s.value="visible";return}A(s.value,{hidden:()=>d(m),visible:()=>c(m)})}});let T=Q(e.enter),C=Q(e.enterFrom),D=Q(e.enterTo),ee=Q(e.entered),z=Q(e.leave),j=Q(e.leaveFrom),q=Q(e.leaveTo);i.onMounted(()=>{i.watchEffect(()=>{if(s.value==="visible"){let b=L(a);if(b instanceof Comment&&b.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function w(b){let _=h.value&&!f.value,v=L(a);!v||!(v instanceof HTMLElement)||_||(g.value=!0,l.value&&t("beforeEnter"),l.value||t("beforeLeave"),b(l.value?mn(v,T,C,D,ee,E=>{g.value=!1,E===rt.Finished&&t("afterEnter")}):mn(v,z,j,q,ee,E=>{g.value=!1,E===rt.Finished&&(Ee(O)||(s.value="hidden",d(m),t("afterLeave")))})))}return i.onMounted(()=>{i.watch([l],(b,_,v)=>{w(v),h.value=!1},{immediate:!0})}),i.provide(at,O),Qa(i.computed(()=>A(s.value,{visible:V.Open,hidden:V.Closed}))),()=>{let{appear:b,show:_,enter:v,enterFrom:E,enterTo:Gn,entered:Kn,leave:ht,leaveFrom:zn,leaveTo:Wn,...pl}=e;return $({theirProps:pl,ourProps:{ref:a},slot:{},slots:r,attrs:n,features:yn,visible:s.value==="visible",name:"TransitionChild"})}}}),Pi=ve,be=i.defineComponent({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r}){let o=We(),a=i.computed(()=>e.show===null&&o!==null?A(o.value,{[V.Open]:!0,[V.Closed]:!1}):e.show);i.watchEffect(()=>{if(![!0,!1].includes(a.value))throw new Error('A is used but it is missing a `:show="true | false"` prop.')});let s=i.ref(a.value?"visible":"hidden"),u=gn(()=>{s.value="hidden"}),l=i.ref(!0),f={show:a,appear:i.computed(()=>e.appear||!l.value)};return i.onMounted(()=>{i.watchEffect(()=>{l.value=!1,a.value?s.value="visible":Ee(u)||(s.value="hidden")})}),i.provide(at,u),i.provide(ot,f),()=>{let c=Yt(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),d={unmount:e.unmount};return $({ourProps:{...d,as:"template"},theirProps:{},slot:{},slots:{...r,default:()=>[i.h(Pi,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...n,...d,...c},r.default)]},attrs:{},features:yn,visible:s.value==="visible",name:"Transition"})}}});const Ai={props:{defaultTitle:{type:String,required:!1,default:""},defaultText:{type:String,required:!1,default:""},defaultConfirmButton:{type:String,required:!1,default:""},defaultCancelButton:{type:String,required:!1,default:""}},data(){return{isOpen:!1}},computed:{hasConfirmModal:()=>!!p.confirmModal.value,title:function(){var e;return(e=p.confirmModal.value)!=null&&e.title?p.confirmModal.value.title:this.defaultTitle},text:function(){var e;return(e=p.confirmModal.value)!=null&&e.text?p.confirmModal.value.text:this.defaultText},confirmButton:function(){var e;return(e=p.confirmModal.value)!=null&&e.confirmButton?p.confirmModal.value.confirmButton:this.defaultConfirmButton},cancelButton:function(){var e;return(e=p.confirmModal.value)!=null&&e.cancelButton?p.confirmModal.value.cancelButton:this.defaultCancelButton}},watch:{hasConfirmModal(e){e&&(this.isOpen=!0)}},methods:{cancel(){p.confirmModal.value.rejectPromise(),this.setIsOpen(!1)},confirm(){p.confirmModal.value.resolvePromise(),this.setIsOpen(!1)},setIsOpen(e){this.isOpen=e},emitClose(){p.clearConfirmModal()}},render(){return this.$slots.default({title:this.title,text:this.text,confirmButton:this.confirmButton,cancelButton:this.cancelButton,isOpen:this.isOpen,setIsOpen:this.setIsOpen,cancel:this.cancel,confirm:this.confirm,emitClose:this.emitClose,Dialog:dn,DialogPanel:pn,TransitionRoot:be,TransitionChild:ve})}};function vn(e,t){t=Ke(t,e);for(var n=0,r=t.length;e!=null&&n({}),required:!1},remember:{type:String,default:null,required:!1},localStorage:{type:Boolean,default:!1,required:!1}},data(){return{values:{}}},mounted(){if(this.remember){let e=p.restore(this.remember,this.localStorage);e||(e={}),this.values=Object.assign({},{...this.default,...e})}else this.values=Object.assign({},{...this.default})},updated(){this.remember&&p.remember(this.remember,{...this.values},this.localStorage)},render(){const e=this;return this.$slots.default(new Proxy(this.values,{ownKeys(){return Object.keys(e.values)},get(t,n){return it(e.values,n)},set(t,n,r){Sn(e.values,n,r)}}))}},Mi={props:{url:{type:String,required:!0},method:{type:String,required:!1,default:"GET"},acceptHeader:{type:String,required:!1,default:"application/json"},poll:{type:Number,required:!1,default:null},default:{type:Object,required:!1,default:()=>({})},request:{type:Object,required:!1,default:()=>({})}},data(){return{response:Object.assign({},{...this.default}),processing:!1}},mounted(){this.$nextTick(this.performRequest)},methods:{performRequest(){this.processing=!0;const e={url:this.url,method:this.method,headers:{Accept:this.acceptHeader}};Object.keys(this.request).length>0&&(e.data=this.request),mt.default(e).then(t=>{this.response=t.data,this.processing=!1}).catch(()=>{this.processing=!1}),this.poll&&setTimeout(()=>{this.performRequest()},this.poll)}},render(){return this.$slots.default({processing:this.processing,response:this.response,reload:this.performRequest})}};function _n(e){return e&&e.length?e[0]:void 0}const Ri={inject:["stack"],computed:{values(){return p.validationErrors(this.stack)}},render(){const e=this;return this.$slots.default({has(t){return F(e.values,t)},first(t){return _n(e.values[t]||[])},all:{...this.values},...this.values})}};function Li(e,t){return e&&Be(e,Ft(t))}const Ii={props:{private:{type:Boolean,required:!1,default:!1},channel:{type:String,required:!0},listeners:{type:Array,required:!0}},data(){return{subscribed:!1,subscription:null,subscriptions:[],events:[]}},beforeUnmount(){this.subscription&&(window.Echo.leave(this.subscription.subscription.name),this.subscription=null,this.subscriptions=[])},mounted(){this.subscription=this.private?window.Echo.private(this.channel):window.Echo.channel(this.channel),this.subscription.on("pusher:subscription_succeeded",()=>{this.subscribed=!0}),this.listeners.forEach(e=>{const t=this.subscription.listen(e,n=>{const r="splade.redirect",o="splade.refresh",a="splade.toast";let s=null,u=!1,l=[];Li(n,f=>{!te(f)||(r in f&&(s=f[r]),o in f&&(u=f[o]),a in f&&l.push(f))}),s?p.visit(s):u?p.refresh():this.events.push({name:e,data:n}),l.length>0&&l.forEach(f=>{p.pushToast(f)}),this.$root.$emit(`event.${e}`,n)});this.subscriptions.push(t)})},render(){return this.$slots.default({subscribed:this.subscribed,events:this.events})}},qi={inject:["stack"],computed:{values(){return p.flashData(this.stack)}},render(){const e=this;return this.$slots.default({has(t){return F(e.values,t)},...this.values})}};function st(e){return e instanceof File||e instanceof Blob||e instanceof FileList&&e.length>0||e instanceof FormData&&Array.from(e.values()).some(t=>st(t))||typeof e=="object"&&e!==null&&Object.values(e).some(t=>st(t))}function On(e){e=e||{};let t=new FormData;for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&$n(t,Tn(null,n),e[n]);return t}function Tn(e,t){return e?e+"["+t+"]":t}function $n(e,t,n){if(Array.isArray(n))return Array.from(n.keys()).forEach(r=>$n(e,Tn(t,r.toString()),n[r]));if(n instanceof Date)return e.append(t,n.toISOString());if(n instanceof File)return e.append(t,n,n.name);if(n instanceof Blob)return e.append(t,n);if(typeof n=="boolean")return e.append(t,n?"1":"0");if(typeof n=="string")return e.append(t,n);if(typeof n=="number")return e.append(t,`${n}`);if(n==null)return e.append(t,"");On(n)}var Ni="[object Boolean]";function En(e){return e===!0||e===!1||H(e)&&k(e)==Ni}function ki(){this.__data__=new M,this.size=0}function Hi(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ui(e){return this.__data__.get(e)}function Gi(e){return this.__data__.has(e)}var Ki=200;function zi(e,t){var n=this.__data__;if(n instanceof M){var r=n.__data__;if(!de||r.lengthu))return!1;var f=a.get(e),c=a.get(t);if(f&&c)return f==t&&c==e;var d=-1,h=!0,m=n&Zi?new Pe:void 0;for(a.set(e,t),a.set(t,e);++d({})},forceFormData:{type:Boolean,required:!1,default:!1},confirm:{type:[Boolean,String],required:!1,default:!1},confirmText:{type:String,required:!1,default:""},confirmButton:{type:String,required:!1,default:""},cancelButton:{type:String,required:!1,default:""},restoreOnSuccess:{type:Boolean,required:!1,default:!0},resetOnSuccess:{type:Boolean,required:!1,default:!1}},emits:["success","error"],data(){return{values:Object.assign({},{...this.default}),processing:!1,wasSuccessful:!1,recentlySuccessful:!1,recentlySuccessfulTimeoutId:null}},computed:{rawErrors(){return p.validationErrors(this.stack)},errors(){return Un(this.rawErrors,e=>e.join(`
+`))}},methods:{hasError(e){return F(this.errors,e)},reset(){this.values={}},restore(){this.values=Object.assign({},{...this.default})},submit(){if(!this.confirm)return this.request();p.confirm(En(this.confirm)?"":this.confirm,this.confirmText,this.confirmButton,this.cancelButton).then(()=>{this.request()}).catch(()=>{})},request(){this.processing=!0,this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(this.recentlySuccessfulTimeoutId);const e=this.forceFormData||st(this.values)?On(this.values):this.values;p.request(this.action,this.method.toUpperCase(),e,{Accept:"application/json"}).then(t=>{this.$emit("success",t),this.restoreOnSuccess&&this.restore(),this.resetOnSuccess&&this.reset(),this.processing=!1,this.wasSuccessful=!0,this.recentlySuccessful=!0,this.recentlySuccessfulTimeoutId=setTimeout(()=>this.recentlySuccessful=!1,2e3)}).catch(t=>{this.processing=!1,this.$emit("error",t)})}},render(){const e=this;return this.$slots.default(new Proxy({},{ownKeys(){return Object.keys(e.values)},get(t,n){return["errors","restore","reset","hasError","processing","rawErrors","submit","wasSuccessful","recentlySuccessful"].includes(n)?e[n]:it(e.values,n)},set(t,n,r){Sn(e.values,n,r)}}))}},rl=["href","onClick"],ol={__name:"Link",props:{href:{type:String,required:!0},confirm:{type:[Boolean,String],required:!1,default:!1},confirmText:{type:String,required:!1,default:""},confirmButton:{type:String,required:!1,default:""},cancelButton:{type:String,required:!1,default:""},modal:{type:Boolean,required:!1,default:!1},slideover:{type:Boolean,required:!1,default:!1}},setup(e){const t=e;function n(){if(!t.confirm)return r();p.confirm(En(t.confirm)?"":t.confirm,t.confirmText,t.confirmButton,t.cancelButton).then(()=>{r()}).catch(()=>{})}function r(){if(t.modal)return p.modal(t.href);if(t.slideover)return p.slideover(t.href);p.visit(t.href)}return(o,a)=>(i.openBlock(),i.createElementBlock("a",{href:e.href,onClick:i.withModifiers(n,["prevent"])},[i.renderSlot(o.$slots,"default")],8,rl))}},al={provide(){return{stack:this.stack}},props:{type:{type:String,required:!0},stack:{type:Number,required:!0},onTopOfStack:{type:Boolean,required:!0},maxWidth:{type:String,required:!1,default:e=>e.type==="modal"?"2xl":"md"}},emits:["close"],data(){return{isOpen:!1}},mounted(){this.setIsOpen(!0)},methods:{emitClose(){this.$emit("close")},close(){this.setIsOpen(!1)},setIsOpen(e){this.isOpen=e}},render(){return this.$slots.default({type:this.type,isOpen:this.isOpen,setIsOpen:this.setIsOpen,close:this.close,stack:this.stack,onTopOfStack:this.onTopOfStack,maxWidth:this.maxWidth,emitClose:this.emitClose,Dialog:dn,DialogPanel:pn,TransitionRoot:be,TransitionChild:ve})}},il={inject:["stack"],render(){const e=p.validationErrors(this.stack),t=p.flashData(this.stack),n=p.sharedData.value,r=Un(e,o=>o.join(`
+`));return this.$slots.default({flash:t,errors:r,rawErrors:e,shared:n,hasError(o){return F(e,o)},hasFlash(o){return F(t,o)},hasShared(o){return F(n,o)},hasErrors:Object.keys(e).length>0})}},sl={props:{toastKey:{type:Number,required:!0},autoDismiss:{type:Number,required:!1,default:0}},emits:["dismiss"],data(){return{show:!0}},mounted(){this.autoDismiss&&setTimeout(()=>{this.setShow(!1)},this.autoDismiss*1e3)},methods:{setShow(e){this.show=e},emitDismiss(){this.$emit("dismiss")}},render(){return this.$slots.default({key:this.toastKey,show:this.show,setShow:this.setShow,emitDismiss:this.emitDismiss,TransitionRoot:be,TransitionChild:ve})}},ll=["left-top","center-top","right-top","left-center","center-center","right-center","left-bottom","center-bottom","right-bottom"],ul={computed:{toasts:function(){return p.toastsReversed.value},hasBackdrop:function(){return p.toasts.value.filter(e=>!e.dismissed&&e.backdrop&&e.html).length>0}},methods:{dismissToast(e){p.dismissToast(e)}},render(){return this.$slots.default({positions:ll,toasts:this.toasts,dismissToast:this.dismissToast,hasBackdrop:this.hasBackdrop,Render:fe,TransitionRoot:be,TransitionChild:ve})}},fl={props:{default:{type:Object,required:!0}},data(){return{toggles:{...this.default}}},methods:{toggled(e){var t;return(t=this.toggles[e])!=null?t:!1},toggle(e){this.setToggle(e,!this.toggled(e))},setToggle(e,t){this.toggles[e]=t}},render(){const e=this;return this.$slots.default(new Proxy({},{ownKeys(){return Object.keys(e.toggles)},get(t,n){const r=Object.keys(e.toggles);if(r.length===1&&_n(r)==="default"){if(n==="toggled")return e.toggled("default");if(n==="setToggle")return o=>{e.setToggle("default",o)};if(n==="toggle")return()=>{e.toggle("default")}}return n==="setToggle"?(o,a)=>{e.setToggle(o,a)}:n==="toggle"?o=>{e.toggle(o)}:e.toggled(n)}}))}},cl={install:(e,t)=>{t=t||{},t.max_keep_alive=F(t,"max_keep_alive")?t.max_keep_alive:10,t.prefix=F(t,"prefix")?t.prefix:"Splade",t.transform_anchors=F(t,"transform_anchors")?t.transform_anchors:!1,t.link_component=F(t,"link_component")?t.link_component:"Link";const n=t.prefix;e.component(`${n}Confirm`,Ai).component(`${n}Data`,Bi).component(`${n}Defer`,Mi).component(`${n}Errors`,Ri).component(`${n}Event`,Ii).component(`${n}Flash`,qi).component(`${n}Form`,nl).component(`${n}Modal`,al).component(`${n}Render`,fe).component(`${n}State`,il).component(`${n}Toast`,sl).component(`${n}Toasts`,ul).component(`${n}Toggle`,fl).component(t.link_component,ol),Object.defineProperty(e.config.globalProperties,"$splade",{get:()=>p}),Object.defineProperty(e.config.globalProperties,"$spladeOptions",{get:()=>Object.assign({},{...t})}),e.provide("$splade",e.config.globalProperties.$splade),e.provide("$spladeOptions",e.config.globalProperties.$spladeOptions)}};function dl(e,t,n){const r={};process.argv.slice(2).forEach(a=>{const s=a.replace(/^-+/,"").split("=");r[s[0]]=s.length===2?s[1]:!0});const o=r.port||9e3;e(async(a,s)=>{if(a.method=="POST"){let u="";a.on("data",l=>u+=l),a.on("end",async()=>{const l=JSON.parse(u),f=n({components:l.components,initialHtml:l.html,initialSpladeData:l.splade}),c=await t(f);s.writeHead(200,{"Content-Type":"application/json",Server:"Splade SSR"}),s.write(JSON.stringify({body:c})),s.end()})}}).listen(o,()=>console.log(`Splade SSR server started on port ${o}.`))}S.Splade=p,S.SpladeApp=Ut,S.SpladePlugin=cl,S.renderSpladeApp=Go,S.startServer=dl,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
diff --git a/lib/Components/Confirm.vue b/lib/Components/Confirm.vue
index 2f058ece..817cfd13 100644
--- a/lib/Components/Confirm.vue
+++ b/lib/Components/Confirm.vue
@@ -40,30 +40,30 @@ export default {
computed: {
hasConfirmModal: () => {
- return Splade.confirmModal ? true : false;
+ return Splade.confirmModal.value ? true : false;
},
title: function () {
- return Splade.confirmModal?.title
- ? Splade.confirmModal.title
+ return Splade.confirmModal.value?.title
+ ? Splade.confirmModal.value.title
: this.defaultTitle;
},
text: function () {
- return Splade.confirmModal?.text
- ? Splade.confirmModal.text
+ return Splade.confirmModal.value?.text
+ ? Splade.confirmModal.value.text
: this.defaultText;
},
confirmButton: function () {
- return Splade.confirmModal?.confirmButton
- ? Splade.confirmModal.confirmButton
+ return Splade.confirmModal.value?.confirmButton
+ ? Splade.confirmModal.value.confirmButton
: this.defaultConfirmButton;
},
cancelButton: function () {
- return Splade.confirmModal?.cancelButton
- ? Splade.confirmModal.cancelButton
+ return Splade.confirmModal.value?.cancelButton
+ ? Splade.confirmModal.value.cancelButton
: this.defaultCancelButton;
},
},
@@ -78,12 +78,12 @@ export default {
methods: {
cancel() {
- Splade.confirmModal.rejectPromise();
+ Splade.confirmModal.value.rejectPromise();
this.setIsOpen(false);
},
confirm() {
- Splade.confirmModal.resolvePromise();
+ Splade.confirmModal.value.resolvePromise();
this.setIsOpen(false);
},
diff --git a/lib/Components/Data.vue b/lib/Components/Data.vue
index 0c6db19b..77b607ee 100644
--- a/lib/Components/Data.vue
+++ b/lib/Components/Data.vue
@@ -58,7 +58,7 @@ export default {
return this.$slots.default(
new Proxy(this.values, {
ownKeys() {
- return Object.keys(self.values)
+ return Object.keys(self.values);
},
get(target, name) {
return get(self.values, name);
diff --git a/lib/Components/Errors.vue b/lib/Components/Errors.vue
index e41bf4ae..5a2b1d1d 100644
--- a/lib/Components/Errors.vue
+++ b/lib/Components/Errors.vue
@@ -1,7 +1,7 @@
\ No newline at end of file
diff --git a/lib/SpladeCore.vue b/lib/SpladeCore.vue
deleted file mode 100644
index 12092ed3..00000000
--- a/lib/SpladeCore.vue
+++ /dev/null
@@ -1,323 +0,0 @@
-
\ No newline at end of file
diff --git a/lib/SpladePlugin.js b/lib/SpladePlugin.js
index 44bb5a41..f17c35bd 100644
--- a/lib/SpladePlugin.js
+++ b/lib/SpladePlugin.js
@@ -1,4 +1,4 @@
-import has from "lodash-es/has"
+import has from "lodash-es/has";
import Confirm from "./Components/Confirm.vue";
import Data from "./Components/Data.vue";
import Defer from "./Components/Defer.vue";
@@ -13,7 +13,7 @@ import State from "./Components/State.vue";
import Toast from "./Components/Toast.vue";
import Toasts from "./Components/Toasts.vue";
import Toggle from "./Components/Toggle.vue";
-import { Splade } from "./Splade.js"
+import { Splade } from "./Splade.js";
export default {
install: (app, options) => {
@@ -39,12 +39,12 @@ export default {
.component(`${prefix}Toast`, Toast)
.component(`${prefix}Toasts`, Toasts)
.component(`${prefix}Toggle`, Toggle)
- .component(options.link_component, Link)
+ .component(options.link_component, Link);
- Object.defineProperty(app.config.globalProperties, "$splade", { get: () => Splade })
- Object.defineProperty(app.config.globalProperties, "$spladeOptions", { get: () => Object.assign({}, { ...options }) })
+ Object.defineProperty(app.config.globalProperties, "$splade", { get: () => Splade });
+ Object.defineProperty(app.config.globalProperties, "$spladeOptions", { get: () => Object.assign({}, { ...options }) });
app.provide("$splade", app.config.globalProperties.$splade);
app.provide("$spladeOptions", app.config.globalProperties.$spladeOptions);
}
-}
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/lib/main.js b/lib/main.js
index b584be04..a752d932 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -1,5 +1,7 @@
import { Splade } from "./Splade.js";
-import renderSpladeApp from "./renderSpladeApp.js"
-import SpladePlugin from "./SpladePlugin.js"
+import renderSpladeApp from "./renderSpladeApp.js";
+import SpladePlugin from "./SpladePlugin.js";
+import SpladeApp from "./SpladeApp.vue";
+import { startServer } from "./server.js";
-export { Splade, renderSpladeApp, SpladePlugin }
\ No newline at end of file
+export { Splade, SpladeApp, renderSpladeApp, SpladePlugin, startServer };
\ No newline at end of file
diff --git a/lib/renderSpladeApp.js b/lib/renderSpladeApp.js
index a7135f49..8ef2b456 100644
--- a/lib/renderSpladeApp.js
+++ b/lib/renderSpladeApp.js
@@ -1,8 +1,8 @@
-import { h } from "vue"
-import SpladeApp from "./SpladeApp.vue"
+import { h } from "vue";
+import SpladeApp from "./SpladeApp.vue";
export default function render(props) {
return () => {
- return h(SpladeApp, props)
+ return h(SpladeApp, props);
};
}
\ No newline at end of file
diff --git a/lib/server.js b/lib/server.js
new file mode 100644
index 00000000..63be8c22
--- /dev/null
+++ b/lib/server.js
@@ -0,0 +1,35 @@
+function startServer(createServer, renderToString, createApp) {
+ const args = {};
+
+ process.argv.slice(2).forEach((argument) => {
+ const splitted = argument.replace(/^-+/, "").split("=");
+
+ args[splitted[0]] = (splitted.length === 2) ? splitted[1] : true;
+ });
+
+ const port = args.port || 9000;
+
+ createServer(async (request, response) => {
+ if (request.method == "POST") {
+ let data = "";
+ request.on("data", (chunk) => (data += chunk));
+ request.on("end", async () => {
+ const json = JSON.parse(data);
+
+ const app = createApp({
+ components: json.components,
+ initialHtml: json.html,
+ initialSpladeData: json.splade
+ });
+
+ const body = await renderToString(app);
+
+ response.writeHead(200, { "Content-Type": "application/json", "Server": "Splade SSR" });
+ response.write(JSON.stringify({ body }));
+ response.end();
+ });
+ }
+ }).listen(port, () => console.log(`Splade SSR server started on port ${port}.`));
+}
+
+export { startServer };
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 4e577b07..05dda463 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,16 @@
{
"name": "@protonemedia/laravel-splade",
- "version": "0.1.1",
+ "version": "0.1.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@protonemedia/laravel-splade",
- "version": "0.1.1",
+ "version": "0.1.2",
"license": "MIT",
+ "dependencies": {
+ "jsdom": "^20.0.0"
+ },
"devDependencies": {
"@vitejs/plugin-vue": "^3.0.0",
"eslint": "^8.20.0",
@@ -85,6 +88,14 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@vitejs/plugin-vue": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.1.tgz",
@@ -210,11 +221,35 @@
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==",
"peer": true
},
+ "node_modules/abab": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
+ },
"node_modules/acorn": {
"version": "8.8.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
"integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
- "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"bin": {
"acorn": "bin/acorn"
},
@@ -231,6 +266,25 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -280,8 +334,7 @@
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "peer": true
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.27.2",
@@ -315,6 +368,11 @@
"concat-map": "0.0.1"
}
},
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -362,7 +420,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "peer": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -402,17 +459,50 @@
"node": ">=4"
}
},
+ "node_modules/cssom": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
+ "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ },
"node_modules/csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
+ "node_modules/data-urls": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
+ "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
+ "dependencies": {
+ "abab": "^2.0.6",
+ "whatwg-mimetype": "^3.0.0",
+ "whatwg-url": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -425,17 +515,20 @@
}
}
},
+ "node_modules/decimal.js": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
+ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+ },
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "peer": true,
"engines": {
"node": ">=0.4.0"
}
@@ -452,6 +545,28 @@
"node": ">=6.0.0"
}
},
+ "node_modules/domexception": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
+ "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
+ "dependencies": {
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz",
+ "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/esbuild": {
"version": "0.14.49",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz",
@@ -819,6 +934,74 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
"node_modules/eslint": {
"version": "8.20.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz",
@@ -955,6 +1138,18 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/esquery": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
@@ -983,7 +1178,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
"engines": {
"node": ">=4.0"
}
@@ -998,7 +1192,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -1018,8 +1211,7 @@
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
"node_modules/file-entry-cache": {
"version": "6.0.1",
@@ -1076,7 +1268,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "peer": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -1186,6 +1377,53 @@
"node": ">=8"
}
},
+ "node_modules/html-encoding-sniffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
+ "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
+ "dependencies": {
+ "whatwg-encoding": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -1269,6 +1507,11 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -1287,6 +1530,51 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsdom": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz",
+ "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==",
+ "dependencies": {
+ "abab": "^2.0.6",
+ "acorn": "^8.7.1",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.5.0",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^3.0.2",
+ "decimal.js": "^10.3.1",
+ "domexception": "^4.0.0",
+ "escodegen": "^2.0.0",
+ "form-data": "^4.0.0",
+ "html-encoding-sniffer": "^3.0.0",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.1",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "^7.0.0",
+ "saxes": "^6.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^3.0.0",
+ "webidl-conversions": "^7.0.0",
+ "whatwg-encoding": "^2.0.0",
+ "whatwg-mimetype": "^3.0.0",
+ "whatwg-url": "^11.0.0",
+ "ws": "^8.8.0",
+ "xml-name-validator": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -1355,7 +1643,6 @@
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -1364,7 +1651,6 @@
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "peer": true,
"dependencies": {
"mime-db": "1.52.0"
},
@@ -1387,8 +1673,7 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nanoid": {
"version": "3.3.4",
@@ -1419,6 +1704,11 @@
"url": "https://github.com/fb55/nth-check?sponsor=1"
}
},
+ "node_modules/nwsapi": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz",
+ "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg=="
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -1457,6 +1747,17 @@
"node": ">=6"
}
},
+ "node_modules/parse5": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz",
+ "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==",
+ "dependencies": {
+ "entities": "^4.3.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -1531,11 +1832,15 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
"node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -1608,6 +1913,22 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=v12.22.7"
+ }
+ },
"node_modules/semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@@ -1648,7 +1969,6 @@
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -1715,12 +2035,41 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "node_modules/tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -1745,6 +2094,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -1844,6 +2201,64 @@
"eslint": ">=6.0.0"
}
},
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz",
+ "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==",
+ "dependencies": {
+ "xml-name-validator": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
+ "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
+ "dependencies": {
+ "iconv-lite": "0.6.3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
+ "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -1863,7 +2278,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -1874,15 +2288,39 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
+ "node_modules/ws": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
- "dev": true,
"engines": {
"node": ">=12"
}
},
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -1938,6 +2376,11 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A=="
+ },
"@vitejs/plugin-vue": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.1.tgz",
@@ -2054,11 +2497,31 @@
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==",
"peer": true
},
+ "abab": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
+ },
"acorn": {
"version": "8.8.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
- "dev": true
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
+ },
+ "acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+ }
+ }
},
"acorn-jsx": {
"version": "5.3.2",
@@ -2067,6 +2530,19 @@
"dev": true,
"requires": {}
},
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
+ },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -2103,8 +2579,7 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "peer": true
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
"version": "0.27.2",
@@ -2138,6 +2613,11 @@
"concat-map": "0.0.1"
}
},
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -2173,7 +2653,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "peer": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -2201,32 +2680,64 @@
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true
},
+ "cssom": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
+ "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ }
+ }
+ },
"csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
+ "data-urls": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
+ "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
+ "requires": {
+ "abab": "^2.0.6",
+ "whatwg-mimetype": "^3.0.0",
+ "whatwg-url": "^11.0.0"
+ }
+ },
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"requires": {
"ms": "2.1.2"
}
},
+ "decimal.js": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
+ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+ },
"deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "peer": true
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"doctrine": {
"version": "3.0.0",
@@ -2237,6 +2748,19 @@
"esutils": "^2.0.2"
}
},
+ "domexception": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
+ "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
+ "requires": {
+ "webidl-conversions": "^7.0.0"
+ }
+ },
+ "entities": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz",
+ "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg=="
+ },
"esbuild": {
"version": "0.14.49",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz",
@@ -2411,6 +2935,55 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
+ "escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w=="
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ }
+ }
+ },
"eslint": {
"version": "8.20.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz",
@@ -2513,6 +3086,11 @@
"eslint-visitor-keys": "^3.3.0"
}
},
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
"esquery": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
@@ -2534,8 +3112,7 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
},
"estree-walker": {
"version": "2.0.2",
@@ -2546,8 +3123,7 @@
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"fast-deep-equal": {
"version": "3.1.3",
@@ -2564,8 +3140,7 @@
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
"file-entry-cache": {
"version": "6.0.1",
@@ -2602,7 +3177,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "peer": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -2681,6 +3255,41 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "html-encoding-sniffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
+ "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
+ "requires": {
+ "whatwg-encoding": "^2.0.0"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
+ },
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -2743,6 +3352,11 @@
"is-extglob": "^2.1.1"
}
},
+ "is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2758,6 +3372,40 @@
"argparse": "^2.0.1"
}
},
+ "jsdom": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz",
+ "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==",
+ "requires": {
+ "abab": "^2.0.6",
+ "acorn": "^8.7.1",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.5.0",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^3.0.2",
+ "decimal.js": "^10.3.1",
+ "domexception": "^4.0.0",
+ "escodegen": "^2.0.0",
+ "form-data": "^4.0.0",
+ "html-encoding-sniffer": "^3.0.0",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.1",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "^7.0.0",
+ "saxes": "^6.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^3.0.0",
+ "webidl-conversions": "^7.0.0",
+ "whatwg-encoding": "^2.0.0",
+ "whatwg-mimetype": "^3.0.0",
+ "whatwg-url": "^11.0.0",
+ "ws": "^8.8.0",
+ "xml-name-validator": "^4.0.0"
+ }
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -2819,14 +3467,12 @@
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "peer": true
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "peer": true,
"requires": {
"mime-db": "1.52.0"
}
@@ -2843,8 +3489,7 @@
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"nanoid": {
"version": "3.3.4",
@@ -2866,6 +3511,11 @@
"boolbase": "^1.0.0"
}
},
+ "nwsapi": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz",
+ "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg=="
+ },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2898,6 +3548,14 @@
"callsites": "^3.0.0"
}
},
+ "parse5": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz",
+ "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==",
+ "requires": {
+ "entities": "^4.3.0"
+ }
+ },
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -2947,11 +3605,15 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
+ "psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"regexpp": {
"version": "3.2.0",
@@ -2994,6 +3656,19 @@
"fsevents": "~2.3.2"
}
},
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@@ -3021,8 +3696,7 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "peer": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-js": {
"version": "1.0.2",
@@ -3065,12 +3739,35 @@
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true
},
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "requires": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -3086,6 +3783,11 @@
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true
},
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -3148,6 +3850,49 @@
"semver": "^7.3.6"
}
},
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz",
+ "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==",
+ "requires": {
+ "xml-name-validator": "^4.0.0"
+ }
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-encoding": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
+ "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
+ "requires": {
+ "iconv-lite": "0.6.3"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
+ "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ },
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -3160,8 +3905,7 @@
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
},
"wrappy": {
"version": "1.0.2",
@@ -3169,11 +3913,21 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
+ "ws": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+ "requires": {}
+ },
"xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
- "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
- "dev": true
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
},
"yallist": {
"version": "4.0.0",
diff --git a/package.json b/package.json
index ddf32eb5..b9193466 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,7 @@
"name": "@protonemedia/laravel-splade",
"version": "0.1.2",
"description": "Laravel Splade: the magic of Inertia.js with the simplicity of Blade.",
+ "private": false,
"author": "Pascal Baljet ",
"license": "MIT",
"type": "module",
@@ -19,7 +20,7 @@
"scripts": {
"dev": "vite build --watch",
"build": "vite build",
- "eslint": "./node_modules/.bin/eslint lib/ --ext .js,.vue --fix"
+ "eslint": "./node_modules/.bin/eslint app/resources/js/ lib/ stubs/ --ext .js,.vue --fix"
},
"peerDependencies": {
"@headlessui/vue": "^1.6.7",
@@ -28,9 +29,9 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^3.0.0",
- "lodash-es": "^4.17.21",
- "vite": "^3.0.0",
"eslint": "^8.20.0",
- "eslint-plugin-vue": "^9.2.0"
+ "eslint-plugin-vue": "^9.2.0",
+ "lodash-es": "^4.17.21",
+ "vite": "^3.0.0"
}
}
\ No newline at end of file
diff --git a/src/Commands/SpladeInstallCommand.php b/src/Commands/SpladeInstallCommand.php
index 3d443937..77dd8a16 100644
--- a/src/Commands/SpladeInstallCommand.php
+++ b/src/Commands/SpladeInstallCommand.php
@@ -34,6 +34,9 @@ public function handle(): int
] + $packages;
});
+ // Add SSR build step...
+ $this->updateNodeScript();
+
// Tailwind Configuration...
copy(__DIR__ . '/../../stubs/tailwind.config.js', base_path('tailwind.config.js'));
copy(__DIR__ . '/../../stubs/postcss.config.js', base_path('postcss.config.js'));
@@ -61,6 +64,7 @@ public function handle(): int
copy(__DIR__ . '/../../stubs/resources/views/root.blade.php', resource_path('views/root.blade.php'));
copy(__DIR__ . '/../../stubs/resources/css/app.css', resource_path('css/app.css'));
copy(__DIR__ . '/../../stubs/resources/js/app.js', resource_path('js/app.js'));
+ copy(__DIR__ . '/../../stubs/resources/js/ssr.js', resource_path('js/ssr.js'));
$this->comment('All done');
$this->comment('Please execute "npm install && npm run dev" to build your assets.');
@@ -121,6 +125,20 @@ protected function installRouteMiddleware()
);
}
+ protected function updateNodeScript()
+ {
+ if (!file_exists(base_path('package.json'))) {
+ return;
+ }
+
+ $packageFile = file_get_contents(base_path('package.json'));
+
+ file_put_contents(
+ base_path('package.json'),
+ str_replace('"vite build"', '"vite build && vite build --ssr"', $packageFile)
+ );
+ }
+
/**
* Update the "package.json" file.
*
diff --git a/src/Commands/SsrTestCommand.php b/src/Commands/SsrTestCommand.php
new file mode 100644
index 00000000..1e7fad7a
--- /dev/null
+++ b/src/Commands/SsrTestCommand.php
@@ -0,0 +1,44 @@
+info('Testing SSR server: ' . config('splade.ssr.server'));
+
+ $bladePrefix = config('splade.blade.component_prefix');
+
+ if ($bladePrefix) {
+ $bladePrefix .= '-';
+ }
+
+ $html = Blade::render("Test
");
+
+ $result = (new Ssr)->render(
+ '',
+ $html,
+ (object) []
+ );
+
+ if (Str::contains($result['body'] ?? '', 'Test
')) {
+ $this->info('OK');
+
+ return 0;
+ }
+
+ $this->error('Wrong response.');
+
+ return 1;
+ }
+}
diff --git a/src/Http/BladeDirectives.php b/src/Http/BladeDirectives.php
new file mode 100644
index 00000000..62313eb3
--- /dev/null
+++ b/src/Http/BladeDirectives.php
@@ -0,0 +1,24 @@
+';
+ $template[] = '{!! $ssrBody !!}';
+ $template[] = '';
+
+ return implode(PHP_EOL, $template);
+ }
+}
diff --git a/src/Http/SpladeMiddleware.php b/src/Http/SpladeMiddleware.php
index 18f862ab..0895cc51 100644
--- a/src/Http/SpladeMiddleware.php
+++ b/src/Http/SpladeMiddleware.php
@@ -4,12 +4,14 @@
use Closure;
use Illuminate\Contracts\Session\Session;
+use Illuminate\Contracts\Support\Htmlable;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Str;
use Illuminate\Validation\ValidationException;
use ProtoneMedia\Splade\SpladeCore;
+use ProtoneMedia\Splade\Ssr;
use Symfony\Component\HttpFoundation\Response;
class SpladeMiddleware
@@ -18,7 +20,7 @@ class SpladeMiddleware
const FORCE_REFRESH_NEXT_REQUEST = 'splade.forceRefreshNextRequst';
- public function __construct(private SpladeCore $splade)
+ public function __construct(private SpladeCore $splade, private Ssr $ssr)
{
}
@@ -58,13 +60,13 @@ public function handle(Request $request, Closure $next)
);
if ($response->exception instanceof ValidationException) {
- $newData['splade']['errors'] = $response->original['errors'];
+ $newData['splade']->errors = $response->original['errors'];
}
return $response->setData($newData);
}
- $content = $response->content() ?: '';
+ $content = $response->getContent() ?: '';
return $response->setContent(json_encode([
'html' => $this->splade->isModalRequest() ? $this->parseModalContent($content) : $content,
@@ -73,19 +75,35 @@ public function handle(Request $request, Closure $next)
}
if ($response->isSuccessful()) {
- $bladePrefix = config('splade.blade.component_prefix');
+ $html = $response->original instanceof Htmlable
+ ? ($response->original->toHtml() ?: '')
+ : '';
- if ($bladePrefix) {
- $bladePrefix .= '-';
+ $viewData = [
+ 'components' => static::renderedComponents(),
+ 'html' => $html,
+ 'splade' => $spladeData,
+ 'ssrHead' => null,
+ 'ssrBody' => null,
+ ];
+
+ if (config('splade.ssr.enabled')) {
+ $data = $this->ssr->render(
+ $viewData['components'],
+ $viewData['html'],
+ $viewData['splade'],
+ );
+
+ $viewData['ssrBody'] = $data['body'] ?? null;
}
- $rendered = view('root', [
- 'components' => Blade::render(""),
- 'html' => $response->original ?: '',
- 'splade' => $spladeData,
- ])->render();
+ if (!$viewData['ssrBody'] && config('splade.ssr.blade_fallback')) {
+ $viewData['ssrBody'] = $html;
+ }
- return $response->setContent($rendered);
+ return $response->setContent(
+ view($this->splade->getRootView(), $viewData)->render()
+ );
}
return $response;
@@ -102,7 +120,7 @@ private function parseModalContent(string $content): ?string
);
}
- private function spladeData(Session $session): array
+ private function spladeData(Session $session): object
{
$flashData = config('splade.share_session_flash_data')
? collect($session->get('_flash.old', []))
@@ -112,7 +130,7 @@ private function spladeData(Session $session): array
->mapWithKeys(fn ($key) => [$key => $session->get($key)])
->toArray();
- return [
+ return (object) [
'modal' => $this->splade->isModalRequest() ? $this->splade->modalType() : null,
'refresh' => $this->splade->isRefreshRequest() || (bool) $session->pull(static::FORCE_REFRESH_NEXT_REQUEST),
'flash' => (object) $flash,
@@ -122,7 +140,17 @@ private function spladeData(Session $session): array
$session->pull(static::FLASH_TOASTS, []),
$this->splade->getToasts(),
),
-
];
}
+
+ public static function renderedComponents(): string
+ {
+ $bladePrefix = config('splade.blade.component_prefix');
+
+ if ($bladePrefix) {
+ $bladePrefix .= '-';
+ }
+
+ return Blade::render("");
+ }
}
diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php
index 5a4f2447..c36249a9 100644
--- a/src/ServiceProvider.php
+++ b/src/ServiceProvider.php
@@ -8,6 +8,8 @@
use Illuminate\Support\Facades\Route;
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
use ProtoneMedia\Splade\Commands\SpladeInstallCommand;
+use ProtoneMedia\Splade\Commands\SsrTestCommand;
+use ProtoneMedia\Splade\Http\BladeDirectives;
class ServiceProvider extends BaseServiceProvider
{
@@ -26,7 +28,10 @@ public function boot()
], 'views');
}
- $this->commands([SpladeInstallCommand::class]);
+ $this->commands([
+ SpladeInstallCommand::class,
+ SsrTestCommand::class,
+ ]);
$this->loadViewsFrom(__DIR__ . '/../resources/views', 'splade');
@@ -42,9 +47,7 @@ public function boot()
return $app->make(SpladeCore::class)->toastBuilder();
});
- Blade::directive('splade', function () {
- return '';
- });
+ (new BladeDirectives)->registerHandlers();
Route::get(config('splade.event_redirect_route'), function ($uuid) {
$data = Cache::pull(EventRedirect::class . $uuid);
diff --git a/src/SpladeCore.php b/src/SpladeCore.php
index 3d6f8f3d..60790bc2 100755
--- a/src/SpladeCore.php
+++ b/src/SpladeCore.php
@@ -27,6 +27,20 @@ class SpladeCore
private array $toasts = [];
+ private string $rootView = 'root';
+
+ public function getRootView(): string
+ {
+ return $this->rootView;
+ }
+
+ public function setRootView(string $view): self
+ {
+ $this->rootView = $view;
+
+ return $this;
+ }
+
public function reset(): self
{
$this->modalKey = null;
diff --git a/src/Ssr.php b/src/Ssr.php
new file mode 100644
index 00000000..d8fedb4a
--- /dev/null
+++ b/src/Ssr.php
@@ -0,0 +1,25 @@
+ null];
+
+ $data = [
+ 'components' => $components,
+ 'html' => $html,
+ 'splade' => $splade,
+ ];
+
+ return rescue(
+ callback: fn () => Http::post(config('splade.ssr.server'), $data)->throw()->json(),
+ rescue: $default,
+ report: false
+ ) ?: $default;
+ }
+}
diff --git a/stubs/postcss.config.js b/stubs/postcss.config.js
index fef1b225..67cdf1a5 100644
--- a/stubs/postcss.config.js
+++ b/stubs/postcss.config.js
@@ -3,4 +3,4 @@ module.exports = {
tailwindcss: {},
autoprefixer: {},
},
-}
+};
diff --git a/stubs/resources/js/app.js b/stubs/resources/js/app.js
index 0b4a2143..fcf2658d 100644
--- a/stubs/resources/js/app.js
+++ b/stubs/resources/js/app.js
@@ -1,16 +1,16 @@
-import './bootstrap';
-import '../css/app.css';
+import "./bootstrap";
+import "../css/app.css";
-import { createApp } from 'vue'
-import { renderSpladeApp, SpladePlugin } from '@protonemedia/laravel-splade'
+import { createApp } from "vue";
+import { renderSpladeApp, SpladePlugin } from "@protonemedia/laravel-splade";
-const el = document.getElementById('app')
+const el = document.getElementById("app");
createApp({
render: renderSpladeApp({ el })
})
.use(SpladePlugin, {
- 'max_keep_alive': 10,
- 'transform_anchors': false,
+ "max_keep_alive": 10,
+ "transform_anchors": false,
})
.mount(el);
diff --git a/stubs/resources/js/ssr.js b/stubs/resources/js/ssr.js
new file mode 100644
index 00000000..dd9a03e3
--- /dev/null
+++ b/stubs/resources/js/ssr.js
@@ -0,0 +1,11 @@
+import { createServer } from "http";
+import { createSSRApp } from "vue";
+import { renderToString } from "@vue/server-renderer";
+import { renderSpladeApp, SpladePlugin, startServer } from "@protonemedia/laravel-splade";
+
+startServer(createServer, renderToString, (props) => {
+ return createSSRApp({
+ render: renderSpladeApp(props)
+ })
+ .use(SpladePlugin);
+});
\ No newline at end of file
diff --git a/stubs/tailwind.config.js b/stubs/tailwind.config.js
index b4b288f6..02d6371b 100644
--- a/stubs/tailwind.config.js
+++ b/stubs/tailwind.config.js
@@ -1,19 +1,20 @@
-const defaultTheme = require('tailwindcss/defaultTheme');
-
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
- './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',
- './vendor/protonemedia/laravel-splade/lib/**/*.vue',
- './vendor/protonemedia/laravel-splade/resources/views/**/*.blade.php',
- './storage/framework/views/*.php',
- './resources/views/**/*.blade.php',
- './resources/js/**/*.vue',
+ "./vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php",
+ "./vendor/protonemedia/laravel-splade/lib/**/*.vue",
+ "./vendor/protonemedia/laravel-splade/resources/views/**/*.blade.php",
+ "./storage/framework/views/*.php",
+ "./resources/views/**/*.blade.php",
+ "./resources/js/**/*.vue",
],
theme: {
extend: {},
},
- plugins: [require('@tailwindcss/forms'), require('@tailwindcss/typography')],
+ plugins: [
+ require("@tailwindcss/forms"),
+ require("@tailwindcss/typography")
+ ],
};
\ No newline at end of file
diff --git a/stubs/vite.config.js b/stubs/vite.config.js
index b1ed363e..c5eb54d8 100644
--- a/stubs/vite.config.js
+++ b/stubs/vite.config.js
@@ -1,11 +1,12 @@
-import { defineConfig } from 'vite';
-import laravel from 'laravel-vite-plugin';
-import vue from '@vitejs/plugin-vue';
+import { defineConfig } from "vite";
+import laravel from "laravel-vite-plugin";
+import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [
laravel({
- input: 'resources/js/app.js',
+ input: "resources/js/app.js",
+ ssr: "resources/js/ssr.js",
refresh: true,
}),
vue({
@@ -17,9 +18,12 @@ export default defineConfig({
},
}),
],
+ ssr: {
+ noExternal: ["vue", "@protonemedia/laravel-splade"]
+ },
resolve: {
alias: {
- vue: 'vue/dist/vue.esm-bundler'
+ vue: "vue/dist/vue.esm-bundler"
}
},
});
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
index 8395ccc9..63434e9c 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,25 +1,25 @@
-import { resolve } from 'path'
-import { defineConfig } from 'vite'
+import { resolve } from "path"
+import { defineConfig } from "vite"
import vue from "@vitejs/plugin-vue"
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [vue()],
+ plugins: [vue()],
- build: {
- lib: {
- entry: resolve(__dirname, 'lib/main.js'),
- name: 'ProtoneMediaLaravelSplade',
- fileName: 'protone-media-laravel-splade'
- },
- rollupOptions: {
- external: ['vue', 'axios'],
- output: {
- globals: {
- axios: 'axios',
- vue: 'Vue'
+ build: {
+ lib: {
+ entry: resolve(__dirname, "lib/main.js"),
+ name: "ProtoneMediaLaravelSplade",
+ fileName: "protone-media-laravel-splade"
+ },
+ rollupOptions: {
+ external: ["vue", "axios"],
+ output: {
+ globals: {
+ axios: "axios",
+ vue: "Vue"
+ }
+ }
}
- }
}
- }
})