From d64d9e4af729ed17097b6b3499c5b00b4f007bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Mon, 22 Feb 2021 13:35:56 +0100 Subject: [PATCH 01/57] Updated dependencies --- package-lock.json | 2875 +++++++++++++++------------------------------ package.json | 9 +- vite.config.js | 12 +- 3 files changed, 995 insertions(+), 1901 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0459ef7..3c12389 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,17 +13,98 @@ "@babel/highlight": "^7.10.4" } }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "@babel/core": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.17.tgz", + "integrity": "sha512-V3CuX1aBywbJvV2yzJScRxeiiw0v2KZZYYE3giywxzFJL13RiyPjaaDwhDnxmgFTTS7FgvM2ijr4QmKNIu0AtQ==", "dev": true, "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.17", + "@babel/helper-module-transforms": "^7.12.17", + "@babel/helpers": "^7.12.17", + "@babel/parser": "^7.12.17", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.17", + "@babel/types": "^7.12.17", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", + "integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.17.tgz", + "integrity": "sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.17", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.17", + "@babel/types": "^7.12.17", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -32,33 +113,350 @@ } } }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "@babel/generator": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.17.tgz", + "integrity": "sha512-DSA7ruZrY4WI8VxuS1jWSRezFnghEoYEFrZcw9BizQRmOZiUsiHl59+qEARGPqPikwA/GPTyRCi7isuCK/oyqg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.17", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.17.tgz", + "integrity": "sha512-I/nurmTxIxHV0M+rIpfQBF1oN342+yvl2kwZUrQuOClMamHF1w5tknfZubgNOLRoA73SzBFAdFcpb4M9HwOeWQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.17", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.17.tgz", + "integrity": "sha512-Bzv4p3ODgS/qpBE0DiJ9qf5WxSmrQ8gVTe8ClMfwwsY2x/rhykxxy3bXzG7AGTnPB2ij37zGJ/Q/6FruxHxsxg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.17" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz", + "integrity": "sha512-sFL+p6zOCQMm9vilo06M4VHuTxUAwa6IxgL56Tq1DVtA0ziAGTH1ThmJq7xwPqdQlgAbKX3fb0oZNbtRIyA5KQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.17", + "@babel/types": "^7.12.17", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", + "integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.17.tgz", + "integrity": "sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.17", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.17", + "@babel/types": "^7.12.17", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", + "integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.17.tgz", + "integrity": "sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.17", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.17", + "@babel/types": "^7.12.17", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-validator-identifier": { @@ -66,6 +464,73 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, + "@babel/helpers": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.17.tgz", + "integrity": "sha512-tEpjqSBGt/SFEsFikKds1sLNChKKGGR17flIgQKXH4fG6m9gTgl3gnOC1giHNyaBCSKuTfxaSzHi7UnvqiVKxg==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.17", + "@babel/types": "^7.12.17" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", + "integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.17.tgz", + "integrity": "sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.17", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.17", + "@babel/types": "^7.12.17", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, "@babel/highlight": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", @@ -82,15 +547,92 @@ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", + "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.17.tgz", + "integrity": "sha512-1bIYwnhRoetxkFonuZRtDZPFEjl1l5r+3ITkxLC3mlMaFja+GQFo94b/WHEPjqWLU9Bc+W4oFZbvCGe9eYMu1g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.17", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-typescript": "^7.12.13" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", + "integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", + "dev": true + }, + "@babel/types": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", + "integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/traverse": { @@ -287,15 +829,6 @@ "integrity": "sha512-A7GSOovcZn/NMoAmDc8FG9uRcFv6iygriK8+C6HFeOnMQ9X+T9f5A9bPtXhCOCiRpQm9SUtGqXedxO5Y8rz9/A==", "dev": true }, - "@koa/cors": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-3.1.0.tgz", - "integrity": "sha512-7ulRC1da/rBa6kj6P4g2aJfnET3z8Uf3SWu60cjbtxTA5g8lxRdX/Bd2P92EagGwwAhANeNw8T8if99rJliR6Q==", - "dev": true, - "requires": { - "vary": "^1.1.2" - } - }, "@lerna/add": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz", @@ -1456,130 +1989,106 @@ "@types/node": ">= 8" } }, - "@rollup/plugin-commonjs": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz", - "integrity": "sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw==", + "@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "dependencies": { - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } - } - } + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" } }, - "@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.0.8" + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dev": true, + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dev": true, + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" }, "dependencies": { - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "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==", "dev": true, "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "debug": "4" } }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } - } - }, - "@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, - "dependencies": { - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "agent-base": "6", + "debug": "4" } - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true } } }, - "@rollup/pluginutils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz", - "integrity": "sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==", + "@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", "dev": true, "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" } }, - "@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", - "dev": true, - "requires": { - "@types/node": "*" - } + "@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "dev": true }, - "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", "dev": true, "requires": { - "@types/connect": "*", - "@types/node": "*" + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" } }, "@types/braces": { @@ -1588,62 +2097,6 @@ "integrity": "sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==", "dev": true }, - "@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==", - "dev": true - }, - "@types/cookies": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz", - "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/express": "*", - "@types/keygrip": "*", - "@types/node": "*" - } - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "*", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -1654,64 +2107,6 @@ "@types/node": "*" } }, - "@types/http-assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", - "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==", - "dev": true - }, - "@types/http-errors": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.0.tgz", - "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/keygrip": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", - "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==", - "dev": true - }, - "@types/koa": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.6.tgz", - "integrity": "sha512-BhyrMj06eQkk04C97fovEDQMpLpd2IxCB4ecitaXwOKGq78Wi2tooaDOWOFGajPk8IkQOAtMppApgSVkYe1F/A==", - "dev": true, - "requires": { - "@types/accepts": "*", - "@types/content-disposition": "*", - "@types/cookies": "*", - "@types/http-assert": "*", - "@types/http-errors": "*", - "@types/keygrip": "*", - "@types/koa-compose": "*", - "@types/node": "*" - } - }, - "@types/koa-compose": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", - "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", - "dev": true, - "requires": { - "@types/koa": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz", - "integrity": "sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==", - "dev": true - }, "@types/micromatch": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz", @@ -1721,12 +2116,6 @@ "@types/braces": "*" } }, - "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", - "dev": true - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1751,41 +2140,48 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/qs": { - "version": "6.9.5", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", - "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "@vitejs/plugin-vue-jsx": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-1.1.0.tgz", + "integrity": "sha512-7fpB9rdhWZ7DSdcK/w2sEuSaeOiSyhwu/2ojwl8qz1pshWEPQj9F2g9TaZtEBz298nOKBM0hUOCcKKRUO8Ga8A==", "dev": true, "requires": { - "@types/node": "*" + "@babel/core": "^7.12.10", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.12.1", + "@vue/babel-plugin-jsx": "^1.0.1", + "hash-sum": "^2.0.0" } }, - "@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", + "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", "dev": true, "requires": { - "@types/mime": "*", - "@types/node": "*" + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } } }, "@vue/compiler-core": { @@ -1810,17 +2206,17 @@ } }, "@vue/compiler-sfc": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.4.tgz", - "integrity": "sha512-brDn6HTuK6R3oBCjtMPPsIpyJEZFinlnxjtBXww/goFJOJBAU9CrsdegwyZItNnixCFUIg4CLv4Nj1Eg/eKlfg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz", + "integrity": "sha512-uOAC4X0Gx3SQ9YvDC7YMpbDvoCmPvP0afVhJoxRotDdJ+r8VO3q4hFf/2f7U62k4Vkdftp6DVni8QixrfYzs+w==", "dev": true, "requires": { "@babel/parser": "^7.12.0", "@babel/types": "^7.12.0", - "@vue/compiler-core": "3.0.4", - "@vue/compiler-dom": "3.0.4", - "@vue/compiler-ssr": "3.0.4", - "@vue/shared": "3.0.4", + "@vue/compiler-core": "3.0.5", + "@vue/compiler-dom": "3.0.5", + "@vue/compiler-ssr": "3.0.5", + "@vue/shared": "3.0.5", "consolidate": "^0.16.0", "estree-walker": "^2.0.1", "hash-sum": "^2.0.0", @@ -1831,16 +2227,78 @@ "postcss-modules": "^3.2.2", "postcss-selector-parser": "^6.0.4", "source-map": "^0.6.1" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.5.tgz", + "integrity": "sha512-iFXwk2gmU/GGwN4hpBwDWWMLvpkIejf/AybcFtlQ5V1ur+5jwfBaV0Y1RXoR6ePfBPJixtKZ3PmN+M+HgMAtfQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.0.5", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz", + "integrity": "sha512-HSOSe2XSPuCkp20h4+HXSiPH9qkhz6YbW9z9ZtL5vef2T2PMugH7/osIFVSrRZP/Ul5twFZ7MIRlp8tPX6e4/g==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.0.5", + "@vue/shared": "3.0.5" + } + }, + "@vue/shared": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz", + "integrity": "sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw==", + "dev": true + } } }, "@vue/compiler-ssr": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.4.tgz", - "integrity": "sha512-4aYWQEL4+LS4+D44K9Z7xMOWMEjBsz4Li9nMcj2rxRQ35ewK6uFPodvs6ORP60iBDSkwUFZoldFlNemQlu1BFw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz", + "integrity": "sha512-Wm//Kuxa1DpgjE4P9W0coZr8wklOfJ35Jtq61CbU+t601CpPTK4+FL2QDBItaG7aoUUDCWL5nnxMkuaOgzTBKg==", "dev": true, "requires": { - "@vue/compiler-dom": "3.0.4", - "@vue/shared": "3.0.4" + "@vue/compiler-dom": "3.0.5", + "@vue/shared": "3.0.5" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.5.tgz", + "integrity": "sha512-iFXwk2gmU/GGwN4hpBwDWWMLvpkIejf/AybcFtlQ5V1ur+5jwfBaV0Y1RXoR6ePfBPJixtKZ3PmN+M+HgMAtfQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.0.5", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz", + "integrity": "sha512-HSOSe2XSPuCkp20h4+HXSiPH9qkhz6YbW9z9ZtL5vef2T2PMugH7/osIFVSrRZP/Ul5twFZ7MIRlp8tPX6e4/g==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.0.5", + "@vue/shared": "3.0.5" + } + }, + "@vue/shared": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz", + "integrity": "sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw==", + "dev": true + } } }, "@vue/reactivity": { @@ -1876,9 +2334,9 @@ "integrity": "sha512-Swfbz31AaMX48CpFl+YmIrqOH9MgJMTrltG9e26A4ZxYx9LjGuMV+41WnxFzS3Bc9nbrc6sDPM37G6nIT8NJSg==" }, "@vuedx/analyze": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-oDenjVjW7ktjLRJPSb6SrRaPBv0e1njphjFCf2uoSy+MLlxDUqe8f+zAt4ldbqxelugfyb2JGIiQQYfUUX8OUA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.3.tgz", + "integrity": "sha512-LiQ7Ppw4nEr5qjth+gg1m48yXD7usOcAygUU10lLwfRRlDZevxAdZRcNuC0vBOXUG3xbl6CSDXnAMeWFdlUiyw==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -1888,10 +2346,11 @@ "@babel/traverse": "7.12.1", "@babel/types": "7.12.1", "@types/micromatch": "^4.0.1", - "@vuedx/compiler-sfc": "0.3.1-insiders-1609155664.0", - "@vuedx/compiler-tsx": "0.3.1-insiders-1609155664.0", - "@vuedx/projectconfig": "0.3.3-insiders-1609155664.0", - "@vuedx/template-ast-types": "0.3.1-insiders-1609155664.0", + "@vuedx/compiler-sfc": "0.6.2", + "@vuedx/compiler-tsx": "0.6.3", + "@vuedx/projectconfig": "0.6.2", + "@vuedx/shared": "0.6.2", + "@vuedx/template-ast-types": "0.6.2", "cli-highlight": "^2.1.4", "commander": "^6.1.0", "fast-glob": "^3.2.4", @@ -1913,9 +2372,9 @@ } }, "@vuedx/compiler-sfc": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/compiler-sfc/-/compiler-sfc-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-0b4DUE9CRRiJ73G+rF5lnxKVGCNC57rnjjEshRXuhXcWvJL6akbvWufzNUifCE/99G02MRDFYtZ8aNXDhQ00Gw==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@vuedx/compiler-sfc/-/compiler-sfc-0.6.2.tgz", + "integrity": "sha512-mJehCyO6BJiHCLPfVQQZb7RliuwBh7voGkrF27SkA3yhv44VSDaMbDIX2VRm3utl1CacFEVdNFqB9QYviZByfg==", "dev": true, "requires": { "@vue/compiler-core": "^3.0.2", @@ -1941,15 +2400,16 @@ } }, "@vuedx/compiler-tsx": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/compiler-tsx/-/compiler-tsx-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-OP28A7v8LCsiUcsBJeh+gNidmZ6B8CUZPiY7m7xXbmN70ciwV1l+lCvcG3odmy2QlMRNYmji7ExkH7efIky3Sw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@vuedx/compiler-tsx/-/compiler-tsx-0.6.3.tgz", + "integrity": "sha512-H1SSgUHQXWoTnrIxvl9uXGMUqKlWjNddp8xc+EAg7BRQ4F7kFzHTzOsafG5xzrqnmZujj8cLUknG123rWgsxIg==", "dev": true, "requires": { "@babel/parser": "7.12.3", "@babel/types": "7.12.1", "@vue/compiler-core": "^3.0.1", - "@vuedx/template-ast-types": "0.3.1-insiders-1609155664.0" + "@vuedx/shared": "0.6.2", + "@vuedx/template-ast-types": "0.6.2" }, "dependencies": { "@babel/parser": { @@ -1972,31 +2432,52 @@ } }, "@vuedx/projectconfig": { - "version": "0.3.3-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/projectconfig/-/projectconfig-0.3.3-insiders-1609155664.0.tgz", - "integrity": "sha512-Xq9xIDxGe+vMIj2JHelKg2sOPMBw95p2fVjusoZVmo82dnicFDuiHhy5XK6tuiHAF0vWVaJ3k0RNIhERv/CvdQ==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@vuedx/projectconfig/-/projectconfig-0.6.2.tgz", + "integrity": "sha512-qoekczmYpg4bOHMUduGgwGEWYq2CZL9HfztNzSPaJnErTBc4VNFnCBLsAtFPLkILASh6vzE2m/EpIzSpMW5mJQ==", "dev": true }, + "@vuedx/shared": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@vuedx/shared/-/shared-0.6.2.tgz", + "integrity": "sha512-xCXK+X5iDXkNfLglxFGFeEtqSWlopU8Cj6dGgMABWlee7HVDl47A4sj5oQpKuTjwRJHyE+BYtgGxtf1eLee5Yg==", + "dev": true, + "requires": { + "@sentry/node": "^5.30.0", + "node-unique-machine-id": "^1.1.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, "@vuedx/template-ast-types": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/template-ast-types/-/template-ast-types-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-i/0HGxDu5iYx17voRrsa9H/SjMby5pPeLR+OXfrg5CftGfg+hzXE3UhLpu0ewfUUMp8rY8SxW8W+QhQ8Wmioww==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@vuedx/template-ast-types/-/template-ast-types-0.6.2.tgz", + "integrity": "sha512-TY3IesmF6/XbZnlLnImE30MXVJeXpMh8F5ZKZeeVDIvDWmPDZ6fC8DbDj1GycZtx77C85yZRnJJqq5v0AED4aw==", "dev": true, "requires": { "@vue/compiler-core": "^3.0.0" } }, "@vuedx/typecheck": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/typecheck/-/typecheck-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-sRBo3raoIpSuZLmdgTkgzPCVZgp1+fpujfaHXdZvyl5gU6XXP8cBDb9HPQpDaJGRVm7tPvizZUiqHixxfEYWnQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@vuedx/typecheck/-/typecheck-0.6.3.tgz", + "integrity": "sha512-1WfUI+bqg1O8Vklz24EZdsUE6ak4QCxtV6gWrUw+VUbep7ANhZM4RkaMsDFWVdeb2dip9ROrO8ESBrsIViPT8Q==", "dev": true, "requires": { - "@vuedx/typescript-plugin-vue": "0.3.1-insiders-1609155664.0", - "@vuedx/vue-virtual-textdocument": "0.3.1-insiders-1609155664.0", + "@vuedx/shared": "0.6.2", + "@vuedx/typescript-plugin-vue": "0.6.3", + "@vuedx/vue-virtual-textdocument": "0.6.3", "chalk": "^4.1.0", "fast-glob": "^3.2.4", "minimist": "^1.2.5", + "resolve-from": "^5.0.0", "typescript": "^4.0.3" }, "dependencies": { @@ -2040,6 +2521,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2052,17 +2539,18 @@ } }, "@vuedx/typescript-plugin-vue": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/typescript-plugin-vue/-/typescript-plugin-vue-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-PGsOtaJMoMEkf05ZWn8A/XB1khIdcqiGN/A/OlffJr1XDPIcBixxcWkSz4gbp5GAPRBwqRJi3LZmR2Sp2GI2TQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@vuedx/typescript-plugin-vue/-/typescript-plugin-vue-0.6.3.tgz", + "integrity": "sha512-zAhXM9LDVYvjAMnTiqf6yZcJXXh1rQrH3JhcmQNmlxk26sRysfa/VWNC8qkfq9vcOKRf1eQusH4g+Vov6qPGig==", "dev": true, "requires": { "@intlify/core": "^9.0.0-beta.15", - "@vuedx/analyze": "0.3.1-insiders-1609155664.0", - "@vuedx/compiler-sfc": "0.3.1-insiders-1609155664.0", - "@vuedx/projectconfig": "0.3.3-insiders-1609155664.0", - "@vuedx/template-ast-types": "0.3.1-insiders-1609155664.0", - "@vuedx/vue-virtual-textdocument": "0.3.1-insiders-1609155664.0", + "@vuedx/analyze": "0.6.3", + "@vuedx/compiler-sfc": "0.6.2", + "@vuedx/projectconfig": "0.6.2", + "@vuedx/shared": "0.6.2", + "@vuedx/template-ast-types": "0.6.2", + "@vuedx/vue-virtual-textdocument": "0.6.3", "de-indent": "^1.0.2", "json5": "^2.1.3", "quick-lru": "^5.1.1", @@ -2071,9 +2559,9 @@ }, "dependencies": { "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -2082,14 +2570,15 @@ } }, "@vuedx/vue-virtual-textdocument": { - "version": "0.3.1-insiders-1609155664.0", - "resolved": "https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.3.1-insiders-1609155664.0.tgz", - "integrity": "sha512-YIi88N6PYiHKAc4Hyf9SEcSjU8XILoQkXqpymG6Y78wzIRauHlhVUDMTW0SXbIh3T+rh6Df37f1xa16JtlY0IA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.3.tgz", + "integrity": "sha512-FN5h4GsIcYAIfFbal0+1ryddDgpxMx/gxGE5QYinbwj5PwILZzyAUt//drQfppIHzCL+TJuZSml7fAod5tYvQA==", "dev": true, "requires": { - "@vuedx/analyze": "0.3.1-insiders-1609155664.0", - "@vuedx/compiler-sfc": "0.3.1-insiders-1609155664.0", - "@vuedx/compiler-tsx": "0.3.1-insiders-1609155664.0", + "@vuedx/analyze": "0.6.3", + "@vuedx/compiler-sfc": "0.6.2", + "@vuedx/compiler-tsx": "0.6.3", + "@vuedx/shared": "0.6.2", "source-map": "^0.6.1", "vscode-languageserver-textdocument": "^1.0.1", "vscode-uri": "^2.1.2" @@ -2122,16 +2611,6 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", @@ -2320,12 +2799,6 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -2411,12 +2884,6 @@ } } }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -2444,30 +2911,6 @@ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, - "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -2493,51 +2936,18 @@ "fill-range": "^7.0.1" } }, - "brotli-size": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-4.0.0.tgz", - "integrity": "sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==", - "dev": true, - "requires": { - "duplexer": "0.1.1" - }, - "dependencies": { - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - } - } - }, "btoa-lite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", "dev": true }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true - }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -2556,12 +2966,6 @@ "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==", "dev": true }, - "cac": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.1.tgz", - "integrity": "sha512-LfGt47+ugCY65W4yUEyxnZKd/tJSBJD/gUAxQGiQjH7yqdhbaX2XN0Rli4+0W0DJiDONmYeh0TlJxMtXGZspIg==", - "dev": true - }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -2602,16 +3006,6 @@ "unset-value": "^1.0.0" } }, - "cache-content-type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", - "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", - "dev": true, - "requires": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" - } - }, "call-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", @@ -2762,15 +3156,6 @@ } } }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -2781,9 +3166,9 @@ } }, "cli-highlight": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz", - "integrity": "sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -2791,7 +3176,7 @@ "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "dependencies": { "ansi-styles": { @@ -2845,12 +3230,6 @@ } } }, - "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", - "dev": true - }, "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", @@ -2858,14 +3237,14 @@ "dev": true }, "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "wrap-ansi": "^7.0.0" } }, "clone": { @@ -2885,12 +3264,6 @@ "shallow-clone": "^3.0.0" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -2922,6 +3295,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "columnify": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", @@ -2964,12 +3343,6 @@ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, "compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", @@ -3046,29 +3419,6 @@ "bluebird": "^3.7.2" } }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, "conventional-changelog-angular": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", @@ -3330,24 +3680,29 @@ } } }, - "cookies": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", - "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" + "safe-buffer": "~5.1.1" }, "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true + }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -3514,18 +3869,6 @@ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", "dev": true }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -3597,24 +3940,12 @@ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, "deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, "detect-indent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", @@ -3649,18 +3980,6 @@ "is-obj": "^1.0.0" } }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -3689,12 +4008,6 @@ "safer-buffer": "^2.1.0" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -3707,12 +4020,6 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, "encoding": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", @@ -3778,12 +4085,6 @@ "string.prototype.trimstart": "^1.0.1" } }, - "es-module-lexer": { - "version": "0.3.26", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz", - "integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==", - "dev": true - }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -3811,15 +4112,15 @@ } }, "esbuild": { - "version": "0.8.27", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.27.tgz", - "integrity": "sha512-cY2i08EHYHNg0o748J+X0yBTcCO7DIZSxLWJ/6OymmML0Y2X6qkINfZcoiq5GE6EcLIfwyaZpI60JY6iBJWj5w==", + "version": "0.8.50", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.50.tgz", + "integrity": "sha512-oidFLXssA7IccYzkqLVZSqNJDwDq8Mh/vqvrW+3fPWM7iUiC5O2bCllhnO8+K9LlyL/2Z6n+WwRJAz9fqSIVRg==", "dev": true }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { @@ -3839,12 +4140,6 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, "eventemitter3": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", @@ -4043,9 +4338,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -4063,9 +4358,9 @@ "dev": true }, "fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", + "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -4115,12 +4410,6 @@ "readable-stream": "^2.3.6" } }, - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", - "dev": true - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -4153,12 +4442,6 @@ "map-cache": "^0.2.2" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -4288,6 +4571,12 @@ "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", "dev": true }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5083,9 +5372,9 @@ "dev": true }, "highlight.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", - "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", "dev": true }, "hosted-git-info": { @@ -5094,30 +5383,11 @@ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, - "http-assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", - "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", - "dev": true, - "requires": { - "deep-equal": "~1.0.1", - "http-errors": "~1.7.2" - }, - "dependencies": { - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - } - } + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true }, "http-cache-semantics": { "version": "3.8.1", @@ -5125,46 +5395,6 @@ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", "dev": true }, - "http-errors": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", - "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "dependencies": { - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - } - } - }, "http-proxy-agent": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", @@ -5224,12 +5454,6 @@ } } }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -5263,12 +5487,6 @@ "postcss": "^7.0.14" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", @@ -5290,15 +5508,6 @@ "minimatch": "^3.0.4" } }, - "import-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", - "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", - "dev": true, - "requires": { - "import-from": "^3.0.0" - } - }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -5317,23 +5526,6 @@ } } }, - "import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -5609,12 +5801,6 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -5639,12 +5825,6 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "is-generator-function": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", - "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", - "dev": true - }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -5654,18 +5834,6 @@ "is-extglob": "^2.1.1" } }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -5699,15 +5867,6 @@ "isobject": "^3.0.1" } }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, "is-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", @@ -5768,38 +5927,12 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isbuiltin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isbuiltin/-/isbuiltin-1.0.0.tgz", - "integrity": "sha1-RFOykVaQy0fAy5ySVaCAd3gxXJY=", - "dev": true, - "requires": { - "builtin-modules": "^1.1.1" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - } - } - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5818,34 +5951,6 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5940,159 +6045,12 @@ "verror": "1.10.0" } }, - "keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", - "dev": true, - "requires": { - "tsscmp": "1.0.6" - } - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "dev": true - }, - "koa": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz", - "integrity": "sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==", - "dev": true, - "requires": { - "accepts": "^1.3.5", - "cache-content-type": "^1.0.0", - "content-disposition": "~0.5.2", - "content-type": "^1.0.4", - "cookies": "~0.8.0", - "debug": "~3.1.0", - "delegates": "^1.0.0", - "depd": "^1.1.2", - "destroy": "^1.0.4", - "encodeurl": "^1.0.2", - "escape-html": "^1.0.3", - "fresh": "~0.5.2", - "http-assert": "^1.3.0", - "http-errors": "^1.6.3", - "is-generator-function": "^1.0.7", - "koa-compose": "^4.1.0", - "koa-convert": "^1.2.0", - "on-finished": "^2.3.0", - "only": "~0.0.2", - "parseurl": "^1.3.2", - "statuses": "^1.5.0", - "type-is": "^1.6.16", - "vary": "^1.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "koa-compose": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", - "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", - "dev": true - }, - "koa-conditional-get": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/koa-conditional-get/-/koa-conditional-get-3.0.0.tgz", - "integrity": "sha512-VKyPS7SuNH26TjTV2IRz+oh0HV/jc2lYAo51PTQTkj0XFn8ebNZW9riczmrW7ZVBFSnls1Z88DPUYKnvVymruA==", - "dev": true - }, - "koa-convert": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", - "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", - "dev": true, - "requires": { - "co": "^4.6.0", - "koa-compose": "^3.0.0" - }, - "dependencies": { - "koa-compose": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", - "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", - "dev": true, - "requires": { - "any-promise": "^1.1.0" - } - } - } - }, - "koa-etag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz", - "integrity": "sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==", - "dev": true, - "requires": { - "etag": "^1.8.1" - } - }, - "koa-proxies": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/koa-proxies/-/koa-proxies-0.11.0.tgz", - "integrity": "sha512-iXGRADBE0fM7g7AttNOlLZ/cCFKXeVMHbFJKIRb0dUCrSYXi02loyVSdBlKlBQ5ZfVKJLo9Q9FyqwVTp1poVVA==", - "dev": true, - "requires": { - "http-proxy": "^1.16.2", - "path-match": "^1.2.4" - } - }, - "koa-send": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz", - "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "http-errors": "^1.7.3", - "resolve-path": "^1.4.0" - } - }, - "koa-static": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz", - "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "koa-send": "^5.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "lerna": { "version": "3.22.1", "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.22.1.tgz", @@ -6235,66 +6193,6 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -6314,6 +6212,12 @@ "yallist": "^3.0.2" } }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=", + "dev": true + }, "macos-release": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz", @@ -6386,12 +6290,6 @@ "object-visit": "^1.0.0" } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, "meow": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.0.tgz", @@ -6554,12 +6452,6 @@ "source-map": "^0.6.1" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -6760,6 +6652,12 @@ "thenify-all": "^1.0.0" } }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -6779,12 +6677,6 @@ "to-regex": "^3.0.1" } }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -6814,12 +6706,6 @@ "safe-buffer": "^5.1.1" } }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, "node-gyp": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", @@ -6847,6 +6733,15 @@ } } }, + "node-unique-machine-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-unique-machine-id/-/node-unique-machine-id-1.1.0.tgz", + "integrity": "sha512-uJtdcFelVD08XdvxYWYzMYprSTPYl9CYiQbyGYbjXZcMZtLRlEqNUs+C/va/81DNgExsMHL5g0YDYQFS0pENRQ==", + "dev": true, + "requires": { + "uuid": "^3.3.3" + } + }, "nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -7099,15 +6994,6 @@ "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", "dev": true }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -7126,123 +7012,6 @@ "mimic-fn": "^1.0.0" } }, - "only": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", - "dev": true - }, - "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "ora": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.2.0.tgz", - "integrity": "sha512-+wG2v8TUU8EgzPHun1k/n45pXquQ9fHnbXVetl9rRgO6kjZszGGbraF3XPTIdgeA+s1lbRjSEftAnyT0w8ZMvQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -7361,23 +7130,6 @@ "readable-stream": "^2.1.5" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } - } - }, "parse-github-repo-url": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", @@ -7439,12 +7191,6 @@ } } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -7475,57 +7221,12 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "path-match": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/path-match/-/path-match-1.2.4.tgz", - "integrity": "sha1-pidH88fgwlFHYml/JEQ1hbCRAOo=", - "dev": true, - "requires": { - "http-errors": "~1.4.0", - "path-to-regexp": "^1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", - "integrity": "sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8=", - "dev": true, - "requires": { - "inherits": "2.0.1", - "statuses": ">= 1.2.1 < 2" - } - }, - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -7638,88 +7339,6 @@ "supports-color": "^6.1.0" } }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-load-config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.0.tgz", - "integrity": "sha512-lErrN8imuEF1cSiHBV8MiR7HeuzlDpCGNtaMyYHlOBuJHHOGw6S4xOMZp8BbXPr7AGQp14L6PZDlIOpfFJ6f7w==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "import-cwd": "^3.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - } - } - }, "postcss-modules": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-3.2.2.tgz", @@ -7905,21 +7524,18 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "queue-microtask": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", + "dev": true + }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -7929,23 +7545,6 @@ "mute-stream": "~0.0.4" } }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "read-cmd-shim": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz", @@ -8195,12 +7794,6 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, "resolve": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", @@ -8234,42 +7827,6 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "resolve-path": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", - "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", - "dev": true, - "requires": { - "http-errors": "~1.6.2", - "path-is-absolute": "1.0.1" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -8314,137 +7871,20 @@ } }, "rollup": { - "version": "2.35.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.35.1.tgz", - "integrity": "sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA==", + "version": "2.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.39.0.tgz", + "integrity": "sha512-+WR3bttcq7zE+BntH09UxaW3bQo3vItuYeLsyk4dL2tuwbeSKJuvwiawyhEnvRdRgrII0Uzk00FpctHO/zB1kw==", "dev": true, "requires": { - "fsevents": "~2.1.2" - } - }, - "rollup-plugin-dynamic-import-variables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-dynamic-import-variables/-/rollup-plugin-dynamic-import-variables-1.1.0.tgz", - "integrity": "sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.9", - "estree-walker": "^2.0.1", - "globby": "^11.0.0", - "magic-string": "^0.25.7" + "fsevents": "~2.3.1" }, "dependencies": { - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "rollup-plugin-vue": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz", - "integrity": "sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "hash-sum": "^2.0.0", - "rollup-pluginutils": "^2.8.2" - } - }, - "rollup-plugin-web-worker-loader": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.5.0.tgz", - "integrity": "sha512-Zx5l370yGDje35rFkM/wbT4dMIq2+kSBdLWQpqLkBuxmrQJcx0umA05kSbNRzccFsudQH4FKYCK8GtSBQRQBBg==", - "dev": true - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true + "optional": true } } }, @@ -8455,10 +7895,13 @@ "dev": true }, "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } }, "run-queue": { "version": "1.0.3", @@ -8508,30 +7951,12 @@ "chokidar": ">=2.0.0 <4.0.0" } }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -8561,12 +7986,6 @@ } } }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -8801,16 +8220,6 @@ "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -8935,12 +8344,6 @@ } } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -9032,12 +8435,6 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -9067,6 +8464,12 @@ "has-flag": "^3.0.0" } }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, "tar": { "version": "4.4.13", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", @@ -9110,31 +8513,6 @@ } } }, - "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, "text-extensions": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", @@ -9230,12 +8608,6 @@ "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -9273,12 +8645,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", - "dev": true - }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -9300,16 +8666,6 @@ "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", "dev": true }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -9499,12 +8855,6 @@ "builtins": "^1.0.3" } }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -9517,282 +8867,35 @@ } }, "vite": { - "version": "1.0.0-rc.13", - "resolved": "https://registry.npmjs.org/vite/-/vite-1.0.0-rc.13.tgz", - "integrity": "sha512-hLfTbhNPDhwXMCAWR6s6C79G/O8Is0MbslglgoHSQsRby+KnqHgtHChCVBHFeV2oZBV/3xhHhnfm94BDPFe8Ww==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.0.1.tgz", + "integrity": "sha512-x7ZfikjNs+6n4cdvwb9L5r5xBCdjmtmHFHaI4JVR3nAkJbMCK/dynfDWky8/NseZ9Ncz1jVxTQ/Bcf+n1ps1Ww==", "dev": true, "requires": { - "@babel/parser": "^7.12.7", - "@koa/cors": "^3.1.0", - "@rollup/plugin-commonjs": "^16.0.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^10.0.0", - "@rollup/pluginutils": "^4.1.0", - "@types/http-proxy": "^1.17.4", - "@types/koa": "^2.11.4", - "@types/lru-cache": "^5.1.0", - "@vue/compiler-dom": "^3.0.3", - "@vue/compiler-sfc": "^3.0.3", - "brotli-size": "^4.0.0", - "cac": "^6.6.1", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "clean-css": "^4.2.3", - "debug": "^4.3.1", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "es-module-lexer": "^0.3.25", - "esbuild": "^0.8.12", - "etag": "^1.8.1", - "execa": "^4.0.3", - "fs-extra": "^9.0.1", - "hash-sum": "^2.0.0", - "isbuiltin": "^1.0.0", - "klona": "^2.0.4", - "koa": "^2.13.0", - "koa-conditional-get": "^3.0.0", - "koa-etag": "^4.0.0", - "koa-proxies": "^0.11.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^6.0.0", - "magic-string": "^0.25.7", - "merge-source-map": "^1.1.0", - "mime-types": "^2.1.27", - "minimist": "^1.2.5", - "open": "^7.2.1", - "ora": "^5.1.0", - "p-map-series": "^2.1.0", - "postcss-discard-comments": "^4.0.2", - "postcss-import": "^12.0.1", - "postcss-load-config": "^3.0.0", - "resolve": "^1.17.0", - "rollup": "^2.32.1", - "rollup-plugin-dynamic-import-variables": "^1.1.0", - "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-vue": "^6.0.0", - "rollup-plugin-web-worker-loader": "^1.3.1", - "selfsigned": "^1.10.8", - "slash": "^3.0.0", - "source-map": "^0.7.3", - "vue": "^3.0.3", - "ws": "^7.3.1" + "esbuild": "^0.8.34", + "fsevents": "~2.3.1", + "postcss": "^8.2.1", + "resolve": "^1.19.0", + "rollup": "^2.38.5" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "postcss": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", + "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "colorette": "^1.2.1", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-map-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", - "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -9809,9 +8912,9 @@ "dev": true }, "vscode-web-custom-data": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/vscode-web-custom-data/-/vscode-web-custom-data-0.3.2.tgz", - "integrity": "sha512-GGZ99dJbARyh6rv03dXZImGlP5WvNG382A3nIt0yX1uyqBa558L/klHWcgEJzcVkG4t16OQWwPedMR3JkeD2Qg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/vscode-web-custom-data/-/vscode-web-custom-data-0.3.3.tgz", + "integrity": "sha512-orMjjj1r4efP5ocODYZm3orpANakRBsxPZPDoD5UIrFOPKDFtMJQLp6PIH1rb3AYVRD1iYXMhDQoC6tZ+DrigA==", "dev": true }, "vue": { @@ -9923,9 +9026,9 @@ "dev": true }, "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -10040,12 +9143,6 @@ } } }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -10064,45 +9161,33 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true - }, "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + } } }, "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "ylru": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", - "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", + "version": "20.2.6", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", + "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", "dev": true } } diff --git a/package.json b/package.json index 88663f3..d34545d 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,13 @@ "vue": "^3.0.4" }, "devDependencies": { - "@vue/compiler-sfc": "^3.0.4", - "@vuedx/typecheck": "^0.3.1-insiders-1606311019.0", - "@vuedx/typescript-plugin-vue": "^0.3.1-insiders-1606311019.0", + "@vitejs/plugin-vue-jsx": "^1.1.0", + "@vue/compiler-sfc": "^3.0.5", + "@vuedx/typecheck": "^0.6.3", + "@vuedx/typescript-plugin-vue": "^0.6.3", "lerna": "^3.22.1", "sass": "^1.30.0", "typescript": "^4.1.2", - "vite": "^1.0.0-rc.13" + "vite": "^2.0.1" } } diff --git a/vite.config.js b/vite.config.js index 9999a5e..fab50cb 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,3 +1,11 @@ -module.exports = { - alias: {}, +import vueJsx from '@vitejs/plugin-vue-jsx'; + +export default { + plugins: [ + vueJsx({}), + ], + esbuild: { + jsxFactory: 'h', + jsxFragment: 'Fragment', + }, }; -- 2.44.2 From d76f40cf7d84cd96fcc59768855412a50cdf49d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Mon, 22 Feb 2021 19:13:37 +0100 Subject: [PATCH 02/57] Rename events, added mainmenu --- packages/core/lib/blocks.ts | 6 +- packages/core/lib/components/Block.tsx | 38 +++++----- .../core/lib/components/BlockOrdering.tsx | 12 +-- packages/core/lib/components/BlockPicker.tsx | 2 +- packages/core/lib/components/ContextMenu.scss | 0 packages/core/lib/components/ContextMenu.tsx | 74 +++++++++++++++++++ packages/core/lib/components/MainMenu.scss | 2 + packages/core/lib/components/MainMenu.tsx | 34 +++++++++ packages/core/lib/components/Modal.tsx | 6 +- .../core/lib/components/Schlechtenburg.tsx | 10 ++- .../core/lib/components/TreeBlockSelect.scss | 2 + .../core/lib/components/TreeBlockSelect.tsx | 38 ++++++++++ packages/image/lib/edit.tsx | 8 +- packages/layout/lib/edit.tsx | 48 +++++++----- packages/paragraph/lib/edit.tsx | 43 ++++++++--- src/App.tsx | 9 +-- 16 files changed, 259 insertions(+), 73 deletions(-) create mode 100644 packages/core/lib/components/ContextMenu.scss create mode 100644 packages/core/lib/components/ContextMenu.tsx create mode 100644 packages/core/lib/components/MainMenu.scss create mode 100644 packages/core/lib/components/MainMenu.tsx create mode 100644 packages/core/lib/components/TreeBlockSelect.scss create mode 100644 packages/core/lib/components/TreeBlockSelect.tsx diff --git a/packages/core/lib/blocks.ts b/packages/core/lib/blocks.ts index 7959327..c25c949 100644 --- a/packages/core/lib/blocks.ts +++ b/packages/core/lib/blocks.ts @@ -11,12 +11,12 @@ export interface BlockLibraryDefinition { [name: string]: BlockDefinition; } -export interface BlockProps { +export interface BlockProps { blockId: string; - data: T; + data: any; } -export interface Block extends BlockProps { +export interface Block extends BlockProps { name: string; } diff --git a/packages/core/lib/components/Block.tsx b/packages/core/lib/components/Block.tsx index 71c72c2..2e62b01 100644 --- a/packages/core/lib/components/Block.tsx +++ b/packages/core/lib/components/Block.tsx @@ -19,12 +19,14 @@ import './Block.scss'; interface BlockProps { block: Block; - eventUpdate: (b?: Block) => void; - eventPrependBlock: (b?: Block) => void; - eventAppendBlock: (b?: Block) => void; - eventRemoveBlock: () => void; - eventMoveUp: () => void; - eventMoveDown: () => void; + onUpdate: (b?: Block) => void; + onPrependBlock: (b?: Block) => void; + onAppendBlock: (b?: Block) => void; + onRemoveSelf: () => void; + onMoveBackward: () => void; + onMoveForward: () => void; + onActivateNext: () => void; + onActivatePrevious: () => void; sortable: string; } @@ -40,12 +42,12 @@ export const SbBlock = defineComponent({ type: String, default: null, }, - eventUpdate: { type: Function, default: () => {} }, - eventPrependBlock: { type: Function, default: () => {} }, - eventAppendBlock: { type: Function, default: () => {} }, - eventRemoveBlock: { type: Function, default: () => {} }, - eventMoveUp: { type: Function, default: () => {} }, - eventMoveDown: { type: Function, default: () => {} }, + onUpdate: { type: Function, default: () => {} }, + onPrependBlock: { type: Function, default: () => {} }, + onAppendBlock: { type: Function, default: () => {} }, + onRemoveSelf: { type: Function, default: () => {} }, + onMoveBackward: { type: Function, default: () => {} }, + onMoveForward: { type: Function, default: () => {} }, }, setup(props: BlockProps, context) { @@ -61,7 +63,7 @@ export const SbBlock = defineComponent({ watch(() => props.block.data, triggerSizeCalculation); const onChildUpdate = (updated: {[key: string]: any}) => { - props.eventUpdate({ + props.onUpdate({ ...props.block, data: { ...props.block.data, @@ -99,10 +101,12 @@ export const SbBlock = defineComponent({ { $event.stopPropagation(); activate(); diff --git a/packages/core/lib/components/BlockOrdering.tsx b/packages/core/lib/components/BlockOrdering.tsx index 260e561..08cce62 100644 --- a/packages/core/lib/components/BlockOrdering.tsx +++ b/packages/core/lib/components/BlockOrdering.tsx @@ -19,9 +19,9 @@ export const SbBlockOrdering = defineComponent({ type: String, default: null, }, - eventRemoveBlock: { type: Function, default: () => {} }, - eventMoveUp: { type: Function, default: () => {} }, - eventMoveDown: { type: Function, default: () => {} }, + onRemove: { type: Function, default: () => {} }, + onMoveUp: { type: Function, default: () => {} }, + onMoveDown: { type: Function, default: () => {} }, }, setup(props) { @@ -55,9 +55,9 @@ export const SbBlockOrdering = defineComponent({ style={styles} onClick={($event: MouseEvent) => $event.stopPropagation()} > - {props.sortable === 'vertical' ? '↑' : '←'} - x - {props.sortable === 'vertical' ? '↓' : '→'} + {props.sortable === 'vertical' ? '↑' : '←'} + x + {props.sortable === 'vertical' ? '↓' : '→'} ); }, diff --git a/packages/core/lib/components/BlockPicker.tsx b/packages/core/lib/components/BlockPicker.tsx index ac6cd61..f73b563 100644 --- a/packages/core/lib/components/BlockPicker.tsx +++ b/packages/core/lib/components/BlockPicker.tsx @@ -46,7 +46,7 @@ export const SbBlockPicker = defineComponent({ $event.stopPropagation()} - eventClose={() => { + onClose={() => { open.value = false; }} > diff --git a/packages/core/lib/components/ContextMenu.scss b/packages/core/lib/components/ContextMenu.scss new file mode 100644 index 0000000..e69de29 diff --git a/packages/core/lib/components/ContextMenu.tsx b/packages/core/lib/components/ContextMenu.tsx new file mode 100644 index 0000000..b909200 --- /dev/null +++ b/packages/core/lib/components/ContextMenu.tsx @@ -0,0 +1,74 @@ +import { + watch, + defineComponent, + ref, +} from 'vue'; + +import { SbButton } from './Button'; + +import './ContextMenu.scss'; + +interface ContextMenuProps { + onClose: () => void; + onOpen: () => void; +} + +export const SbContextMenu = defineComponent({ + name: 'sb-context-menu', + + props: { + onClose: { type: Function, default: () => {} }, + onOpen: { type: Function, default: () => {} }, + }, + + setup(props: ContextMenuProps, context) { + const opened = ref(false); + const close = () => { opened.value = false; } + const closeOnEscape = ($event: KeyboardEvent) => { + if ($event.key === 'Escape') { + close(); + } + }; + const open = () => { + opened.value = true; + document.addEventListener('click', close); + document.addEventListener('keypress', closeOnEscape); + } + const toggle = () => { opened.value = !opened.value; } + + watch(opened, () => { + if (!opened.value) { + document.removeEventListener('click', close); + document.removeEventListener('keypress', closeOnEscape); + } + }); + + return () => ( +
+ { + context.slots.context({ + opened, + toggle, + close, + open, + }) || + Menu + } + { + // Make sure clicks inside do not autoclose this + }} + > + {context.slots.default({ + opened, + toggle, + close, + open, + }) || null} + +
+ ); + }, +}); diff --git a/packages/core/lib/components/MainMenu.scss b/packages/core/lib/components/MainMenu.scss new file mode 100644 index 0000000..5fa52af --- /dev/null +++ b/packages/core/lib/components/MainMenu.scss @@ -0,0 +1,2 @@ +.sb-main-menu { +} diff --git a/packages/core/lib/components/MainMenu.tsx b/packages/core/lib/components/MainMenu.tsx new file mode 100644 index 0000000..21beba1 --- /dev/null +++ b/packages/core/lib/components/MainMenu.tsx @@ -0,0 +1,34 @@ +import { + defineComponent, + PropType, +} from 'vue'; +import { Block } from '../blocks'; + +import { TreeBlockSelect } from './TreeBlockSelect'; + +import './MainMenu.scss'; + +interface MainMenuProps { + block: Block; +} + +export const SbMainMenu = defineComponent({ + name: 'sb-main-menu', + + props: { + block: { + type: (null as unknown) as PropType, + required: true, + }, + }, + + setup(props: MainMenuProps, context) { + return () => ( +
+ +
+ ); + }, +}); diff --git a/packages/core/lib/components/Modal.tsx b/packages/core/lib/components/Modal.tsx index 8fab387..71c5b28 100644 --- a/packages/core/lib/components/Modal.tsx +++ b/packages/core/lib/components/Modal.tsx @@ -7,7 +7,7 @@ import './Modal.scss'; interface ModalProps { open: boolean; - eventClose: () => void; + onClose: () => void; } export const SbModal = defineComponent({ @@ -18,7 +18,7 @@ export const SbModal = defineComponent({ type: Boolean, default: false, }, - eventClose: { type: Function, default: () => {} }, + onClose: { type: Function, default: () => {} }, }, setup(props: ModalProps, context) { @@ -33,7 +33,7 @@ export const SbModal = defineComponent({ class="sb-modal__overlay" onClick={($event: MouseEvent) => { $event.stopPropagation(); - props.eventClose(); + props.onClose(); }} >
diff --git a/packages/core/lib/components/Schlechtenburg.tsx b/packages/core/lib/components/Schlechtenburg.tsx index 680b90d..9fae3e7 100644 --- a/packages/core/lib/components/Schlechtenburg.tsx +++ b/packages/core/lib/components/Schlechtenburg.tsx @@ -18,13 +18,14 @@ import { BlockLibrary } from '../use-dynamic-blocks'; import { EditorDimensions, useResizeObserver } from '../use-resize-observer'; import { ActiveBlock } from '../use-activation'; +import { SbMainMenu } from './MainMenu'; import { SbBlock } from './Block'; import './Schlechtenburg.scss'; export interface SchlechtenburgProps { customBlocks: BlockDefinition[]; - eventUpdate: (b: Block) => void; + onUpdate: (b: Block) => void; block: Block; mode: SbMode; } @@ -37,7 +38,7 @@ export const Schlechtenburg = defineComponent({ props: { customBlocks: { type: Array as PropType, default: () => [] }, block: { type: Object as PropType>, required: true }, - eventUpdate: { type: Function, default: () => {} }, + onUpdate: { type: Function, default: () => {} }, mode: { type: String as PropType, validator(value: any) { @@ -75,9 +76,12 @@ export const Schlechtenburg = defineComponent({ class="sb-main" ref={el} > +
); diff --git a/packages/core/lib/components/TreeBlockSelect.scss b/packages/core/lib/components/TreeBlockSelect.scss new file mode 100644 index 0000000..ad59f14 --- /dev/null +++ b/packages/core/lib/components/TreeBlockSelect.scss @@ -0,0 +1,2 @@ +.sb-tree-block-select { +} diff --git a/packages/core/lib/components/TreeBlockSelect.tsx b/packages/core/lib/components/TreeBlockSelect.tsx new file mode 100644 index 0000000..a77e403 --- /dev/null +++ b/packages/core/lib/components/TreeBlockSelect.tsx @@ -0,0 +1,38 @@ +import { + defineComponent, + PropType, +} from 'vue'; +import { Block } from '../blocks'; +import { SbContextMenu } from './ContextMenu'; +import { SbButton } from './Button'; + +import './TreeBlockSelect.scss'; + +interface TreeBlockSelectProps { + block: Block; +} + +export const SbTreeBlockSelect = defineComponent({ + name: 'sb-main-menu', + + props: { + block: { + type: (null as unknown) as PropType, + required: true, + }, + }, + + setup(props: TreeBlockSelectProps, context) { + return () => ( + Tree, + default: () =>
    +
  • Test
  • +
, + }} + >
+ ); + }, +}); diff --git a/packages/image/lib/edit.tsx b/packages/image/lib/edit.tsx index 2dc60e5..b176c8a 100644 --- a/packages/image/lib/edit.tsx +++ b/packages/image/lib/edit.tsx @@ -29,7 +29,7 @@ export default defineComponent({ props: { ...blockProps, - eventUpdate: { type: Function, default: () => {} }, + onUpdate: { type: Function, default: () => {} }, data: { type: (null as unknown) as PropType, default: getDefaultData, @@ -61,7 +61,7 @@ export default defineComponent({ if (fileInput.value && fileInput.value.files && fileInput.value.files.length) { const reader = new FileReader(); reader.addEventListener('load', () => { - props.eventUpdate({ + props.onUpdate({ src: reader.result, alt: props.data.alt, description: props.data.description, @@ -73,7 +73,7 @@ export default defineComponent({ }; const onDescriptionUpdate = (description) => { - props.eventUpdate({ + props.onUpdate({ ...props.data, description, }); @@ -101,7 +101,7 @@ export default defineComponent({ /> onDescriptionUpdate(updated)} + onUpdate={(updated: Block) => onDescriptionUpdate(updated)} /> : Select Image} diff --git a/packages/layout/lib/edit.tsx b/packages/layout/lib/edit.tsx index ed47adb..a0c6f61 100644 --- a/packages/layout/lib/edit.tsx +++ b/packages/layout/lib/edit.tsx @@ -33,7 +33,7 @@ export default defineComponent({ props: { ...blockProps, - eventUpdate: { type: Function, default: () => {} }, + onUpdate: { type: Function, default: () => {} }, data: { type: (null as unknown) as PropType, default: getDefaultData, @@ -60,7 +60,7 @@ export default defineComponent({ const toggleOrientation = () => { console.log('toggle'); - props.eventUpdate({ + props.onUpdate({ orientation: localData.orientation === 'vertical' ? 'horizontal' : 'vertical', }); }; @@ -70,7 +70,7 @@ export default defineComponent({ if (index === -1) { return; } - props.eventUpdate({ + props.onUpdate({ children: [ ...localData.children.slice(0, index), { @@ -87,7 +87,7 @@ export default defineComponent({ ...localData.children, block, ]; - props.eventUpdate({ children: [...localData.children] }); + props.onUpdate({ children: [...localData.children] }); activate(block.blockId); }; @@ -97,7 +97,7 @@ export default defineComponent({ block, ...localData.children.slice(index + 1), ]; - props.eventUpdate({ children: [...localData.children] }); + props.onUpdate({ children: [...localData.children] }); activate(block.blockId); }; @@ -106,13 +106,25 @@ export default defineComponent({ ...localData.children.slice(0, index), ...localData.children.slice(index + 1), ]; - props.eventUpdate({ children: [...localData.children] }); + props.onUpdate({ children: [...localData.children] }); const newActiveIndex = Math.max(index - 1, 0); activate(localData.children[newActiveIndex].blockId); }; - const moveUp = (index: number) => { + const activateBlock = (index: number) => { + const safeIndex = + Math.max( + Math.min( + localData.children.length - 1, + index, + ), + 0, + ); + activate(localData.children[safeIndex].blockId); + }; + + const moveBackward = (index: number) => { if (index === 0) { return; } @@ -126,10 +138,10 @@ export default defineComponent({ ...localData.children.slice(index + 1), ]; - props.eventUpdate({ children: [...localData.children] }); + props.onUpdate({ children: [...localData.children] }); }; - const moveDown = (index: number) => { + const moveForward = (index: number) => { if (index === localData.children.length - 1) { return; } @@ -143,7 +155,7 @@ export default defineComponent({ ...localData.children.slice(index + 2), ]; - props.eventUpdate({ children: [...localData.children] }); + props.onUpdate({ children: [...localData.children] }); }; return () => ( @@ -160,17 +172,19 @@ export default defineComponent({ {...{ key: child.blockId }} data-order={index} block={child} - eventUpdate={(updated: Block) => onChildUpdate(child, updated)} - eventPrependBlock={(block: Block) => insertBlock(index - 1, block)} - eventAppendBlock={(block: Block) => insertBlock(index, block)} - removable + onUpdate={(updated: Block) => onChildUpdate(child, updated)} + onRemoveSelf={() => removeBlock(index)} + onPrependBlock={(block: Block) => insertBlock(index - 1, block)} + onAppendBlock={(block: Block) => insertBlock(index, block)} + onActivatePrevious={(block: Block) => activateBlock(index - 1,)} + onActivateNext={(block: Block) => activateBlock(index + 1,)} > {{ 'context-toolbar': () => moveUp(index)} - eventMoveDown={() => moveDown(index)} - eventRemoveBlock={() => removeBlock(index)} + onMoveBackward={() => moveBackward(index)} + onMoveForward={() => moveForward(index)} + onRemove={() => removeBlock(index)} sortable={props.sortable} />, }} diff --git a/packages/paragraph/lib/edit.tsx b/packages/paragraph/lib/edit.tsx index 5fa5db9..b0a4db2 100644 --- a/packages/paragraph/lib/edit.tsx +++ b/packages/paragraph/lib/edit.tsx @@ -28,9 +28,11 @@ import './style.scss'; interface ParagraphProps extends BlockProps { data: ParagraphData; - eventUpdate: (b?: ParagraphData) => void; - eventAppendBlock: (b?: BlockData) => void; - eventRemoveBlock: () => void; + onUpdate: (b?: ParagraphData) => void; + onAppendBlock: (b?: BlockData) => void; + onRemoveSelf: () => void; + onActivateNext: () => void; + onActivatePrevious: () => void; } export default defineComponent({ @@ -44,9 +46,11 @@ export default defineComponent({ type: (null as unknown) as PropType, default: getDefaultData, }, - eventUpdate: { type: Function, default: () => {} }, - eventAppendBlock: { type: Function, default: () => {} }, - eventRemoveBlock: { type: Function, default: () => {} }, + onUpdate: { type: Function, default: () => {} }, + onAppendBlock: { type: Function, default: () => {} }, + onRemoveSelf: { type: Function, default: () => {} }, + onActivateNext: { type: Function, default: () => {} }, + onActivatePrevious: { type: Function, default: () => {} }, }, setup(props: ParagraphProps) { @@ -98,7 +102,7 @@ export default defineComponent({ })); const setAlignment = ($event: Event) => { - props.eventUpdate({ + props.onUpdate({ value: localData.value, align: ($event.target as HTMLSelectElement).value, }); @@ -111,16 +115,16 @@ export default defineComponent({ const onBlur = () => { localData.focused = false; - props.eventUpdate({ + props.onUpdate({ value: localData.value, align: localData.align, }); }; const onKeydown = ($event: KeyboardEvent) => { - if (props.eventAppendBlock && $event.key === 'Enter' && !$event.shiftKey) { + if ($event.key === 'Enter' && !$event.shiftKey) { const blockId = `${+(new Date())}`; - props.eventAppendBlock({ + props.onAppendBlock({ blockId, name: 'sb-paragraph', data: getDefaultData(), @@ -133,8 +137,23 @@ export default defineComponent({ }; const onKeyup = ($event: KeyboardEvent) => { - if (props.eventRemoveBlock && $event.key === 'Backspace' && localData.value === '') { - props.eventRemoveBlock(); + if ($event.key === 'Backspace' && localData.value === '') { + props.onRemoveSelf(); + } + + const selection = window.getSelection(); + const node = selection.focusNode; + const childNodes = Array.from(inputEl.value.childNodes); + const index = childNodes.indexOf(node); + if (node === inputEl.value || index === 0 || index === childNodes.length -1) { + switch ($event.key) { + case 'ArrowDown': + props.onActivateNext(); + break; + case 'ArrowUp': + props.onActivatePrevious(); + break; + } } }; diff --git a/src/App.tsx b/src/App.tsx index 0f31c02..2bd8549 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,12 +8,10 @@ import { import { Schlechtenburg, Block, SbMode } from '../packages/core/lib'; -/* +import SbLayout from '../packages/layout/lib'; import SbHeading from '../packages/heading/lib'; import SbParagraph from '../packages/paragraph/lib'; import SbImage from '../packages/image/lib'; - */ -import SbLayout from '../packages/layout/lib'; import './App.scss'; @@ -41,16 +39,14 @@ export default defineComponent({ case SbMode.Edit: return ) => { + onUpdate={(newBlock: Block) => { block.data = newBlock.data; }} customBlocks={[ SbLayout, - /* SbHeading, SbImage, SbParagraph, - */ ]} key="edit" mode="edit" @@ -67,7 +63,6 @@ export default defineComponent({ }); return () => { - console.log('render App'); return
- {context.slots.default()} + {context.slots.default?.()}
); diff --git a/packages/core/lib/components/TreeBlockSelect.tsx b/packages/core/lib/components/TreeBlockSelect.tsx index f4c985d..1cb2bbc 100644 --- a/packages/core/lib/components/TreeBlockSelect.tsx +++ b/packages/core/lib/components/TreeBlockSelect.tsx @@ -1,11 +1,5 @@ -import { - defineComponent, - PropType, -} from 'vue'; -import { - Block, - BlockTree, -} from '../blocks'; +import { defineComponent } from 'vue'; +import { TreeNode } from '../types'; import { useBlockTree } from '../use-block-tree'; import { useActivation } from '../use-activation'; @@ -14,10 +8,6 @@ import { SbButton } from './Button'; import './TreeBlockSelect.scss'; -interface TreeBlockSelectProps { - block: Block; -} - export const SbTreeBlockSelect = defineComponent({ name: 'sb-main-menu', @@ -28,7 +18,7 @@ export const SbTreeBlockSelect = defineComponent({ activeBlockId, } = useActivation(); - const treeToHtml = (tree: BlockTree, close: Function) =>
  • activate(tree.id)} + onMouseenter={() => activate(tree.id)} >{tree.name} - {tree.children.length + {tree.children?.length ?
      - {tree.children.map((child: BlockTree) => treeToHtml(child, close))} + {tree.children?.map((child: TreeNode) => treeToHtml(child, close))}
    : null } @@ -55,10 +45,10 @@ export const SbTreeBlockSelect = defineComponent({ ? Tree, - default: ({ close }) =>
      Tree, + default: ({ close }: { close: Function }) =>
        {treeToHtml(blockTree.value, close)}
      , + >{treeToHtml(blockTree.value as TreeNode, close)}
    , }} /> : '' diff --git a/packages/core/lib/id.ts b/packages/core/lib/id.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/core/lib/index.ts b/packages/core/lib/index.ts index e821976..a354c90 100644 --- a/packages/core/lib/index.ts +++ b/packages/core/lib/index.ts @@ -1,5 +1,7 @@ export * from './mode'; -export * from './blocks'; +export * from './types'; + +export * from './block-helpers'; export * from './use-activation'; export * from './use-dynamic-blocks'; diff --git a/packages/core/lib/types.d.ts b/packages/core/lib/types.d.ts new file mode 100644 index 0000000..c1b185c --- /dev/null +++ b/packages/core/lib/types.d.ts @@ -0,0 +1,8 @@ +/* +import {HTMLAttributes} from "vue"; + +interface DialogHTMLAttributes extends HTMLAttributes { + open?: boolean; + onClose?: Function; +} +*/ diff --git a/packages/core/lib/types.ts b/packages/core/lib/types.ts new file mode 100644 index 0000000..293596f --- /dev/null +++ b/packages/core/lib/types.ts @@ -0,0 +1,37 @@ +import { Component } from 'vue'; + +export interface TreeNode { + id: string; + name: string; + icon?: string; + children: TreeNode[]; +} + +export interface BlockData { + id: string; + name: string; + data: T; +} + +export interface BlockProps { + blockId: string; + data?: T, + onUpdate?: (b?: BlockData) => void; + onPrependBlock?: (b?: BlockData) => void; + onAppendBlock?: (b?: BlockData) => void; + onRemoveSelf?: () => void; + onActivateNext?: () => void; + onActivatePrevious?: () => void; +} + +export interface BlockDefinition { + name: string; + icon?: string; + getDefaultData: T; + edit: Component>; + display: Component>; +} + +export interface BlockLibrary { + [name: string]: BlockDefinition; +} diff --git a/packages/core/lib/use-activation.ts b/packages/core/lib/use-activation.ts index 37d1778..616b66d 100644 --- a/packages/core/lib/use-activation.ts +++ b/packages/core/lib/use-activation.ts @@ -5,9 +5,9 @@ import { computed, } from 'vue'; -export const ActiveBlock = Symbol('Schlechtenburg active block'); -export function useActivation(currentBlockId?: string) { - const activeBlockId: Ref = inject(ActiveBlock, ref(null)); +export const SymActiveBlock = Symbol('Schlechtenburg active block'); +export function useActivation(currentBlockId: string|null = null) { + const activeBlockId: Ref = inject(SymActiveBlock, ref(null)); const isActive = computed(() => activeBlockId.value === currentBlockId); const activate = (id?: string|null) => { activeBlockId.value = id !== undefined ? id : currentBlockId; diff --git a/packages/core/lib/use-block-tree.ts b/packages/core/lib/use-block-tree.ts index d9702b2..3d52abe 100644 --- a/packages/core/lib/use-block-tree.ts +++ b/packages/core/lib/use-block-tree.ts @@ -1,4 +1,5 @@ import { + ref, Ref, reactive, inject, @@ -6,19 +7,19 @@ import { onUnmounted, } from 'vue'; import { - BlockTree, - Block, -} from './blocks'; + TreeNode, + BlockData, +} from './types'; -export const BlockTreeSym = Symbol('Schlechtenburg block tree'); -export const BlockTreeRegister = Symbol('Schlechtenburg block tree'); -export const BlockTreeUnregister = Symbol('Schlechtenburg block tree'); +export const SymBlockTree= Symbol('Schlechtenburg block tree'); +export const SymBlockTreeRegister = Symbol('Schlechtenburg block tree register'); +export const SymBlockTreeUnregister = Symbol('Schlechtenburg block tree unregister'); export function useBlockTree() { - const blockTree: Ref = inject(BlockTreeSym, null); - const registerWithParent = inject(BlockTreeRegister, (_: BlockTree) => {}); - const unregisterWithParent = inject(BlockTreeUnregister, (_: BlockTree) => {}); + const blockTree: Ref = inject(SymBlockTree, ref(null)); + const registerWithParent = inject(SymBlockTreeRegister, (_: TreeNode) => {}); + const unregisterWithParent = inject(SymBlockTreeUnregister, (_: TreeNode) => {}); - const self: BlockTree= reactive({ + const self: TreeNode = reactive({ id: '', name: '', icon: '', @@ -26,8 +27,8 @@ export function useBlockTree() { }); // Provide a registration function to child blocks - provide(BlockTreeRegister, (block: BlockTree) => { - if (self.children.find((child: BlockTree) => child.id === block.id)) { + provide(SymBlockTreeRegister, (block: TreeNode) => { + if (self.children.find((child: TreeNode) => child.id === block.id)) { return; } @@ -38,11 +39,11 @@ export function useBlockTree() { }); // Provide an unregistration function to child blocks - provide(BlockTreeUnregister, ({ id }: BlockTree) => { - self.children = self.children.filter((child: BlockTree) => child.id !== id); + provide(SymBlockTreeUnregister, ({ id }: TreeNode) => { + self.children = self.children.filter((child: TreeNode) => child.id !== id); }); - const register = (block: Block) => { + const register = (block: BlockData) => { if (!block.id) { throw new Error(`Cannot register a block without an id: ${JSON.stringify(block)}`); } diff --git a/packages/core/lib/use-dynamic-blocks.ts b/packages/core/lib/use-dynamic-blocks.ts index 8baf84e..e9b64ca 100644 --- a/packages/core/lib/use-dynamic-blocks.ts +++ b/packages/core/lib/use-dynamic-blocks.ts @@ -3,13 +3,13 @@ import { inject, reactive, } from 'vue'; -import { BlockLibraryDefinition } from './blocks'; +import { BlockLibrary } from './types'; import { Mode, SbMode } from './mode'; -export const BlockLibrary = Symbol('Schlechtenburg block library'); +export const SymBlockLibrary = Symbol('Schlechtenburg block library'); export function useDynamicBlocks() { const mode = inject(Mode, ref(SbMode.Edit)); - const customBlocks: BlockLibraryDefinition = inject(BlockLibrary, reactive({})); + const customBlocks: BlockLibrary = inject(SymBlockLibrary, reactive({})); const getBlock = (name: string) => customBlocks[name]; return { diff --git a/packages/core/lib/use-resize-observer.ts b/packages/core/lib/use-resize-observer.ts index 92c5721..b8e8728 100644 --- a/packages/core/lib/use-resize-observer.ts +++ b/packages/core/lib/use-resize-observer.ts @@ -1,3 +1,5 @@ +/// + import { Ref, ref, @@ -13,8 +15,8 @@ interface BlockRect { top: number; } -export const BlockDimensions = Symbol('Schlechtenburg block dimensions'); -export const EditorDimensions = Symbol('Schlechtenburg editor dimensions'); +export const SymBlockDimensions = Symbol('Schlechtenburg block dimensions'); +export const SymEditorDimensions = Symbol('Schlechtenburg editor dimensions'); export function useResizeObserver(el: Ref, symbol: symbol) { const dimensions: Ref = ref(null); provide(symbol, dimensions); @@ -47,8 +49,8 @@ export function useResizeObserver(el: Ref, symbol: symbol) { } export function useBlockSizing() { - const editorDimensions: Ref = inject(EditorDimensions, ref(null)); - const blockDimensions: Ref = inject(BlockDimensions, ref(null)); + const editorDimensions: Ref = inject(SymEditorDimensions, ref(null)); + const blockDimensions: Ref = inject(SymBlockDimensions, ref(null)); return { editorDimensions, blockDimensions }; } diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index badc72a..3dcbac6 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -24,6 +24,33 @@ "to-fast-properties": "^2.0.0" } }, + "@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", + "dev": true + }, + "@types/lodash-es": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.4.tgz", + "integrity": "sha512-BBz79DCJbD2CVYZH67MBeHZRX++HF+5p8Mo5MzjZi64Wac39S3diedJYHZtScbRVf4DjZyN6LzA0SB0zy+HSSQ==", + "dev": true, + "requires": { + "@types/lodash": "*" + } + }, + "@types/resize-observer-browser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.5.tgz", + "integrity": "sha512-8k/67Z95Goa6Lznuykxkfhq9YU3l1Qe6LNZmwde1u7802a3x8v44oq0j91DICclxatTr0rNnhXx7+VTIetSrSQ==", + "dev": true + }, + "@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, "@vue/compiler-core": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.4.tgz", @@ -88,14 +115,14 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash-es": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.20.tgz", - "integrity": "sha512-JD1COMZsq8maT6mnuz1UMV0jvYD0E0aUsSOdrr1/nAG3dhqQXwRRgeW0cSqH1U43INKcqxaiVIQNOUDld7gRDA==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "source-map": { "version": "0.6.1", @@ -107,6 +134,11 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, "vue": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.4.tgz", diff --git a/packages/core/package.json b/packages/core/package.json index 5cfa4c5..da8eb9a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,7 +21,13 @@ "url": "git@git.b12f.io:b12f/schlechtenburg.git" }, "dependencies": { - "vue": "^3.0.4", - "lodash-es": "^4.17.20" + "lodash-es": "^4.17.21", + "uuid": "^8.3.2", + "vue": "^3.0.4" + }, + "devDependencies": { + "@types/lodash-es": "^4.17.4", + "@types/resize-observer-browser": "^0.1.5", + "@types/uuid": "^8.3.0" } } diff --git a/packages/heading/lib/index.ts b/packages/heading/lib/index.ts index 411c700..f27e56c 100644 --- a/packages/heading/lib/index.ts +++ b/packages/heading/lib/index.ts @@ -1,8 +1,11 @@ import { defineAsyncComponent } from 'vue'; import { getDefaultData } from './util'; +export * from './util'; +export const name = 'sb-heading'; + export default { - name: 'sb-heading', + name, getDefaultData, edit: defineAsyncComponent(() => import('./edit')), display: defineAsyncComponent(() => import('./edit')), diff --git a/packages/image/lib/display.tsx b/packages/image/lib/display.tsx index 50269b6..79fadde 100644 --- a/packages/image/lib/display.tsx +++ b/packages/image/lib/display.tsx @@ -1,14 +1,11 @@ import { defineComponent, PropType } from 'vue'; import { model, - blockProps, SbBlock, } from '@schlechtenburg/core'; - import { getDefaultData, ImageData, - ImageProps, } from './util'; import './style.scss'; @@ -19,14 +16,13 @@ export default defineComponent({ model, props: { - ...blockProps, data: { type: (null as unknown) as PropType, default: getDefaultData, }, }, - setup(props: ImageProps) { + setup(props) { return () =>
    {} }, data: { type: (null as unknown) as PropType, @@ -36,7 +34,7 @@ export default defineComponent({ }, }, - setup(props: ImageProps) { + setup(props) { const localData = reactive({ src: props.data.src, alt: props.data.alt, @@ -61,8 +59,13 @@ export default defineComponent({ if (fileInput.value && fileInput.value.files && fileInput.value.files.length) { const reader = new FileReader(); reader.addEventListener('load', () => { + const src = reader?.result?.toString(); + if (!src) { + throw new Error('Couldn\'t load image src'); + } + props.onUpdate({ - src: reader.result, + src, alt: props.data.alt, description: props.data.description, }); @@ -72,7 +75,7 @@ export default defineComponent({ } }; - const onDescriptionUpdate = (description) => { + const onDescriptionUpdate = (description: BlockData) => { props.onUpdate({ ...props.data, description, @@ -83,7 +86,7 @@ export default defineComponent({
    {localData.src - ? Change Image + ? Select Image : null} onDescriptionUpdate(updated)} + onUpdate={(updated: BlockData) => onDescriptionUpdate(updated)} /> - : Select Image} + : Select Image + }
    ); }, diff --git a/packages/image/lib/index.ts b/packages/image/lib/index.ts index 8102655..fab01f8 100644 --- a/packages/image/lib/index.ts +++ b/packages/image/lib/index.ts @@ -1,10 +1,12 @@ import { defineAsyncComponent } from 'vue'; import { getDefaultData } from './util'; +export * from './util'; +export const name = 'sb-image'; + export default { - name: 'sb-image', + name, getDefaultData, edit: defineAsyncComponent(() => import('./edit')), display: defineAsyncComponent(() => import('./display')), - getChildren: (block) => [ block.data.description ], }; diff --git a/packages/image/lib/util.ts b/packages/image/lib/util.ts index c2b5022..8601a6a 100644 --- a/packages/image/lib/util.ts +++ b/packages/image/lib/util.ts @@ -1,22 +1,25 @@ import { + BlockData, + generateBlockId, +} from '@schlechtenburg/core'; +import { + name as paragraphName, ParagraphData, getDefaultData as getDefaultParagraphData } from '@schlechtenburg/paragraph'; -import { BlockData, BlockProps } from '/@/blocks'; export interface ImageData { src: string; alt: string; - description: ParagraphData; -} - -export interface ImageProps extends BlockProps { - data: ImageData; - eventUpdate: (b?: BlockData) => void; + description: BlockData; } export const getDefaultData: () => ImageData = () => ({ src: '', alt: '', - description: getDefaultParagraphData(), + description: { + id: generateBlockId(), + name: paragraphName, + data: getDefaultParagraphData(), + }, }); diff --git a/packages/image/package-lock.json b/packages/image/package-lock.json index 46d141a..ae7fc68 100644 --- a/packages/image/package-lock.json +++ b/packages/image/package-lock.json @@ -102,6 +102,11 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, "vue": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.4.tgz", diff --git a/packages/layout/lib/display.tsx b/packages/layout/lib/display.tsx index 73cd1f0..2c41f91 100644 --- a/packages/layout/lib/display.tsx +++ b/packages/layout/lib/display.tsx @@ -5,13 +5,10 @@ import { } from 'vue'; import { model, - blockProps, SbBlock, } from '@schlechtenburg/core'; - import { LayoutData, - LayoutProps, getDefaultData, } from './util'; @@ -23,14 +20,13 @@ export default defineComponent({ model, props: { - ...blockProps, data: { type: (null as unknown) as PropType, default: getDefaultData, }, }, - setup(props: LayoutProps) { + setup(props) { const classes = computed(() => ({ 'sb-layout': true, [`sb-layout_${props.data.orientation}`]: true, diff --git a/packages/layout/lib/edit.tsx b/packages/layout/lib/edit.tsx index 4ae937d..8700665 100644 --- a/packages/layout/lib/edit.tsx +++ b/packages/layout/lib/edit.tsx @@ -7,8 +7,7 @@ import { } from 'vue'; import { model, - Block, - blockProps, + BlockData, useActivation, SbBlock, @@ -20,7 +19,6 @@ import { import { LayoutData, - LayoutProps, getDefaultData, } from './util'; @@ -32,7 +30,6 @@ export default defineComponent({ model, props: { - ...blockProps, onUpdate: { type: Function, default: () => {} }, data: { type: (null as unknown) as PropType, @@ -40,8 +37,8 @@ export default defineComponent({ }, }, - setup(props: LayoutProps) { - const { activate } = useActivation(props.id); + setup(props) { + const { activate } = useActivation(); const localData: LayoutData = reactive({ orientation: props.data.orientation, @@ -59,13 +56,12 @@ export default defineComponent({ })); const toggleOrientation = () => { - console.log('toggle'); props.onUpdate({ orientation: localData.orientation === 'vertical' ? 'horizontal' : 'vertical', }); }; - const onChildUpdate = (child: Block, updated: Block) => { + const onChildUpdate = (child: BlockData, updated: BlockData) => { const index = localData.children.indexOf(child); if (index === -1) { return; @@ -82,7 +78,7 @@ export default defineComponent({ }); }; - const appendBlock = (block: Block) => { + const appendBlock = (block: BlockData) => { localData.children = [ ...localData.children, block, @@ -91,7 +87,7 @@ export default defineComponent({ activate(block.id); }; - const insertBlock = (index: number, block: Block) => { + const insertBlock = (index: number, block: BlockData) => { localData.children = [ ...localData.children.slice(0, index + 1), block, @@ -162,8 +158,10 @@ export default defineComponent({
    {localData.orientation} @@ -172,12 +170,12 @@ export default defineComponent({ {...{ key: child.id }} data-order={index} block={child} - onUpdate={(updated: Block) => onChildUpdate(child, updated)} + onUpdate={(updated: BlockData) => onChildUpdate(child, updated)} onRemoveSelf={() => removeBlock(index)} - onPrependBlock={(block: Block) => insertBlock(index - 1, block)} - onAppendBlock={(block: Block) => insertBlock(index, block)} - onActivatePrevious={(block: Block) => activateBlock(index - 1,)} - onActivateNext={(block: Block) => activateBlock(index + 1,)} + onPrependBlock={(block: BlockData) => insertBlock(index - 1, block)} + onAppendBlock={(block: BlockData) => insertBlock(index, block)} + onActivatePrevious={() => activateBlock(index - 1,)} + onActivateNext={() => activateBlock(index + 1,)} > {{ 'context-toolbar': () => @@ -185,7 +183,7 @@ export default defineComponent({ onMoveBackward={() => moveBackward(index)} onMoveForward={() => moveForward(index)} onRemove={() => removeBlock(index)} - sortable={props.sortable} + orientation={localData.orientation} />, }} diff --git a/packages/layout/lib/index.ts b/packages/layout/lib/index.ts index f8225c8..865de82 100644 --- a/packages/layout/lib/index.ts +++ b/packages/layout/lib/index.ts @@ -1,8 +1,11 @@ import { defineAsyncComponent } from 'vue'; import { getDefaultData } from './util'; +export * from './util'; +export const name = 'sb-layout'; + export default { - name: 'sb-layout', + name, getDefaultData, edit: defineAsyncComponent(() => import('./edit')), display: defineAsyncComponent(() => import('./display')), diff --git a/packages/layout/lib/util.ts b/packages/layout/lib/util.ts index f9b0ea9..d2757f7 100644 --- a/packages/layout/lib/util.ts +++ b/packages/layout/lib/util.ts @@ -1,17 +1,8 @@ -import { - BlockProps, - Block, - BlockData, -} from '/@/blocks'; +import { BlockData } from '@schlechtenburg/core'; export interface LayoutData { orientation: string; - children: Block[]; -} - -export interface LayoutProps extends BlockProps { - data: LayoutData; - eventUpdate: (b?: BlockData) => void; + children: BlockData[]; } export const getDefaultData: () => LayoutData = () => ({ diff --git a/packages/paragraph/lib/display.tsx b/packages/paragraph/lib/display.tsx index c94186f..1e6e3e7 100644 --- a/packages/paragraph/lib/display.tsx +++ b/packages/paragraph/lib/display.tsx @@ -5,10 +5,7 @@ import { } from 'vue'; import { model, - blockProps, - BlockProps, } from '@schlechtenburg/core'; - import { getDefaultData, ParagraphData, @@ -16,24 +13,19 @@ import { import './style.scss'; -interface ParagraphProps extends BlockProps { - data: ParagraphData; -} - export default defineComponent({ name: 'sb-paragraph-display', model, props: { - ...blockProps, data: { type: Object as PropType, default: getDefaultData, }, }, - setup(props: ParagraphProps) { + setup(props) { const classes = computed(() => ({ 'sb-paragraph': true, [`sb-paragraph_align-${props.data.align}`]: true, diff --git a/packages/paragraph/lib/edit.tsx b/packages/paragraph/lib/edit.tsx index 47dc24b..1e139c0 100644 --- a/packages/paragraph/lib/edit.tsx +++ b/packages/paragraph/lib/edit.tsx @@ -10,15 +10,10 @@ import { } from 'vue'; import { model, - blockProps, - BlockProps, - BlockData, useActivation, - SbToolbar, SbSelect, } from '@schlechtenburg/core'; - import { getDefaultData, ParagraphData, @@ -26,22 +21,13 @@ import { import './style.scss'; -interface ParagraphProps extends BlockProps { - data: ParagraphData; - onUpdate: (b?: ParagraphData) => void; - onAppendBlock: (b?: BlockData) => void; - onRemoveSelf: () => void; - onActivateNext: () => void; - onActivatePrevious: () => void; -} - export default defineComponent({ name: 'sb-paragraph-edit', model, props: { - ...blockProps, + blockId: { type: String, required: true }, data: { type: (null as unknown) as PropType, default: getDefaultData, @@ -53,7 +39,7 @@ export default defineComponent({ onActivatePrevious: { type: Function, default: () => {} }, }, - setup(props: ParagraphProps) { + setup(props) { const localData = (reactive({ value: props.data.value, align: props.data.align, @@ -91,7 +77,7 @@ export default defineComponent({ } }); - const onTextUpdate = ($event: InputEvent) => { + const onTextUpdate = ($event: Event) => { localData.value = ($event.target as HTMLElement).innerHTML; }; @@ -142,9 +128,9 @@ export default defineComponent({ } const selection = window.getSelection(); - const node = selection.focusNode; - const childNodes = Array.from(inputEl.value.childNodes); - const index = childNodes.indexOf(node); + const node = selection?.focusNode; + const childNodes = Array.from(inputEl?.value?.childNodes || []); + const index = node ? childNodes.indexOf(node as ChildNode) : -1; if (node === inputEl.value || index === 0 || index === childNodes.length -1) { switch ($event.key) { case 'ArrowDown': @@ -161,8 +147,10 @@ export default defineComponent({
    diff --git a/packages/paragraph/lib/index.ts b/packages/paragraph/lib/index.ts index 6b29c3e..36da411 100644 --- a/packages/paragraph/lib/index.ts +++ b/packages/paragraph/lib/index.ts @@ -2,9 +2,10 @@ import { defineAsyncComponent } from 'vue'; import { getDefaultData } from './util'; export * from './util'; +export const name = 'sb-paragraph'; export default { - name: 'sb-paragraph', + name, getDefaultData, edit: defineAsyncComponent(() => import('./edit')), display: defineAsyncComponent(() => import('./display')), diff --git a/src/App.tsx b/src/App.tsx index 637a103..92ed29c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,7 +6,7 @@ import { ref, } from 'vue'; -import { Schlechtenburg, Block, SbMode } from '../packages/core/lib'; +import { SbMain, BlockData, SbMode } from '../packages/core/lib'; import SbLayout from '../packages/layout/lib'; import SbHeading from '../packages/heading/lib'; @@ -20,7 +20,7 @@ export default defineComponent({ setup() { const activeTab = ref('edit'); - const block: Block = reactive({ + const block: BlockData = reactive({ name: 'none', id: '0', data: null, @@ -34,12 +34,12 @@ export default defineComponent({ block.data = data.data; }); - const Example = computed(() => { + const displayedElement = computed(() => { switch (activeTab.value) { case SbMode.Edit: - return ) => { + onUpdate={(newBlock: BlockData) => { block.data = newBlock.data; }} customBlocks={[ @@ -52,7 +52,7 @@ export default defineComponent({ mode={SbMode.Edit} />; case SbMode.Display: - return display - + {displayedElement.value}
    ; }; }, diff --git a/tsconfig.json b/tsconfig.json index 074bea3..6d3a4da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,5 +12,14 @@ // "noErrorTruncation": true, "paths": {} }, - "include": [ "lib/**/*.ts", "lib/**/*.d.ts", "lib/**/*.tsx", "lib/**/*.vue" ] + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue", + "packages/**/lib/**/*.ts", + "packages/**lib/**/*.d.ts", + "packages/**lib/**/*.tsx", + "packages/**lib/**/*.vue" + ] } diff --git a/vite.config.js b/vite.config.js index a5a9c6e..cee531e 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,7 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; export default { - base: '/schlechtenburg/', + base: './', plugins: [ vueJsx({}), ], -- 2.44.2 From c5c32be397d65df7640fecd700a86562517864e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Mon, 8 Mar 2021 16:30:56 +0100 Subject: [PATCH 10/57] Hack typing fix --- packages/core/lib/components/Schlechtenburg.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/lib/components/Schlechtenburg.tsx b/packages/core/lib/components/Schlechtenburg.tsx index b3223bb..d380f29 100644 --- a/packages/core/lib/components/Schlechtenburg.tsx +++ b/packages/core/lib/components/Schlechtenburg.tsx @@ -53,7 +53,7 @@ export const SbMain = defineComponent({ }, }, - setup(props) { // TODO: why does the typing of props not work here? + setup(props: any) { // TODO: why does the typing of props not work here? const el: Ref = ref(null); useResizeObserver(el, SymEditorDimensions); -- 2.44.2 From 99320b77e253fd3e267defba5be57ff3d804659a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Mon, 8 Mar 2021 16:32:00 +0100 Subject: [PATCH 11/57] Update data import --- docs/assets/{display.8a67d4c4.js => display.093b30ed.js} | 2 +- docs/assets/display.59646631.js | 1 + docs/assets/{display.65dc313e.js => display.67d272a4.js} | 2 +- docs/assets/{display.9a74f321.js => display.a0a80010.js} | 2 +- docs/assets/display.e17abc85.js | 1 - docs/assets/{edit.fbd6e1aa.js => edit.0be4ff4d.js} | 2 +- docs/assets/{edit.25f6c7d7.js => edit.2b327d35.js} | 2 +- docs/assets/{edit.1f668f17.js => edit.680bd77a.js} | 2 +- docs/assets/{index.be3c5d52.js => index.7f5b9510.js} | 2 +- docs/index.html | 2 +- src/App.tsx | 2 +- 11 files changed, 10 insertions(+), 10 deletions(-) rename docs/assets/{display.8a67d4c4.js => display.093b30ed.js} (51%) create mode 100644 docs/assets/display.59646631.js rename docs/assets/{display.65dc313e.js => display.67d272a4.js} (68%) rename docs/assets/{display.9a74f321.js => display.a0a80010.js} (85%) delete mode 100644 docs/assets/display.e17abc85.js rename docs/assets/{edit.fbd6e1aa.js => edit.0be4ff4d.js} (61%) rename docs/assets/{edit.25f6c7d7.js => edit.2b327d35.js} (96%) rename docs/assets/{edit.1f668f17.js => edit.680bd77a.js} (78%) rename docs/assets/{index.be3c5d52.js => index.7f5b9510.js} (90%) diff --git a/docs/assets/display.8a67d4c4.js b/docs/assets/display.093b30ed.js similarity index 51% rename from docs/assets/display.8a67d4c4.js rename to docs/assets/display.093b30ed.js index 2435d93..0474177 100644 --- a/docs/assets/display.8a67d4c4.js +++ b/docs/assets/display.093b30ed.js @@ -1 +1 @@ -import{y as a,m as s,z as e,D as t,e as l}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var d=a({name:"sb-image-display",model:s,props:{data:{type:null,default:e}},setup:a=>()=>t("figure",{class:"sb-image"},[t("img",{class:"sb-image__content",src:a.data.src,alt:a.data.alt},null),t(l,{block:a.data.description},null)])});export default d; +import{y as a,m as s,z as e,D as t,e as l}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var i=a({name:"sb-image-display",model:s,props:{data:{type:null,default:e}},setup:a=>()=>t("figure",{class:"sb-image"},[t("img",{class:"sb-image__content",src:a.data.src,alt:a.data.alt},null),t(l,{block:a.data.description},null)])});export default i; diff --git a/docs/assets/display.59646631.js b/docs/assets/display.59646631.js new file mode 100644 index 0000000..0b59839 --- /dev/null +++ b/docs/assets/display.59646631.js @@ -0,0 +1 @@ +import{j as a,m as s,k as r,q as p,s as e,x as t}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var l=a({name:"sb-paragraph-display",model:s,props:{data:{type:Object,default:r}},setup(a){const s=p((()=>({"sb-paragraph":!0,[`sb-paragraph_align-${a.data.align}`]:!0})));return()=>e("p",t({class:s.value},{innerHTML:a.data.value}),null)}});export default l; diff --git a/docs/assets/display.65dc313e.js b/docs/assets/display.67d272a4.js similarity index 68% rename from docs/assets/display.65dc313e.js rename to docs/assets/display.67d272a4.js index 4055bcd..5f5f89b 100644 --- a/docs/assets/display.65dc313e.js +++ b/docs/assets/display.67d272a4.js @@ -1 +1 @@ -import{d as a,m as s,g as t,c as e,a as l,e as o}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var d=a({name:"sb-layout-display",model:s,props:{data:{type:null,default:t}},setup(a){const s=e((()=>({"sb-layout":!0,[`sb-layout_${a.data.orientation}`]:!0})));return()=>l("div",{class:s.value},[...a.data.children.map((a=>l(o,{key:a.id,block:a},null)))])}});export default d; +import{d as a,m as s,g as t,c as e,a as l,e as o}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var d=a({name:"sb-layout-display",model:s,props:{data:{type:null,default:t}},setup(a){const s=e((()=>({"sb-layout":!0,[`sb-layout_${a.data.orientation}`]:!0})));return()=>l("div",{class:s.value},[...a.data.children.map((a=>l(o,{key:a.id,block:a},null)))])}});export default d; diff --git a/docs/assets/display.9a74f321.js b/docs/assets/display.a0a80010.js similarity index 85% rename from docs/assets/display.9a74f321.js rename to docs/assets/display.a0a80010.js index 8b94c21..2d18522 100644 --- a/docs/assets/display.9a74f321.js +++ b/docs/assets/display.a0a80010.js @@ -1 +1 @@ -var e=Object.assign;import{G as t,m as n,H as a,I as s,J as l}from"./index.be3c5d52.js";import"./vendor.9babb3f5.js";var o=t({name:"sb-missing-block",model:n,props:e(e({},a),{name:String,data:{type:null,default:null},eventUpdate:{type:Function,default:()=>{}},eventAppendBlock:{type:Function,default:()=>{}},eventRemoveBlock:{type:Function,default:()=>{}}}),setup:e=>()=>s("div",{class:"sb-missing-block"},[l("Missing block: "),e.name])});export default o; +var e=Object.assign;import{G as t,m as n,H as a,I as s,J as l}from"./index.7f5b9510.js";import"./vendor.9babb3f5.js";var o=t({name:"sb-missing-block",model:n,props:e(e({},a),{name:String,data:{type:null,default:null},eventUpdate:{type:Function,default:()=>{}},eventAppendBlock:{type:Function,default:()=>{}},eventRemoveBlock:{type:Function,default:()=>{}}}),setup:e=>()=>s("div",{class:"sb-missing-block"},[l("Missing block: "),e.name])});export default o; diff --git a/docs/assets/display.e17abc85.js b/docs/assets/display.e17abc85.js deleted file mode 100644 index 181be8d..0000000 --- a/docs/assets/display.e17abc85.js +++ /dev/null @@ -1 +0,0 @@ -import{j as a,m as s,k as r,q as e,s as p,x as t}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var l=a({name:"sb-paragraph-display",model:s,props:{data:{type:Object,default:r}},setup(a){const s=e((()=>({"sb-paragraph":!0,[`sb-paragraph_align-${a.data.align}`]:!0})));return()=>p("p",t({class:s.value},{innerHTML:a.data.value}),null)}});export default l; diff --git a/docs/assets/edit.fbd6e1aa.js b/docs/assets/edit.0be4ff4d.js similarity index 61% rename from docs/assets/edit.fbd6e1aa.js rename to docs/assets/edit.0be4ff4d.js index 91ab641..d5936cb 100644 --- a/docs/assets/edit.fbd6e1aa.js +++ b/docs/assets/edit.0be4ff4d.js @@ -1 +1 @@ -var a=Object.assign;import{y as e,m as t,z as l,A as s,B as n,C as i,D as d,S as r,b as o,E as c,F as u,e as p}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var v=e({name:"sb-image-edit",model:t,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:l}},setup(e){const t=s({src:e.data.src,alt:e.data.alt,description:e.data.description}),l=n(null);i((()=>e.data),(()=>{t.src=e.data.src,t.alt=e.data.alt,t.description=e.data.description}));const v=()=>{l.value&&l.value.click()},f=()=>{if(l.value&&l.value.files&&l.value.files.length){const a=new FileReader;a.addEventListener("load",(()=>{var t;const l=null==(t=null==a?void 0:a.result)?void 0:t.toString();if(!l)throw new Error("Couldn't load image src");e.onUpdate({src:l,alt:e.data.alt,description:e.data.description})})),a.readAsDataURL(l.value.files[0])}};return()=>d("figure",{class:"sb-image"},[d(r,null,{default:()=>[t.src?d(o,{"onClick:value":v},{default:()=>[c("Select Image")]}):null,d("input",{type:"file",ref:l,style:"display: none;",onInput:f},null)]}),t.src?d(u,null,[d("img",{src:t.src,alt:t.alt,class:"sb-image__content"},null),d(p,{block:t.description,onUpdate:t=>{return l=t,void e.onUpdate(a(a({},e.data),{description:l}));var l}},null)]):d(o,{"onClick:value":v},{default:()=>[c("Select Image")]})])}});export default v; +var a=Object.assign;import{y as e,m as t,z as l,A as s,B as n,C as i,D as d,S as r,b as o,E as c,F as u,e as p}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var f=e({name:"sb-image-edit",model:t,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:l}},setup(e){const t=s({src:e.data.src,alt:e.data.alt,description:e.data.description}),l=n(null);i((()=>e.data),(()=>{t.src=e.data.src,t.alt=e.data.alt,t.description=e.data.description}));const f=()=>{l.value&&l.value.click()},v=()=>{if(l.value&&l.value.files&&l.value.files.length){const a=new FileReader;a.addEventListener("load",(()=>{var t;const l=null==(t=null==a?void 0:a.result)?void 0:t.toString();if(!l)throw new Error("Couldn't load image src");e.onUpdate({src:l,alt:e.data.alt,description:e.data.description})})),a.readAsDataURL(l.value.files[0])}};return()=>d("figure",{class:"sb-image"},[d(r,null,{default:()=>[t.src?d(o,{"onClick:value":f},{default:()=>[c("Select Image")]}):null,d("input",{type:"file",ref:l,style:"display: none;",onInput:v},null)]}),t.src?d(u,null,[d("img",{src:t.src,alt:t.alt,class:"sb-image__content"},null),d(p,{block:t.description,onUpdate:t=>{return l=t,void e.onUpdate(a(a({},e.data),{description:l}));var l}},null)]):d(o,{"onClick:value":f},{default:()=>[c("Select Image")]})])}});export default f; diff --git a/docs/assets/edit.25f6c7d7.js b/docs/assets/edit.2b327d35.js similarity index 96% rename from docs/assets/edit.25f6c7d7.js rename to docs/assets/edit.2b327d35.js index 8c1de00..5d164ba 100644 --- a/docs/assets/edit.25f6c7d7.js +++ b/docs/assets/edit.2b327d35.js @@ -1 +1 @@ -import{j as a,m as e,k as n,l as t,n as l,u as o,o as u,p as i,q as s,s as r,S as d,t as p,v}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var c=a({name:"sb-paragraph-edit",model:e,props:{blockId:{type:String,required:!0},data:{type:null,default:n},onUpdate:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}}},setup(a){const e=t({value:a.data.value,align:a.data.align,focused:!1}),c=l(null),{isActive:f,activate:g}=o(a.blockId),b=()=>{c.value&&f.value&&c.value.focus()};u((()=>{b(),c.value&&(c.value.innerHTML=e.value)})),i(f,b),i((()=>a.data),(()=>{e.value=a.data.value,e.align=a.data.align,c.value&&(c.value.innerHTML=e.value)}));const y=a=>{e.value=a.target.innerHTML},h=s((()=>({"sb-paragraph":!0,"sb-paragraph_focused":e.focused,[`sb-paragraph_align-${e.align}`]:!0}))),m=n=>{a.onUpdate({value:e.value,align:n.target.value})},k=()=>{e.focused=!0,g()},A=()=>{e.focused=!1,a.onUpdate({value:e.value,align:e.align})},w=e=>{if("Enter"===e.key&&!e.shiftKey){const t=""+ +new Date;a.onAppendBlock({id:t,name:"sb-paragraph",data:n()}),g(t),e.preventDefault()}},F=n=>{var t;"Backspace"===n.key&&""===e.value&&a.onRemoveSelf();const l=window.getSelection(),o=null==l?void 0:l.focusNode,u=Array.from((null==(t=null==c?void 0:c.value)?void 0:t.childNodes)||[]),i=o?u.indexOf(o):-1;if(o===c.value||0===i||i===u.length-1)switch(n.key){case"ArrowDown":a.onActivateNext();break;case"ArrowUp":a.onActivatePrevious()}};return()=>r("div",{class:h.value},[r(d,null,{default:()=>[r(p,{value:e.align,onChange:m},{default:()=>[r("option",null,[v("left")]),r("option",null,[v("center")]),r("option",null,[v("right")])]})]}),r("p",{class:"sb-paragraph__input",ref:c,contenteditable:!0,onInput:y,onFocus:k,onBlur:A,onKeydown:w,onKeyup:F},null)])}});export default c; +import{j as a,m as e,k as n,l as t,n as l,u as o,o as u,p as i,q as s,s as r,S as d,t as p,v}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var c=a({name:"sb-paragraph-edit",model:e,props:{blockId:{type:String,required:!0},data:{type:null,default:n},onUpdate:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}}},setup(a){const e=t({value:a.data.value,align:a.data.align,focused:!1}),c=l(null),{isActive:f,activate:g}=o(a.blockId),b=()=>{c.value&&f.value&&c.value.focus()};u((()=>{b(),c.value&&(c.value.innerHTML=e.value)})),i(f,b),i((()=>a.data),(()=>{e.value=a.data.value,e.align=a.data.align,c.value&&(c.value.innerHTML=e.value)}));const y=a=>{e.value=a.target.innerHTML},h=s((()=>({"sb-paragraph":!0,"sb-paragraph_focused":e.focused,[`sb-paragraph_align-${e.align}`]:!0}))),m=n=>{a.onUpdate({value:e.value,align:n.target.value})},k=()=>{e.focused=!0,g()},A=()=>{e.focused=!1,a.onUpdate({value:e.value,align:e.align})},w=e=>{if("Enter"===e.key&&!e.shiftKey){const t=""+ +new Date;a.onAppendBlock({id:t,name:"sb-paragraph",data:n()}),g(t),e.preventDefault()}},F=n=>{var t;"Backspace"===n.key&&""===e.value&&a.onRemoveSelf();const l=window.getSelection(),o=null==l?void 0:l.focusNode,u=Array.from((null==(t=null==c?void 0:c.value)?void 0:t.childNodes)||[]),i=o?u.indexOf(o):-1;if(o===c.value||0===i||i===u.length-1)switch(n.key){case"ArrowDown":a.onActivateNext();break;case"ArrowUp":a.onActivatePrevious()}};return()=>r("div",{class:h.value},[r(d,null,{default:()=>[r(p,{value:e.align,onChange:m},{default:()=>[r("option",null,[v("left")]),r("option",null,[v("center")]),r("option",null,[v("right")])]})]}),r("p",{class:"sb-paragraph__input",ref:c,contenteditable:!0,onInput:y,onFocus:k,onBlur:A,onKeydown:w,onKeyup:F},null)])}});export default c; diff --git a/docs/assets/edit.1f668f17.js b/docs/assets/edit.680bd77a.js similarity index 78% rename from docs/assets/edit.1f668f17.js rename to docs/assets/edit.680bd77a.js index 5a3ee47..4d83d85 100644 --- a/docs/assets/edit.1f668f17.js +++ b/docs/assets/edit.680bd77a.js @@ -1 +1 @@ -var e=Object.assign;import{d as n,m as i,g as t,u as l,r as a,w as d,c as r,a as c,S as o,b as h,e as s,f as p,h as u,i as v}from"./index.be3c5d52.js";/* empty css */import"./vendor.9babb3f5.js";var f=n({name:"sb-layout-edit",model:i,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:t}},setup(n){const{activate:i}=l(),t=a({orientation:n.data.orientation,children:[...n.data.children]});d((()=>n.data),(()=>{t.orientation=n.data.orientation,t.children=[...n.data.children]}));const f=r((()=>({"sb-layout":!0,[`sb-layout_${t.orientation}`]:!0}))),m=()=>{n.onUpdate({orientation:"vertical"===t.orientation?"horizontal":"vertical"})},b=e=>{t.children=[...t.children,e],n.onUpdate({children:[...t.children]}),i(e.id)},U=(e,l)=>{t.children=[...t.children.slice(0,e+1),l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]}),i(l.id)},y=e=>{t.children=[...t.children.slice(0,e),...t.children.slice(e+1)],n.onUpdate({children:[...t.children]});const l=Math.max(e-1,0);i(t.children[l].id)},k=e=>{const n=Math.max(Math.min(t.children.length-1,e),0);i(t.children[n].id)};return()=>c("div",{class:f.value},[c(o,null,{default:()=>[c(h,{type:"button",onClick:m},{default:()=>[t.orientation]})]}),...t.children.map(((i,l)=>c(s,p({key:i.id},{"data-order":l,block:i,onUpdate:l=>((i,l)=>{const a=t.children.indexOf(i);-1!==a&&n.onUpdate({children:[...t.children.slice(0,a),e(e({},i),l),...t.children.slice(a+1)]})})(i,l),onRemoveSelf:()=>y(l),onPrependBlock:e=>U(l-1,e),onAppendBlock:e=>U(l,e),onActivatePrevious:()=>k(l-1),onActivateNext:()=>k(l+1)}),{"context-toolbar":()=>c(u,{onMoveBackward:()=>(e=>{if(0===e)return;const i=t.children[e],l=t.children[e-1];t.children=[...t.children.slice(0,e-1),i,l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]})})(l),onMoveForward:()=>(e=>{if(e===t.children.length-1)return;const i=t.children[e],l=t.children[e+1];t.children=[...t.children.slice(0,e),l,i,...t.children.slice(e+2)],n.onUpdate({children:[...t.children]})})(l),onRemove:()=>y(l),orientation:t.orientation},null)}))),c(v,{onInsertBlock:b},null)])}});export default f; +var e=Object.assign;import{d as n,m as i,g as t,u as l,r as a,w as d,c as r,a as o,S as c,b as h,e as s,f as p,h as u,i as v}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var f=n({name:"sb-layout-edit",model:i,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:t}},setup(n){const{activate:i}=l(),t=a({orientation:n.data.orientation,children:[...n.data.children]});d((()=>n.data),(()=>{t.orientation=n.data.orientation,t.children=[...n.data.children]}));const f=r((()=>({"sb-layout":!0,[`sb-layout_${t.orientation}`]:!0}))),m=()=>{n.onUpdate({orientation:"vertical"===t.orientation?"horizontal":"vertical"})},b=e=>{t.children=[...t.children,e],n.onUpdate({children:[...t.children]}),i(e.id)},U=(e,l)=>{t.children=[...t.children.slice(0,e+1),l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]}),i(l.id)},y=e=>{t.children=[...t.children.slice(0,e),...t.children.slice(e+1)],n.onUpdate({children:[...t.children]});const l=Math.max(e-1,0);i(t.children[l].id)},k=e=>{const n=Math.max(Math.min(t.children.length-1,e),0);i(t.children[n].id)};return()=>o("div",{class:f.value},[o(c,null,{default:()=>[o(h,{type:"button",onClick:m},{default:()=>[t.orientation]})]}),...t.children.map(((i,l)=>o(s,p({key:i.id},{"data-order":l,block:i,onUpdate:l=>((i,l)=>{const a=t.children.indexOf(i);-1!==a&&n.onUpdate({children:[...t.children.slice(0,a),e(e({},i),l),...t.children.slice(a+1)]})})(i,l),onRemoveSelf:()=>y(l),onPrependBlock:e=>U(l-1,e),onAppendBlock:e=>U(l,e),onActivatePrevious:()=>k(l-1),onActivateNext:()=>k(l+1)}),{"context-toolbar":()=>o(u,{onMoveBackward:()=>(e=>{if(0===e)return;const i=t.children[e],l=t.children[e-1];t.children=[...t.children.slice(0,e-1),i,l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]})})(l),onMoveForward:()=>(e=>{if(e===t.children.length-1)return;const i=t.children[e],l=t.children[e+1];t.children=[...t.children.slice(0,e),l,i,...t.children.slice(e+2)],n.onUpdate({children:[...t.children]})})(l),onRemove:()=>y(l),orientation:t.orientation},null)}))),o(v,{onInsertBlock:b},null)])}});export default f; diff --git a/docs/assets/index.be3c5d52.js b/docs/assets/index.7f5b9510.js similarity index 90% rename from docs/assets/index.be3c5d52.js rename to docs/assets/index.7f5b9510.js index ddb3b53..ed2d3a5 100644 --- a/docs/assets/index.be3c5d52.js +++ b/docs/assets/index.7f5b9510.js @@ -1 +1 @@ -var t=Object.assign;import{d as e,a as n,r as o,b as r,o as s,c as l,e as i,f as c,g as a}from"./vendor.9babb3f5.js";var u,f;!function(t=".",e="__import__"){try{self[e]=new Function("u","return import(u)")}catch(n){const o=new URL(t,location),r=t=>{URL.revokeObjectURL(t.src),t.remove()};self[e]=t=>new Promise(((n,s)=>{const l=new URL(t,o);if(self[e].moduleMap[l])return n(self[e].moduleMap[l]);const i=new Blob([`import * as m from '${l}';`,`${e}.moduleMap['${l}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(i),onerror(){s(new Error(`Failed to import: ${t}`)),r(c)},onload(){n(self[e].moduleMap[l]),r(c)}});document.head.appendChild(c)})),self[e].moduleMap={}}}("assets/"),(f=u||(u={})).Edit="edit",f.Display="display";const p=Symbol("Schlechtenburg mode");var d,h=new Uint8Array(16);function _(){if(!d&&!(d="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return d(h)}var v=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function g(t){return"string"==typeof t&&v.test(t)}for(var y=[],m=0;m<256;++m)y.push((m+256).toString(16).substr(1));const b=function(t,e,n){var o=(t=t||{}).random||(t.rng||_)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var r=0;r<16;++r)e[n+r]=o[r];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[t[e+0]]+y[t[e+1]]+y[t[e+2]]+y[t[e+3]]+"-"+y[t[e+4]]+y[t[e+5]]+"-"+y[t[e+6]]+y[t[e+7]]+"-"+y[t[e+8]]+y[t[e+9]]+"-"+y[t[e+10]]+y[t[e+11]]+y[t[e+12]]+y[t[e+13]]+y[t[e+14]]+y[t[e+15]]).toLowerCase();if(!g(n))throw TypeError("Stringified UUID is invalid");return n}(o)},w={prop:"block",event:"update"},k={blockId:{type:String,default:b}};function S(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const x=S("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function R(t){if(T(t)){const e={};for(let n=0;n{if(t){const n=t.split(E);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function j(t){let e="";if(B(t))e=t;else if(T(t))for(let n=0;n{},F=/^on[^a-z]/,I=t=>F.test(t),A=Object.assign,M=Object.prototype.hasOwnProperty,N=(t,e)=>M.call(t,e),T=Array.isArray,U=t=>"[object Map]"===W(t),z=t=>"function"==typeof t,B=t=>"string"==typeof t,V=t=>"symbol"==typeof t,D=t=>null!==t&&"object"==typeof t,L=Object.prototype.toString,W=t=>L.call(t),K=t=>B(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,J=(t,e)=>t!==e&&(t==t||e==e),q=new WeakMap,H=[];let G;const Q=Symbol(""),X=Symbol("");function Y(t,e=$){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!H.includes(n)){tt(n);try{return nt.push(et),et=!0,H.push(n),G=n,t()}finally{H.pop(),rt(),G=H[H.length-1]}}};return n.id=Z++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Z=0;function tt(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==G||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&T(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":T(t)?K(n)&&c(l.get("length")):(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"delete":T(t)||(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"set":U(t)&&c(l.get(Q))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const it=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(V)),ct=dt(),at=dt(!1,!0),ut=dt(!0),ft=dt(!0,!0),pt={};function dt(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Bt:zt).get(n))return n;const s=T(n);if(!t&&s&&N(pt,o))return Reflect.get(pt,o,r);const l=Reflect.get(n,o,r);if(V(o)?it.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||st(n,0,o),e)return l;if(Qt(l)){return!s||!K(o)?l.value:l}return D(l)?t?Lt(l):Dt(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];pt[t]=function(...t){const n=Ht(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];pt[t]=function(...t){ot();const n=e.apply(this,t);return rt(),n}}));function ht(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ht(o),!T(e)&&Qt(s)&&!Qt(o)))return s.value=o,!0;const l=T(e)&&K(n)?Number(n)!0,deleteProperty:(t,e)=>!0},gt=A({},_t,{get:at,set:ht(!0)});A({},vt,{get:ft});const yt=t=>D(t)?Dt(t):t,mt=t=>D(t)?Lt(t):t,bt=t=>t,wt=t=>Reflect.getPrototypeOf(t);function kt(t,e,n=!1,o=!1){const r=Ht(t=t.__v_raw),s=Ht(e);e!==s&&!n&&st(r,0,e),!n&&st(r,0,s);const{has:l}=wt(r),i=n?mt:o?bt:yt;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function St(t,e=!1){const n=this.__v_raw,o=Ht(n),r=Ht(t);return t!==r&&!e&&st(o,0,t),!e&&st(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function xt(t,e=!1){return t=t.__v_raw,!e&&st(Ht(t),0,Q),Reflect.get(t,"size",t)}function Rt(t){t=Ht(t);const e=Ht(this),n=wt(e).has.call(e,t);return e.add(t),n||lt(e,"add",t,t),this}function Ct(t,e){e=Ht(e);const n=Ht(this),{has:o,get:r}=wt(n);let s=o.call(n,t);s||(t=Ht(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?J(e,l)&<(n,"set",t,e):lt(n,"add",t,e),this}function Et(t){const e=Ht(this),{has:n,get:o}=wt(e);let r=n.call(e,t);r||(t=Ht(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&<(e,"delete",t,void 0),s}function Ot(){const t=Ht(this),e=0!==t.size,n=t.clear();return e&<(t,"clear",void 0,void 0),n}function jt(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ht(s),i=t?mt:e?bt:yt;return!t&&st(l,0,Q),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function $t(t,e,n){return function(...o){const r=this.__v_raw,s=Ht(r),l=U(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?mt:n?bt:yt;return!e&&st(s,0,c?X:Q),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Pt(t){return function(...e){return"delete"!==t&&this}}const Ft={get(t){return kt(this,t)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!1)},It={get(t){return kt(this,t,!1,!0)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!0)},At={get(t){return kt(this,t,!0)},get size(){return xt(this,!0)},has(t){return St.call(this,t,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:jt(!0,!1)};function Mt(t,e){const n=e?It:t?At:Ft;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(N(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Ft[t]=$t(t,!1,!1),At[t]=$t(t,!0,!1),It[t]=$t(t,!1,!0)}));const Nt={get:Mt(!1,!1)},Tt={get:Mt(!1,!0)},Ut={get:Mt(!0,!1)},zt=new WeakMap,Bt=new WeakMap;function Vt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>W(t).slice(8,-1))(t))}function Dt(t){return t&&t.__v_isReadonly?t:Wt(t,!1,_t,Nt)}function Lt(t){return Wt(t,!0,vt,Ut)}function Wt(t,e,n,o){if(!D(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Bt:zt,s=r.get(t);if(s)return s;const l=Vt(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Kt(t){return Jt(t)?Kt(t.__v_raw):!(!t||!t.__v_isReactive)}function Jt(t){return!(!t||!t.__v_isReadonly)}function qt(t){return Kt(t)||Jt(t)}function Ht(t){return t&&Ht(t.__v_raw)||t}const Gt=t=>D(t)?Dt(t):t;function Qt(t){return Boolean(t&&!0===t.__v_isRef)}function Xt(t){return function(t,e=!1){if(Qt(t))return t;return new Yt(t,e)}(t)}class Yt{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Gt(t)}get value(){return st(Ht(this),0,"value"),this._value}set value(t){J(Ht(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Gt(t),lt(Ht(this),"set","value",t))}}class Zt{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Y(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,lt(Ht(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),st(Ht(this),0,"value"),this._value}set value(t){this._setter(t)}}function te(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){ne(s,e,n)}return r}function ee(t,e,n,o){if(z(t)){const s=te(t,e,n,o);return s&&(D(r=s)&&z(r.then)&&z(r.catch))&&s.catch((t=>{ne(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function we(t){re=!1,oe=!0,me(t),se.sort(((t,e)=>be(t)-be(e)));try{for(le=0;lebe(t)-be(e))),pe=0;peSe+=t;const Re=(Ce="um",(t,e=en)=>function(t,e,n=en,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;ot(),nn(n);const r=ee(e,n,t,o);return nn(null),rt(),r});return o?r.unshift(s):r.push(s),s}}(Ce,t,e));var Ce;const Ee={};function Oe(t,e,n){return je(t,e,n)}function je(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=$,i=en){let c,a,u=!1;if(Qt(t)?(c=()=>t.value,u=!!t._shallow):Kt(t)?(c=()=>t,o=!0):c=T(t)?()=>t.map((t=>Qt(t)?t.value:Kt(t)?Pe(t):z(t)?te(t,i,2):void 0)):z(t)?e?()=>te(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),te(t,i,3,[f])}:P,e&&o){const t=c;c=()=>Pe(t())}const f=t=>{a=_.options.onStop=()=>{te(t,i,4)}};let p=T(t)?[]:Ee;const d=()=>{if(_.active)if(e){const t=_();(o||u||J(t,p))&&(a&&a(),ee(e,i,3,[t,p===Ee?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Me(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){ye(t,ce,ie,ae)}(d):d()};const _=Y(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return on(_,i),e?n?d():p=_():"post"===r?Me(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(tt(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function $e(t,e,n){const o=this.proxy;return je(B(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Pe(t,e=new Set){if(!D(t)||e.has(t))return t;if(e.add(t),Qt(t))Pe(t.value,e);else if(T(t))for(let n=0;n{Pe(t,e)}));else for(const n in t)Pe(t[n],e);return t}function Fe(t){return z(t)?{setup:t,name:t.name}:t}function Ie(t){z(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Fe({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=en;if(c)return()=>Ae(c,t);const e=e=>{a=null,ne(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ae(e,t))).catch((t=>(e(t),()=>o?Le(o,{error:t}):null)));const i=Xt(!1),u=Xt(),p=Xt(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ae(c,t):u.value&&o?Le(o,{error:u.value}):n&&!p.value?Le(n):void 0}})}function Ae(t,{vnode:{ref:e,props:n,children:o}}){const r=Le(t,n,o);return r.ref=e,r}const Me=function(t,e){e&&e.pendingBranch?T(t)?e.effects.push(...t):e.effects.push(t):ye(t,fe,ue,pe)},Ne=Symbol(),Te=Symbol(void 0),Ue=Symbol(void 0),ze=Symbol(void 0);function Be(t){return!!t&&!0===t.__v_isVNode}const Ve=({key:t})=>null!=t?t:null,De=({ref:t})=>null!=t?B(t)||Qt(t)||z(t)?{i:null,r:t}:t:null,Le=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Ne||(t=ze);if(Be(t)){const o=We(t,e,!0);return n&&qe(o,n),o}l=t,z(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(qt(e)||"__vInternal"in e)&&(e=A({},e));let{class:t,style:n}=e;t&&!B(t)&&(e.class=j(t)),D(n)&&(qt(n)&&!T(n)&&(n=A({},n)),e.style=R(n))}const i=B(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:D(t)?4:z(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ve(e),ref:e&&De(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(qe(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ke(n.default),r=ke(n.fallback)):(o=ke(n),r=Je(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function We(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?He(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Ve(l),ref:e&&e.ref?n&&r?T(r)?r.concat(De(e)):[r,De(e)]:De(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Te?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&We(t.ssContent),ssFallback:t.ssFallback&&We(t.ssFallback),el:t.el,anchor:t.anchor}}function Ke(t=" ",e=0){return Le(Ue,null,t,e)}function Je(t){return null==t||"boolean"==typeof t?Le(ze):T(t)?Le(Te,null,t):"object"==typeof t?null===t.el?t:We(t):Le(Ue,null,String(t))}function qe(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(T(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&xe(1),qe(t,n()),n._c&&xe(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else z(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ke(e)]):n=8);t.children=e,t.shapeFlag|=n}function He(...t){const e=A({},t[0]);for(let n=1;n1)return n&&z(e)?e():e}}function Xe(t,e,n){const o=n.appContext.config.optionMergeStrategies,{mixins:r,extends:s}=e;s&&Xe(t,s,n),r&&r.forEach((e=>Xe(t,e,n)));for(const l in e)o&&N(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Ye=t=>t&&(t.proxy?t.proxy:Ye(t.parent)),Ze=A(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ye(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Xe(l,e,t))),Xe(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(se.length&&se.includes(e,oe&&e.allowRecurse?le+1:le)||e===_e||(se.push(e),ge()));var e},$nextTick:t=>ve.bind(t.proxy),$watch:t=>$e.bind(t)}),tn={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==$&&N(o,e))return l[e]=0,o[e];if(r!==$&&N(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&N(a,e))return l[e]=2,s[e];if(n!==$&&N(n,e))return l[e]=3,n[e];l[e]=4}}const u=Ze[e];let f,p;return u?("$attrs"===e&&st(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==$&&N(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,N(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==$&&N(r,e))r[e]=n;else if(o!==$&&N(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==$&&N(t,l)||e!==$&&N(e,l)||(i=s[0])&&N(i,l)||N(o,l)||N(Ze,l)||N(r.config.globalProperties,l)}};A({},tn,{get(t,e){if(e!==Symbol.unscopables)return tn.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!x(e)});let en=null;const nn=t=>{en=t};function on(t,e=en){e&&(e.effects||(e.effects=[])).push(t)}function rn(t){const e=function(t){let e,n;return z(t)?(e=t,n=P):(e=t.get,n=t.set),new Zt(e,n,z(t)||!t.set)}(t);return on(e.effect),e}const sn=Symbol("Schlechtenburg active block");function ln(t=null){const e=Qe(sn,Xt(null)),n=rn((()=>e.value===t)),o=n=>{e.value=void 0!==n?n:t};return{activeBlockId:e,isActive:n,activate:o,requestActivation:()=>{e.value||o()}}}const cn=Symbol("Schlechtenburg block library");function an(){const t=Qe(p,Xt(u.Edit)),e=Qe(cn,Dt({}));return{mode:t,customBlocks:e,getBlock:t=>e[t]}}const un=Symbol("Schlechtenburg block dimensions"),fn=Symbol("Schlechtenburg editor dimensions");function pn(t,e){const n=Xt(null);Ge(e,n);const o=()=>{if(!t.value)return;const e=t.value.getBoundingClientRect();n.value={width:e.width,height:e.height,left:t.value.offsetLeft,top:t.value.offsetTop}},r=new ResizeObserver(o),s=new MutationObserver(o);return Oe(t,(()=>{t.value&&(r.observe(t.value),s.observe(t.value,{attributes:!0,childList:!1,subtree:!1}))})),{triggerSizeCalculation:o,dimensions:n}}function dn(){return{editorDimensions:Qe(fn,Xt(null)),blockDimensions:Qe(un,Xt(null))}}const hn=Symbol("Schlechtenburg block tree"),_n=Symbol("Schlechtenburg block tree register"),vn=Symbol("Schlechtenburg block tree unregister");function gn(){const t=Qe(hn,Xt(null)),e=Qe(_n,(t=>{})),n=Qe(vn,(t=>{})),o=Dt({id:"",name:"",icon:"",children:[]});Ge(_n,(t=>{o.children.find((e=>e.id===t.id))||(o.children=[...o.children,t])})),Ge(vn,(({id:t})=>{o.children=o.children.filter((e=>e.id!==t))}));return Re((()=>{o.id&&n(o)})),{blockTree:t,register:t=>{if(!t.id)throw new Error(`Cannot register a block without an id: ${JSON.stringify(t)}`);o.id=t.id,o.name=t.name,e(o)}}}const yn=Fe({name:"sb-button",inheritAttrs:!1,setup:(e,n)=>()=>{var e,o;return Le("button",t(t({},n.attrs),{class:(n.attrs.class||"")+" sb-button"}),[null==(o=(e=n.slots).default)?void 0:o.call(e)])}});const mn=Fe({name:"sb-context-menu",props:{onClose:{type:Function,default:()=>{}},onOpen:{type:Function,default:()=>{}}},setup(t,e){const n=Xt(!1),o=()=>{n.value=!0},r=()=>{n.value=!1},s=t=>{"Escape"===t.key&&r()},l=()=>{n.value?r():o()};return Oe(n,((e,n)=>{e!==n&&(e?setTimeout((()=>{document.body.addEventListener("click",r),document.body.addEventListener("keypress",s),t.onOpen()})):(document.body.removeEventListener("click",r),document.body.removeEventListener("keypress",s),t.onClose()))})),()=>{var t,s,i,c;return Le("div",{class:"sb-context"},[(null==(s=(t=e.slots).context)?void 0:s.call(t,{opened:n,toggle:l,close:r,open:o}))||Le(yn,{onClick:l},{default:()=>[Ke("Menu")]}),Le("dialog",He({class:"sb-context-menu",open:!!n.value||void 0,onClick:t=>{t.stopPropagation()}},{onClose:r}),[(null==(c=(i=e.slots).default)?void 0:c.call(i,{opened:n,toggle:l,close:r,open:o}))||null])])}}});const bn=Fe({name:"sb-main-menu",setup(){const{blockTree:t}=gn(),{activate:e,activeBlockId:n}=ln(),o=(t,r)=>{var s,l;return Le("li",{class:{"sb-tree-block-select__block":!0,"sb-tree-block-select__block_active":n.value===t.id}},[Le("button",{class:"sb-tree-block-select__block-name",onClick:()=>{e(t.id),r()},onMouseenter:()=>e(t.id)},[t.name]),(null==(s=t.children)?void 0:s.length)?Le("ul",{class:"sb-tree-block-select__list"},[null==(l=t.children)?void 0:l.map((t=>o(t,r)))]):null])};return()=>t.value?Le(mn,{class:"sb-tree-block-select"},{context:({toggle:t})=>Le(yn,{onClick:t},{default:()=>[Ke("Tree")]}),default:({close:e})=>Le("ul",{class:"sb-tree-block-select__list sb-tree-block-select__list_base"},[o(t.value,e)])}):""}});const wn=Fe({name:"sb-main-menu",props:{block:{type:null,required:!0}},setup:()=>()=>Le("div",{class:"sb-main-menu"},[Le(bn,null,null)])});const kn=Fe({name:"sb-block-toolbar",setup:()=>()=>Le("div",{class:"sb-block-toolbar"},null)});let Sn;const xn={},Rn=function(t,e){if(!e)return t();if(void 0===Sn){const t=document.createElement("link").relList;Sn=t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(e.map((t=>{if(t in xn)return;xn[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const o=document.createElement("link");return o.rel=e?"stylesheet":Sn,e||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),e?new Promise(((t,e)=>{o.addEventListener("load",t),o.addEventListener("error",e)})):void 0}))).then((()=>t()))};var Cn={name:"sb-missing-block",edit:Ie((()=>Rn((()=>__import__("./display.9a74f321.js")),["./assets/display.9a74f321.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"]))),display:Ie((()=>Rn((()=>__import__("./display.9a74f321.js")),["./assets/display.9a74f321.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"])))};const En=Fe({name:"sb-block",props:{block:{type:null,required:!0},sortable:{type:String,default:null},onUpdate:{type:Function,default:()=>{}},onPrependBlock:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}}},setup(e,n){const o=Xt(null),{mode:r,getBlock:s}=an(),{isActive:l,activate:i}=ln(e.block.id),c=rn((()=>({"sb-block":!0,"sb-block_active":l.value}))),{triggerSizeCalculation:a}=pn(o,un);Oe((()=>e.block.data),a);const{register:f}=gn();f(e.block),Oe(e.block,(()=>{f(e.block)}));const p=n=>{e.onUpdate(t(t({},e.block),{data:t(t({},e.block.data),n)}))};return()=>{var l;const a=null==(l=s(e.block.name))?void 0:l[r.value];if(!a){const t=Cn[r.value];return Le(t,{name:e.block.name,blockId:e.block.id},null)}return r.value===u.Display?Le(a,{data:e.block.data,blockId:e.block.id},null):Le("div",{ref:o,class:c.value},[Le("div",{class:"sb-block__edit-cover"},null),n.slots["context-toolbar"]?n.slots["context-toolbar"]():null,Le(a,He({data:e.block.data,blockId:e.block.id,onUpdate:p,onPrependBlock:e.onPrependBlock,onAppendBlock:e.onAppendBlock,onRemoveSelf:e.onRemoveSelf,onActivatePrevious:e.onActivatePrevious,onActivateNext:e.onActivateNext},t({"onClick:value":t=>{t.stopPropagation(),i()}},n.attrs)),null)])}}});const On=Fe({name:"sb-main",model:w,props:{customBlocks:{type:Array,default:()=>[]},block:{type:Object,required:!0},onUpdate:{type:Function,default:()=>{}},mode:{type:String,validator:t=>Object.values(u).includes(t),default:u.Edit}},setup(e){const n=Xt(null);pn(n,fn);const o=Xt(e.mode);Ge(p,o);const r=Xt(null);Ge(sn,r);const s=Xt(null);Ge(hn,s),Ge(_n,(t=>{s.value=t})),Ge(vn,(()=>{s.value=null}));const l=Wt(t({},e.customBlocks.reduce(((e,n)=>t(t({},e),{[n.name]:n})),{})),!1,gt,Tt);return Ge(cn,l),()=>Le("div",{class:"sb-main",ref:n},[o.value===u.Edit?Le(Te,null,[Le(wn,{block:e.block},null),Le(kn,null,null)]):null,Le(En,{block:e.block,onUpdate:e.onUpdate},null)])}});const jn=Fe({name:"sb-modal",props:{open:{type:Boolean,default:!1},onClose:{type:Function,default:()=>{}}},setup(t,e){const n=rn((()=>({"sb-modal":!0,"sb-modal_open":t.open})));return()=>{var o,r;return Le("div",{class:n.value},[Le("div",{class:"sb-modal__overlay",onClick:e=>{e.stopPropagation(),t.onClose()}},[Le("div",{class:"sb-modal__content"},[null==(r=(o=e.slots).default)?void 0:r.call(o)])])])}}});const $n=Fe({name:"sb-block-picker",props:{onPickedBlock:{type:Function,default:()=>{}}},setup(t){const e=Xt(!1),{customBlocks:n}=an(),o=rn((()=>Object.keys(n).map((t=>n[t]))));return()=>Le("div",{class:"sb-block-picker"},[Le(yn,He({class:"sb-block-picker__add-button"},{type:"button",onClick:t=>{e.value=!0,t.stopPropagation()}}),{default:()=>[Ke("+")]}),Le(jn,He({open:e.value,onClose:()=>{e.value=!1}},{onClick:t=>t.stopPropagation()}),{default:()=>[...o.value.map((n=>Le(yn,{type:"button",onClick:()=>(n=>()=>{e.value=!1,t.onPickedBlock({name:n.name,id:""+ +new Date,data:n.getDefaultData()})})(n)},{default:()=>[n.name]})))]})])}});var Pn="object"==typeof global&&global&&global.Object===Object&&global,Fn="object"==typeof self&&self&&self.Object===Object&&self,In=Pn||Fn||Function("return this")(),An=In.Symbol,Mn=Object.prototype,Nn=Mn.hasOwnProperty,Tn=Mn.toString,Un=An?An.toStringTag:void 0;var zn=Object.prototype.toString;var Bn=An?An.toStringTag:void 0;function Vn(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Bn&&Bn in Object(t)?function(t){var e=Nn.call(t,Un),n=t[Un];try{t[Un]=void 0;var o=!0}catch(s){}var r=Tn.call(t);return o&&(e?t[Un]=n:delete t[Un]),r}(t):function(t){return zn.call(t)}(t)}var Dn=/\s/;var Ln=/^\s+/;function Wn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Dn.test(t.charAt(e)););return e}(t)+1).replace(Ln,""):t}function Kn(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var Jn=/^[-+]0x[0-9a-f]+$/i,qn=/^0b[01]+$/i,Hn=/^0o[0-7]+$/i,Gn=parseInt;function Qn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==Vn(t)}(t))return NaN;if(Kn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Kn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Wn(t);var n=qn.test(t);return n||Hn.test(t)?Gn(t.slice(2),n?2:8):Jn.test(t)?NaN:+t}var Xn=function(){return In.Date.now()},Yn=Math.max,Zn=Math.min;function to(t,e,n){var o,r,s,l,i,c,a=0,u=!1,f=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var n=o,s=r;return o=r=void 0,a=e,l=t.apply(s,n)}function h(t){return a=t,i=setTimeout(v,e),u?d(t):l}function _(t){var n=t-c;return void 0===c||n>=e||n<0||f&&t-a>=s}function v(){var t=Xn();if(_(t))return g(t);i=setTimeout(v,function(t){var n=e-(t-c);return f?Zn(n,s-(t-a)):n}(t))}function g(t){return i=void 0,p&&o?d(t):(o=r=void 0,l)}function y(){var t=Xn(),n=_(t);if(o=arguments,r=this,c=t,n){if(void 0===i)return h(c);if(f)return clearTimeout(i),i=setTimeout(v,e),d(c)}return void 0===i&&(i=setTimeout(v,e)),l}return e=Qn(e)||0,Kn(n)&&(u=!!n.leading,s=(f="maxWait"in n)?Yn(Qn(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==i&&clearTimeout(i),a=0,o=c=r=i=void 0},y.flush=function(){return void 0===i?l:g(Xn())},y}const eo=Fe({name:"sb-block-ordering",props:{orientation:{type:String,default:null},onRemove:{type:Function,default:()=>{}},onMoveBackward:{type:Function,default:()=>{}},onMoveForward:{type:Function,default:()=>{}}},setup(t){const e=Dt({top:"",right:""}),n=rn((()=>({"sb-block-ordering":!0,[`sb-block-ordering_${t.orientation}`]:!!t.orientation}))),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.width-r.value.left;e.top=`${r.value.top}px`,e.right=`${t}px`}));return Oe(o,s),Oe(r,s),Oe((()=>t.orientation),s),()=>Le("div",{class:n.value,style:e,onClick:t=>t.stopPropagation()},[Le(yn,{onClick:t.onMoveBackward},{default:()=>["vertical"===t.orientation?"↑":"←"]}),Le(yn,{onClick:t.onRemove},{default:()=>[Ke("x")]}),Le(yn,{onClick:t.onMoveForward},{default:()=>["vertical"===t.orientation?"↓":"→"]})])}});const no=Fe({name:"sb-block-placeholder",props:{onInsertBlock:{type:Function,default:()=>{}}},setup:t=>()=>Le("div",{class:"sb-block-placeholder"},[Le($n,{onPickedBlock:e=>t.onInsertBlock(e)},null)])});const oo=Fe({name:"sb-toolbar",setup(t,e){const n=Dt({bottom:"",left:"",maxWidth:""}),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.height-r.value.top;n.bottom=`${t}px`,n.left=`${r.value.left}px`,n.maxWidth=`${r.value.width}px`}));return Oe(o,s),Oe(r,s),()=>{var t,o;return Le("div",{class:"sb-toolbar",style:n,onClick:t=>t.stopPropagation()},[null==(o=null==(t=e.slots)?void 0:t.default)?void 0:o.call(t)])}}});const ro=Fe({name:"sb-select",inheritAttrs:!1,setup:(t,e)=>()=>{var t,n;return Le("div",{class:"sb-select"},[Le("select",He({class:"sb-select__input"},e.attrs),[null==(n=(t=e.slots).default)?void 0:n.call(t)])])}});function so(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const lo=so("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function io(t){if(bo(t)){const e={};for(let n=0;n{if(t){const n=t.split(ao);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function fo(t){let e="";if(So(t))e=t;else if(bo(t))for(let n=0;n{},_o=/^on[^a-z]/,vo=t=>_o.test(t),go=Object.assign,yo=Object.prototype.hasOwnProperty,mo=(t,e)=>yo.call(t,e),bo=Array.isArray,wo=t=>"[object Map]"===Eo(t),ko=t=>"function"==typeof t,So=t=>"string"==typeof t,xo=t=>"symbol"==typeof t,Ro=t=>null!==t&&"object"==typeof t,Co=Object.prototype.toString,Eo=t=>Co.call(t),Oo=t=>So(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,jo=(t,e)=>t!==e&&(t==t||e==e),$o=new WeakMap,Po=[];let Fo;const Io=Symbol(""),Ao=Symbol("");function Mo(t,e=po){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Po.includes(n)){To(n);try{return zo.push(Uo),Uo=!0,Po.push(n),Fo=n,t()}finally{Po.pop(),Bo(),Fo=Po[Po.length-1]}}};return n.id=No++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let No=0;function To(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Fo||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&bo(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":bo(t)?Oo(n)&&c(l.get("length")):(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"delete":bo(t)||(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"set":wo(t)&&c(l.get(Io))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Lo=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(xo)),Wo=Go(),Ko=Go(!1,!0),Jo=Go(!0),qo=Go(!0,!0),Ho={};function Go(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?br:mr).get(n))return n;const s=bo(n);if(!t&&s&&mo(Ho,o))return Reflect.get(Ho,o,r);const l=Reflect.get(n,o,r);if(xo(o)?Lo.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Vo(n,0,o),e)return l;if($r(l)){return!s||!Oo(o)?l.value:l}return Ro(l)?t?Sr(l):kr(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Ho[t]=function(...t){const n=Or(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Ho[t]=function(...t){zo.push(Uo),Uo=!1;const n=e.apply(this,t);return Bo(),n}}));function Qo(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Or(o),!bo(e)&&$r(s)&&!$r(o)))return s.value=o,!0;const l=bo(e)&&Oo(n)?Number(n)!0,deleteProperty:(t,e)=>!0};go({},Xo,{get:Ko,set:Qo(!0)}),go({},Yo,{get:qo});const Zo=t=>Ro(t)?kr(t):t,tr=t=>Ro(t)?Sr(t):t,er=t=>t,nr=t=>Reflect.getPrototypeOf(t);function or(t,e,n=!1,o=!1){const r=Or(t=t.__v_raw),s=Or(e);e!==s&&!n&&Vo(r,0,e),!n&&Vo(r,0,s);const{has:l}=nr(r),i=n?tr:o?er:Zo;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function rr(t,e=!1){const n=this.__v_raw,o=Or(n),r=Or(t);return t!==r&&!e&&Vo(o,0,t),!e&&Vo(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function sr(t,e=!1){return t=t.__v_raw,!e&&Vo(Or(t),0,Io),Reflect.get(t,"size",t)}function lr(t){t=Or(t);const e=Or(this),n=nr(e).has.call(e,t);return e.add(t),n||Do(e,"add",t,t),this}function ir(t,e){e=Or(e);const n=Or(this),{has:o,get:r}=nr(n);let s=o.call(n,t);s||(t=Or(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?jo(e,l)&&Do(n,"set",t,e):Do(n,"add",t,e),this}function cr(t){const e=Or(this),{has:n,get:o}=nr(e);let r=n.call(e,t);r||(t=Or(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Do(e,"delete",t,void 0),s}function ar(){const t=Or(this),e=0!==t.size,n=t.clear();return e&&Do(t,"clear",void 0,void 0),n}function ur(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Or(s),i=t?tr:e?er:Zo;return!t&&Vo(l,0,Io),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function fr(t,e,n){return function(...o){const r=this.__v_raw,s=Or(r),l=wo(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?tr:n?er:Zo;return!e&&Vo(s,0,c?Ao:Io),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function pr(t){return function(...e){return"delete"!==t&&this}}const dr={get(t){return or(this,t)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!1)},hr={get(t){return or(this,t,!1,!0)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!0)},_r={get(t){return or(this,t,!0)},get size(){return sr(this,!0)},has(t){return rr.call(this,t,!0)},add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear"),forEach:ur(!0,!1)};function vr(t,e){const n=e?hr:t?_r:dr;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(mo(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{dr[t]=fr(t,!1,!1),_r[t]=fr(t,!0,!1),hr[t]=fr(t,!1,!0)}));const gr={get:vr(!1,!1)},yr={get:vr(!0,!1)},mr=new WeakMap,br=new WeakMap;function wr(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Eo(t).slice(8,-1))(t))}function kr(t){return t&&t.__v_isReadonly?t:xr(t,!1,Xo,gr)}function Sr(t){return xr(t,!0,Yo,yr)}function xr(t,e,n,o){if(!Ro(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?br:mr,s=r.get(t);if(s)return s;const l=wr(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Rr(t){return Cr(t)?Rr(t.__v_raw):!(!t||!t.__v_isReactive)}function Cr(t){return!(!t||!t.__v_isReadonly)}function Er(t){return Rr(t)||Cr(t)}function Or(t){return t&&Or(t.__v_raw)||t}const jr=t=>Ro(t)?kr(t):t;function $r(t){return Boolean(t&&!0===t.__v_isRef)}function Pr(t){return function(t,e=!1){if($r(t))return t;return new Fr(t,e)}(t)}class Fr{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:jr(t)}get value(){return Vo(Or(this),0,"value"),this._value}set value(t){jo(Or(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:jr(t),Do(Or(this),"set","value",t))}}class Ir{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Mo(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Do(Or(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),Vo(Or(this),0,"value"),this._value}set value(t){this._setter(t)}}function Ar(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Nr(s,e,n)}return r}function Mr(t,e,n,o){if(ko(t)){const s=Ar(t,e,n,o);return s&&(Ro(r=s)&&ko(r.then)&&ko(r.catch))&&s.catch((t=>{Nr(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function es(t){Ur=!1,Tr=!0,Zr(t),zr.sort(((t,e)=>ts(t)-ts(e)));try{for(Br=0;Brts(t)-ts(e))),Jr=0;Jros+=t;const ss={};function ls(t,e,n){return is(t,e,n)}function is(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=po,i=Ps){let c,a,u=!1;if($r(t)?(c=()=>t.value,u=!!t._shallow):Rr(t)?(c=()=>t,o=!0):c=bo(t)?()=>t.map((t=>$r(t)?t.value:Rr(t)?as(t):ko(t)?Ar(t,i,2):void 0)):ko(t)?e?()=>Ar(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),Ar(t,i,3,[f])}:ho,e&&o){const t=c;c=()=>as(t())}const f=t=>{a=_.options.onStop=()=>{Ar(t,i,4)}};let p=bo(t)?[]:ss;const d=()=>{if(_.active)if(e){const t=_();(o||u||jo(t,p))&&(a&&a(),Mr(e,i,3,[t,p===ss?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ds(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){Yr(t,Dr,Vr,Lr)}(d):d()};const _=Mo(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return Fs(_,i),e?n?d():p=_():"post"===r?ds(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(To(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function cs(t,e,n){const o=this.proxy;return is(So(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function as(t,e=new Set){if(!Ro(t)||e.has(t))return t;if(e.add(t),$r(t))as(t.value,e);else if(bo(t))for(let n=0;n{as(t,e)}));else for(const n in t)as(t[n],e);return t}function us(t){return ko(t)?{setup:t,name:t.name}:t}function fs(t){ko(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return us({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=Ps;if(c)return()=>ps(c,t);const e=e=>{a=null,Nr(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>ps(e,t))).catch((t=>(e(t),()=>o?ws(o,{error:t}):null)));const i=Pr(!1),u=Pr(),p=Pr(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?ps(c,t):u.value&&o?ws(o,{error:u.value}):n&&!p.value?ws(n):void 0}})}function ps(t,{vnode:{ref:e,props:n,children:o}}){const r=ws(t,n,o);return r.ref=e,r}const ds=function(t,e){e&&e.pendingBranch?bo(t)?e.effects.push(...t):e.effects.push(t):Yr(t,Kr,Wr,Jr)},hs=Symbol(),_s=Symbol(void 0),vs=Symbol(void 0),gs=Symbol(void 0);function ys(t){return!!t&&!0===t.__v_isVNode}const ms=({key:t})=>null!=t?t:null,bs=({ref:t})=>null!=t?So(t)||$r(t)||ko(t)?{i:null,r:t}:t:null,ws=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==hs||(t=gs);if(ys(t)){const o=ks(t,e,!0);return n&&Rs(o,n),o}l=t,ko(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Er(e)||"__vInternal"in e)&&(e=go({},e));let{class:t,style:n}=e;t&&!So(t)&&(e.class=fo(t)),Ro(n)&&(Er(n)&&!bo(n)&&(n=go({},n)),e.style=io(n))}const i=So(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Ro(t)?4:ko(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ms(e),ref:e&&bs(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Rs(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ns(n.default),r=ns(n.fallback)):(o=ns(n),r=xs(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ks(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?Cs(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&ms(l),ref:e&&e.ref?n&&r?bo(r)?r.concat(bs(e)):[r,bs(e)]:bs(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==_s?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ks(t.ssContent),ssFallback:t.ssFallback&&ks(t.ssFallback),el:t.el,anchor:t.anchor}}function Ss(t=" ",e=0){return ws(vs,null,t,e)}function xs(t){return null==t||"boolean"==typeof t?ws(gs):bo(t)?ws(_s,null,t):"object"==typeof t?null===t.el?t:ks(t):ws(vs,null,String(t))}function Rs(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(bo(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&rs(1),Rs(t,n()),n._c&&rs(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else ko(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ss(e)]):n=8);t.children=e,t.shapeFlag|=n}function Cs(...t){const e=go({},t[0]);for(let n=1;nEs(t,e,n)));for(const l in e)o&&mo(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Os=t=>t&&(t.proxy?t.proxy:Os(t.parent)),js=go(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Os(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Es(l,e,t))),Es(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(zr.length&&zr.includes(e,Tr&&e.allowRecurse?Br+1:Br)||e===Gr||(zr.push(e),Xr()));var e},$nextTick:t=>Qr.bind(t.proxy),$watch:t=>cs.bind(t)}),$s={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==po&&mo(o,e))return l[e]=0,o[e];if(r!==po&&mo(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&mo(a,e))return l[e]=2,s[e];if(n!==po&&mo(n,e))return l[e]=3,n[e];l[e]=4}}const u=js[e];let f,p;return u?("$attrs"===e&&Vo(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==po&&mo(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,mo(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==po&&mo(r,e))r[e]=n;else if(o!==po&&mo(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==po&&mo(t,l)||e!==po&&mo(e,l)||(i=s[0])&&mo(i,l)||mo(o,l)||mo(js,l)||mo(r.config.globalProperties,l)}};go({},$s,{get(t,e){if(e!==Symbol.unscopables)return $s.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!lo(e)});let Ps=null;function Fs(t,e=Ps){e&&(e.effects||(e.effects=[])).push(t)}function Is(t){const e=function(t){let e,n;return ko(t)?(e=t,n=ho):(e=t.get,n=t.set),new Ir(e,n,ko(t)||!t.set)}(t);return Fs(e.effect),e}const As=()=>({orientation:"vertical",children:[]});var Ms={name:"sb-layout",getDefaultData:As,edit:fs((()=>Rn((()=>__import__("./edit.1f668f17.js")),["./assets/edit.1f668f17.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"]))),display:fs((()=>Rn((()=>__import__("./display.65dc313e.js")),["./assets/display.65dc313e.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"])))};var Ns={name:"sb-heading",getDefaultData:()=>({}),edit:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0))),display:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0)))};function Ts(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const Us=Ts("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function zs(t){if(Xs(t)){const e={};for(let n=0;n{if(t){const n=t.split(Vs);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function Ls(t){let e="";if(tl(t))e=t;else if(Xs(t))for(let n=0;n{},Js=/^on[^a-z]/,qs=t=>Js.test(t),Hs=Object.assign,Gs=Object.prototype.hasOwnProperty,Qs=(t,e)=>Gs.call(t,e),Xs=Array.isArray,Ys=t=>"[object Map]"===rl(t),Zs=t=>"function"==typeof t,tl=t=>"string"==typeof t,el=t=>"symbol"==typeof t,nl=t=>null!==t&&"object"==typeof t,ol=Object.prototype.toString,rl=t=>ol.call(t),sl=t=>tl(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,ll=(t,e)=>t!==e&&(t==t||e==e),il=new WeakMap,cl=[];let al;const ul=Symbol(""),fl=Symbol("");function pl(t,e=Ws){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!cl.includes(n)){hl(n);try{return vl.push(_l),_l=!0,cl.push(n),al=n,t()}finally{cl.pop(),yl(),al=cl[cl.length-1]}}};return n.id=dl++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let dl=0;function hl(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==al||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&Xs(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":Xs(t)?sl(n)&&c(l.get("length")):(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"delete":Xs(t)||(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"set":Ys(t)&&c(l.get(ul))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const wl=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(el)),kl=El(),Sl=El(!1,!0),xl=El(!0),Rl=El(!0,!0),Cl={};function El(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Yl:Xl).get(n))return n;const s=Xs(n);if(!t&&s&&Qs(Cl,o))return Reflect.get(Cl,o,r);const l=Reflect.get(n,o,r);if(el(o)?wl.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||ml(n,0,o),e)return l;if(ci(l)){return!s||!sl(o)?l.value:l}return nl(l)?t?ei(l):ti(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Cl[t]=function(...t){const n=li(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Cl[t]=function(...t){gl();const n=e.apply(this,t);return yl(),n}}));function Ol(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=li(o),!Xs(e)&&ci(s)&&!ci(o)))return s.value=o,!0;const l=Xs(e)&&sl(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Hs({},jl,{get:Sl,set:Ol(!0)}),Hs({},$l,{get:Rl});const Pl=t=>nl(t)?ti(t):t,Fl=t=>nl(t)?ei(t):t,Il=t=>t,Al=t=>Reflect.getPrototypeOf(t);function Ml(t,e,n=!1,o=!1){const r=li(t=t.__v_raw),s=li(e);e!==s&&!n&&ml(r,0,e),!n&&ml(r,0,s);const{has:l}=Al(r),i=n?Fl:o?Il:Pl;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function Nl(t,e=!1){const n=this.__v_raw,o=li(n),r=li(t);return t!==r&&!e&&ml(o,0,t),!e&&ml(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function Tl(t,e=!1){return t=t.__v_raw,!e&&ml(li(t),0,ul),Reflect.get(t,"size",t)}function Ul(t){t=li(t);const e=li(this),n=Al(e).has.call(e,t);return e.add(t),n||bl(e,"add",t,t),this}function zl(t,e){e=li(e);const n=li(this),{has:o,get:r}=Al(n);let s=o.call(n,t);s||(t=li(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?ll(e,l)&&bl(n,"set",t,e):bl(n,"add",t,e),this}function Bl(t){const e=li(this),{has:n,get:o}=Al(e);let r=n.call(e,t);r||(t=li(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&bl(e,"delete",t,void 0),s}function Vl(){const t=li(this),e=0!==t.size,n=t.clear();return e&&bl(t,"clear",void 0,void 0),n}function Dl(t,e){return function(n,o){const r=this,s=r.__v_raw,l=li(s),i=t?Fl:e?Il:Pl;return!t&&ml(l,0,ul),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function Ll(t,e,n){return function(...o){const r=this.__v_raw,s=li(r),l=Ys(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?Fl:n?Il:Pl;return!e&&ml(s,0,c?fl:ul),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Wl(t){return function(...e){return"delete"!==t&&this}}const Kl={get(t){return Ml(this,t)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!1)},Jl={get(t){return Ml(this,t,!1,!0)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!0)},ql={get(t){return Ml(this,t,!0)},get size(){return Tl(this,!0)},has(t){return Nl.call(this,t,!0)},add:Wl("add"),set:Wl("set"),delete:Wl("delete"),clear:Wl("clear"),forEach:Dl(!0,!1)};function Hl(t,e){const n=e?Jl:t?ql:Kl;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(Qs(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Kl[t]=Ll(t,!1,!1),ql[t]=Ll(t,!0,!1),Jl[t]=Ll(t,!1,!0)}));const Gl={get:Hl(!1,!1)},Ql={get:Hl(!0,!1)},Xl=new WeakMap,Yl=new WeakMap;function Zl(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>rl(t).slice(8,-1))(t))}function ti(t){return t&&t.__v_isReadonly?t:ni(t,!1,jl,Gl)}function ei(t){return ni(t,!0,$l,Ql)}function ni(t,e,n,o){if(!nl(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Yl:Xl,s=r.get(t);if(s)return s;const l=Zl(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function oi(t){return ri(t)?oi(t.__v_raw):!(!t||!t.__v_isReactive)}function ri(t){return!(!t||!t.__v_isReadonly)}function si(t){return oi(t)||ri(t)}function li(t){return t&&li(t.__v_raw)||t}const ii=t=>nl(t)?ti(t):t;function ci(t){return Boolean(t&&!0===t.__v_isRef)}function ai(t){return function(t,e=!1){if(ci(t))return t;return new ui(t,e)}(t)}class ui{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:ii(t)}get value(){return ml(li(this),0,"value"),this._value}set value(t){ll(li(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:ii(t),bl(li(this),"set","value",t))}}class fi{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=pl(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,bl(li(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),ml(li(this),0,"value"),this._value}set value(t){this._setter(t)}}function pi(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){hi(s,e,n)}return r}function di(t,e,n,o){if(Zs(t)){const s=pi(t,e,n,o);return s&&(nl(r=s)&&Zs(r.then)&&Zs(r.catch))&&s.catch((t=>{hi(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function Ii(t){vi=!1,_i=!0,Pi(t),gi.sort(((t,e)=>Fi(t)-Fi(e)));try{for(yi=0;yiFi(t)-Fi(e))),xi=0;xiMi+=t;const Ti=(t=>(e,n=uc)=>function(t,e,n=uc,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;gl(),fc(n);const r=di(e,n,t,o);return fc(null),yl(),r});return o?r.unshift(s):r.push(s),s}}(t,e,n))("m"),Ui={};function zi(t,e,n){return Bi(t,e,n)}function Bi(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Ws,i=uc){let c,a,u=!1;if(ci(t)?(c=()=>t.value,u=!!t._shallow):oi(t)?(c=()=>t,o=!0):c=Xs(t)?()=>t.map((t=>ci(t)?t.value:oi(t)?Di(t):Zs(t)?pi(t,i,2):void 0)):Zs(t)?e?()=>pi(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),pi(t,i,3,[f])}:Ks,e&&o){const t=c;c=()=>Di(t())}const f=t=>{a=_.options.onStop=()=>{pi(t,i,4)}};let p=Xs(t)?[]:Ui;const d=()=>{if(_.active)if(e){const t=_();(o||u||ll(t,p))&&(a&&a(),di(e,i,3,[t,p===Ui?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Ji(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){$i(t,bi,mi,wi)}(d):d()};const _=pl(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return pc(_,i),e?n?d():p=_():"post"===r?Ji(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(hl(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function Vi(t,e,n){const o=this.proxy;return Bi(tl(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Di(t,e=new Set){if(!nl(t)||e.has(t))return t;if(e.add(t),ci(t))Di(t.value,e);else if(Xs(t))for(let n=0;n{Di(t,e)}));else for(const n in t)Di(t[n],e);return t}function Li(t){return Zs(t)?{setup:t,name:t.name}:t}function Wi(t){Zs(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Li({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=uc;if(c)return()=>Ki(c,t);const e=e=>{a=null,hi(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ki(e,t))).catch((t=>(e(t),()=>o?tc(o,{error:t}):null)));const i=ai(!1),u=ai(),p=ai(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ki(c,t):u.value&&o?tc(o,{error:u.value}):n&&!p.value?tc(n):void 0}})}function Ki(t,{vnode:{ref:e,props:n,children:o}}){const r=tc(t,n,o);return r.ref=e,r}const Ji=function(t,e){e&&e.pendingBranch?Xs(t)?e.effects.push(...t):e.effects.push(t):$i(t,Si,ki,xi)},qi=Symbol(),Hi=Symbol(void 0),Gi=Symbol(void 0),Qi=Symbol(void 0);function Xi(t){return!!t&&!0===t.__v_isVNode}const Yi=({key:t})=>null!=t?t:null,Zi=({ref:t})=>null!=t?tl(t)||ci(t)||Zs(t)?{i:null,r:t}:t:null,tc=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==qi||(t=Qi);if(Xi(t)){const o=ec(t,e,!0);return n&&rc(o,n),o}l=t,Zs(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(si(e)||"__vInternal"in e)&&(e=Hs({},e));let{class:t,style:n}=e;t&&!tl(t)&&(e.class=Ls(t)),nl(n)&&(si(n)&&!Xs(n)&&(n=Hs({},n)),e.style=zs(n))}const i=tl(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:nl(t)?4:Zs(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Yi(e),ref:e&&Zi(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(rc(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=Ai(n.default),r=Ai(n.fallback)):(o=Ai(n),r=oc(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ec(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?sc(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Yi(l),ref:e&&e.ref?n&&r?Xs(r)?r.concat(Zi(e)):[r,Zi(e)]:Zi(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Hi?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ec(t.ssContent),ssFallback:t.ssFallback&&ec(t.ssFallback),el:t.el,anchor:t.anchor}}function nc(t=" ",e=0){return tc(Gi,null,t,e)}function oc(t){return null==t||"boolean"==typeof t?tc(Qi):Xs(t)?tc(Hi,null,t):"object"==typeof t?null===t.el?t:ec(t):tc(Gi,null,String(t))}function rc(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(Xs(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&Ni(1),rc(t,n()),n._c&&Ni(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else Zs(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[nc(e)]):n=8);t.children=e,t.shapeFlag|=n}function sc(...t){const e=Hs({},t[0]);for(let n=1;nlc(t,e,n)));for(const l in e)o&&Qs(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const ic=t=>t&&(t.proxy?t.proxy:ic(t.parent)),cc=Hs(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>ic(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>lc(l,e,t))),lc(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(gi.length&&gi.includes(e,_i&&e.allowRecurse?yi+1:yi)||e===Ei||(gi.push(e),ji()));var e},$nextTick:t=>Oi.bind(t.proxy),$watch:t=>Vi.bind(t)}),ac={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Ws&&Qs(o,e))return l[e]=0,o[e];if(r!==Ws&&Qs(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&Qs(a,e))return l[e]=2,s[e];if(n!==Ws&&Qs(n,e))return l[e]=3,n[e];l[e]=4}}const u=cc[e];let f,p;return u?("$attrs"===e&&ml(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Ws&&Qs(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,Qs(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Ws&&Qs(r,e))r[e]=n;else if(o!==Ws&&Qs(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Ws&&Qs(t,l)||e!==Ws&&Qs(e,l)||(i=s[0])&&Qs(i,l)||Qs(o,l)||Qs(cc,l)||Qs(r.config.globalProperties,l)}};Hs({},ac,{get(t,e){if(e!==Symbol.unscopables)return ac.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!Us(e)});let uc=null;const fc=t=>{uc=t};function pc(t,e=uc){e&&(e.effects||(e.effects=[])).push(t)}function dc(t){const e=function(t){let e,n;return Zs(t)?(e=t,n=Ks):(e=t.get,n=t.set),new fi(e,n,Zs(t)||!t.set)}(t);return pc(e.effect),e}const hc=()=>({value:"",align:"left"});var _c={name:"sb-paragraph",getDefaultData:hc,edit:Wi((()=>Rn((()=>__import__("./edit.25f6c7d7.js")),["./assets/edit.25f6c7d7.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"]))),display:Wi((()=>Rn((()=>__import__("./display.e17abc85.js")),["./assets/display.e17abc85.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"])))};function vc(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const gc=vc("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function yc(t){if($c(t)){const e={};for(let n=0;n{if(t){const n=t.split(bc);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function kc(t){let e="";if(Ic(t))e=t;else if($c(t))for(let n=0;n{},Rc=/^on[^a-z]/,Cc=t=>Rc.test(t),Ec=Object.assign,Oc=Object.prototype.hasOwnProperty,jc=(t,e)=>Oc.call(t,e),$c=Array.isArray,Pc=t=>"[object Map]"===Tc(t),Fc=t=>"function"==typeof t,Ic=t=>"string"==typeof t,Ac=t=>"symbol"==typeof t,Mc=t=>null!==t&&"object"==typeof t,Nc=Object.prototype.toString,Tc=t=>Nc.call(t),Uc=t=>Ic(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,zc=(t,e)=>t!==e&&(t==t||e==e),Bc=new WeakMap,Vc=[];let Dc;const Lc=Symbol(""),Wc=Symbol("");function Kc(t,e=Sc){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Vc.includes(n)){qc(n);try{return Gc.push(Hc),Hc=!0,Vc.push(n),Dc=n,t()}finally{Vc.pop(),Qc(),Dc=Vc[Vc.length-1]}}};return n.id=Jc++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Jc=0;function qc(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Dc||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&$c(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":$c(t)?Uc(n)&&c(l.get("length")):(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"delete":$c(t)||(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"set":Pc(t)&&c(l.get(Lc))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Zc=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(Ac)),ta=sa(),ea=sa(!1,!0),na=sa(!0),oa=sa(!0,!0),ra={};function sa(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?$a:ja).get(n))return n;const s=$c(n);if(!t&&s&&jc(ra,o))return Reflect.get(ra,o,r);const l=Reflect.get(n,o,r);if(Ac(o)?Zc.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Xc(n,0,o),e)return l;if(Ba(l)){return!s||!Uc(o)?l.value:l}return Mc(l)?t?Ia(l):Fa(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];ra[t]=function(...t){const n=Ua(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];ra[t]=function(...t){Gc.push(Hc),Hc=!1;const n=e.apply(this,t);return Qc(),n}}));function la(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ua(o),!$c(e)&&Ba(s)&&!Ba(o)))return s.value=o,!0;const l=$c(e)&&Uc(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Ec({},ia,{get:ea,set:la(!0)}),Ec({},ca,{get:oa});const aa=t=>Mc(t)?Fa(t):t,ua=t=>Mc(t)?Ia(t):t,fa=t=>t,pa=t=>Reflect.getPrototypeOf(t);function da(t,e,n=!1,o=!1){const r=Ua(t=t.__v_raw),s=Ua(e);e!==s&&!n&&Xc(r,0,e),!n&&Xc(r,0,s);const{has:l}=pa(r),i=n?ua:o?fa:aa;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function ha(t,e=!1){const n=this.__v_raw,o=Ua(n),r=Ua(t);return t!==r&&!e&&Xc(o,0,t),!e&&Xc(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function _a(t,e=!1){return t=t.__v_raw,!e&&Xc(Ua(t),0,Lc),Reflect.get(t,"size",t)}function va(t){t=Ua(t);const e=Ua(this),n=pa(e).has.call(e,t);return e.add(t),n||Yc(e,"add",t,t),this}function ga(t,e){e=Ua(e);const n=Ua(this),{has:o,get:r}=pa(n);let s=o.call(n,t);s||(t=Ua(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?zc(e,l)&&Yc(n,"set",t,e):Yc(n,"add",t,e),this}function ya(t){const e=Ua(this),{has:n,get:o}=pa(e);let r=n.call(e,t);r||(t=Ua(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Yc(e,"delete",t,void 0),s}function ma(){const t=Ua(this),e=0!==t.size,n=t.clear();return e&&Yc(t,"clear",void 0,void 0),n}function ba(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ua(s),i=t?ua:e?fa:aa;return!t&&Xc(l,0,Lc),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function wa(t,e,n){return function(...o){const r=this.__v_raw,s=Ua(r),l=Pc(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?ua:n?fa:aa;return!e&&Xc(s,0,c?Wc:Lc),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function ka(t){return function(...e){return"delete"!==t&&this}}const Sa={get(t){return da(this,t)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ma,forEach:ba(!1,!1)},xa={get(t){return da(this,t,!1,!0)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ma,forEach:ba(!1,!0)},Ra={get(t){return da(this,t,!0)},get size(){return _a(this,!0)},has(t){return ha.call(this,t,!0)},add:ka("add"),set:ka("set"),delete:ka("delete"),clear:ka("clear"),forEach:ba(!0,!1)};function Ca(t,e){const n=e?xa:t?Ra:Sa;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(jc(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Sa[t]=wa(t,!1,!1),Ra[t]=wa(t,!0,!1),xa[t]=wa(t,!1,!0)}));const Ea={get:Ca(!1,!1)},Oa={get:Ca(!0,!1)},ja=new WeakMap,$a=new WeakMap;function Pa(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Tc(t).slice(8,-1))(t))}function Fa(t){return t&&t.__v_isReadonly?t:Aa(t,!1,ia,Ea)}function Ia(t){return Aa(t,!0,ca,Oa)}function Aa(t,e,n,o){if(!Mc(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?$a:ja,s=r.get(t);if(s)return s;const l=Pa(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Ma(t){return Na(t)?Ma(t.__v_raw):!(!t||!t.__v_isReactive)}function Na(t){return!(!t||!t.__v_isReadonly)}function Ta(t){return Ma(t)||Na(t)}function Ua(t){return t&&Ua(t.__v_raw)||t}const za=t=>Mc(t)?Fa(t):t;function Ba(t){return Boolean(t&&!0===t.__v_isRef)}function Va(t){return function(t,e=!1){if(Ba(t))return t;return new Da(t,e)}(t)}class Da{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:za(t)}get value(){return Xc(Ua(this),0,"value"),this._value}set value(t){zc(Ua(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:za(t),Yc(Ua(this),"set","value",t))}}function La(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Ka(s,e,n)}return r}function Wa(t,e,n,o){if(Fc(t)){const s=La(t,e,n,o);return s&&(Mc(r=s)&&Fc(r.then)&&Fc(r.catch))&&s.catch((t=>{Ka(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function uu(t){qa=!1,Ja=!0,cu(t),Ha.sort(((t,e)=>au(t)-au(e)));try{for(Ga=0;Gaau(t)-au(e))),eu=0;eupu+=t;const hu={};function _u(t,e,n){return vu(t,e,n)}function vu(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Sc,i=zu){let c,a,u=!1;if(Ba(t)?(c=()=>t.value,u=!!t._shallow):Ma(t)?(c=()=>t,o=!0):c=$c(t)?()=>t.map((t=>Ba(t)?t.value:Ma(t)?yu(t):Fc(t)?La(t,i,2):void 0)):Fc(t)?e?()=>La(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),La(t,i,3,[f])}:xc,e&&o){const t=c;c=()=>yu(t())}const f=t=>{a=_.options.onStop=()=>{La(t,i,4)}};let p=$c(t)?[]:hu;const d=()=>{if(_.active)if(e){const t=_();(o||u||zc(t,p))&&(a&&a(),Wa(e,i,3,[t,p===hu?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ku(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){iu(t,Xa,Qa,Ya)}(d):d()};const _=Kc(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return function(t,e=zu){e&&(e.effects||(e.effects=[])).push(t)}(_,i),e?n?d():p=_():"post"===r?ku(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(qc(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function gu(t,e,n){const o=this.proxy;return vu(Ic(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function yu(t,e=new Set){if(!Mc(t)||e.has(t))return t;if(e.add(t),Ba(t))yu(t.value,e);else if($c(t))for(let n=0;n{yu(t,e)}));else for(const n in t)yu(t[n],e);return t}function mu(t){return Fc(t)?{setup:t,name:t.name}:t}function bu(t){Fc(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return mu({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=zu;if(c)return()=>wu(c,t);const e=e=>{a=null,Ka(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>wu(e,t))).catch((t=>(e(t),()=>o?$u(o,{error:t}):null)));const i=Va(!1),u=Va(),p=Va(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?wu(c,t):u.value&&o?$u(o,{error:u.value}):n&&!p.value?$u(n):void 0}})}function wu(t,{vnode:{ref:e,props:n,children:o}}){const r=$u(t,n,o);return r.ref=e,r}const ku=function(t,e){e&&e.pendingBranch?$c(t)?e.effects.push(...t):e.effects.push(t):iu(t,tu,Za,eu)},Su=Symbol(),xu=Symbol(void 0),Ru=Symbol(void 0),Cu=Symbol(void 0);function Eu(t){return!!t&&!0===t.__v_isVNode}const Ou=({key:t})=>null!=t?t:null,ju=({ref:t})=>null!=t?Ic(t)||Ba(t)||Fc(t)?{i:null,r:t}:t:null,$u=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Su||(t=Cu);if(Eu(t)){const o=Pu(t,e,!0);return n&&Au(o,n),o}l=t,Fc(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Ta(e)||"__vInternal"in e)&&(e=Ec({},e));let{class:t,style:n}=e;t&&!Ic(t)&&(e.class=kc(t)),Mc(n)&&(Ta(n)&&!$c(n)&&(n=Ec({},n)),e.style=yc(n))}const i=Ic(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Mc(t)?4:Fc(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ou(e),ref:e&&ju(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Au(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=fu(n.default),r=fu(n.fallback)):(o=fu(n),r=Iu(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function Pu(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?function(...t){const e=Ec({},t[0]);for(let n=1;nMu(t,e,n)));for(const l in e)o&&jc(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Nu=t=>t&&(t.proxy?t.proxy:Nu(t.parent)),Tu=Ec(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Nu(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Mu(l,e,t))),Mu(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(Ha.length&&Ha.includes(e,Ja&&e.allowRecurse?Ga+1:Ga)||e===ru||(Ha.push(e),lu()));var e},$nextTick:t=>su.bind(t.proxy),$watch:t=>gu.bind(t)}),Uu={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Sc&&jc(o,e))return l[e]=0,o[e];if(r!==Sc&&jc(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&jc(a,e))return l[e]=2,s[e];if(n!==Sc&&jc(n,e))return l[e]=3,n[e];l[e]=4}}const u=Tu[e];let f,p;return u?("$attrs"===e&&Xc(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Sc&&jc(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,jc(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Sc&&jc(r,e))r[e]=n;else if(o!==Sc&&jc(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Sc&&jc(t,l)||e!==Sc&&jc(e,l)||(i=s[0])&&jc(i,l)||jc(o,l)||jc(Tu,l)||jc(r.config.globalProperties,l)}};Ec({},Uu,{get(t,e){if(e!==Symbol.unscopables)return Uu.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!gc(e)});let zu=null;const Bu=()=>({src:"",alt:"",description:{id:b(),name:"sb-paragraph",data:{value:"",align:"left"}}});var Vu={name:"sb-image",getDefaultData:Bu,edit:bu((()=>Rn((()=>__import__("./edit.fbd6e1aa.js")),["./assets/edit.fbd6e1aa.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"]))),display:bu((()=>Rn((()=>__import__("./display.8a67d4c4.js")),["./assets/display.8a67d4c4.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"])))};a(n({name:"App",setup(){const t=o("edit"),e=r({name:"none",id:"0",data:null});s((async()=>{const t=await fetch("/initial-data.json"),n=await t.json();e.name=n.name,e.id=n.id,e.data=n.data}));const n=l((()=>{switch(t.value){case u.Edit:return i(On,{block:e,onUpdate:t=>{e.data=t.data},customBlocks:[Ms,Ns,Vu,_c],key:"edit",mode:u.Edit},null);case u.Display:return i(On,{block:e,customBlocks:[Ms,Ns,Vu,_c],key:"display",mode:u.Display},null);case"data":return i("pre",null,[i("code",null,[JSON.stringify(e,null,2)])])}}));return()=>i("div",{id:"app"},[i("select",{value:t.value,onChange:e=>{t.value=e.target.value}},[i("option",null,[c("edit")]),i("option",null,[c("display")]),i("option",null,[c("data")])]),n.value])}})).mount("#app");export{Fa as A,Va as B,_u as C,$u as D,Fu as E,xu as F,Fe as G,k as H,Le as I,Ke as J,oo as S,ws as a,yn as b,Is as c,us as d,En as e,Cs as f,As as g,eo as h,no as i,Li as j,hc as k,ti as l,w as m,ai as n,Ti as o,zi as p,dc as q,kr as r,tc as s,ro as t,ln as u,nc as v,ls as w,sc as x,mu as y,Bu as z}; +var t=Object.assign;import{d as e,a as n,r as o,b as r,o as s,c as l,e as i,f as c,g as a}from"./vendor.9babb3f5.js";var u,f;!function(t=".",e="__import__"){try{self[e]=new Function("u","return import(u)")}catch(n){const o=new URL(t,location),r=t=>{URL.revokeObjectURL(t.src),t.remove()};self[e]=t=>new Promise(((n,s)=>{const l=new URL(t,o);if(self[e].moduleMap[l])return n(self[e].moduleMap[l]);const i=new Blob([`import * as m from '${l}';`,`${e}.moduleMap['${l}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(i),onerror(){s(new Error(`Failed to import: ${t}`)),r(c)},onload(){n(self[e].moduleMap[l]),r(c)}});document.head.appendChild(c)})),self[e].moduleMap={}}}("assets/"),(f=u||(u={})).Edit="edit",f.Display="display";const p=Symbol("Schlechtenburg mode");var d,h=new Uint8Array(16);function _(){if(!d&&!(d="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return d(h)}var v=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function g(t){return"string"==typeof t&&v.test(t)}for(var y=[],b=0;b<256;++b)y.push((b+256).toString(16).substr(1));const m=function(t,e,n){var o=(t=t||{}).random||(t.rng||_)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var r=0;r<16;++r)e[n+r]=o[r];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[t[e+0]]+y[t[e+1]]+y[t[e+2]]+y[t[e+3]]+"-"+y[t[e+4]]+y[t[e+5]]+"-"+y[t[e+6]]+y[t[e+7]]+"-"+y[t[e+8]]+y[t[e+9]]+"-"+y[t[e+10]]+y[t[e+11]]+y[t[e+12]]+y[t[e+13]]+y[t[e+14]]+y[t[e+15]]).toLowerCase();if(!g(n))throw TypeError("Stringified UUID is invalid");return n}(o)},w={prop:"block",event:"update"},k={blockId:{type:String,default:m}};function S(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const x=S("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function R(t){if(T(t)){const e={};for(let n=0;n{if(t){const n=t.split(E);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function j(t){let e="";if(B(t))e=t;else if(T(t))for(let n=0;n{},F=/^on[^a-z]/,I=t=>F.test(t),A=Object.assign,M=Object.prototype.hasOwnProperty,N=(t,e)=>M.call(t,e),T=Array.isArray,U=t=>"[object Map]"===W(t),z=t=>"function"==typeof t,B=t=>"string"==typeof t,V=t=>"symbol"==typeof t,D=t=>null!==t&&"object"==typeof t,L=Object.prototype.toString,W=t=>L.call(t),K=t=>B(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,J=(t,e)=>t!==e&&(t==t||e==e),q=new WeakMap,H=[];let G;const Q=Symbol(""),X=Symbol("");function Y(t,e=$){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!H.includes(n)){tt(n);try{return nt.push(et),et=!0,H.push(n),G=n,t()}finally{H.pop(),rt(),G=H[H.length-1]}}};return n.id=Z++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Z=0;function tt(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==G||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&T(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":T(t)?K(n)&&c(l.get("length")):(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"delete":T(t)||(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"set":U(t)&&c(l.get(Q))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const it=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(V)),ct=dt(),at=dt(!1,!0),ut=dt(!0),ft=dt(!0,!0),pt={};function dt(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Bt:zt).get(n))return n;const s=T(n);if(!t&&s&&N(pt,o))return Reflect.get(pt,o,r);const l=Reflect.get(n,o,r);if(V(o)?it.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||st(n,0,o),e)return l;if(Qt(l)){return!s||!K(o)?l.value:l}return D(l)?t?Lt(l):Dt(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];pt[t]=function(...t){const n=Ht(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];pt[t]=function(...t){ot();const n=e.apply(this,t);return rt(),n}}));function ht(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ht(o),!T(e)&&Qt(s)&&!Qt(o)))return s.value=o,!0;const l=T(e)&&K(n)?Number(n)!0,deleteProperty:(t,e)=>!0},gt=A({},_t,{get:at,set:ht(!0)});A({},vt,{get:ft});const yt=t=>D(t)?Dt(t):t,bt=t=>D(t)?Lt(t):t,mt=t=>t,wt=t=>Reflect.getPrototypeOf(t);function kt(t,e,n=!1,o=!1){const r=Ht(t=t.__v_raw),s=Ht(e);e!==s&&!n&&st(r,0,e),!n&&st(r,0,s);const{has:l}=wt(r),i=n?bt:o?mt:yt;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function St(t,e=!1){const n=this.__v_raw,o=Ht(n),r=Ht(t);return t!==r&&!e&&st(o,0,t),!e&&st(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function xt(t,e=!1){return t=t.__v_raw,!e&&st(Ht(t),0,Q),Reflect.get(t,"size",t)}function Rt(t){t=Ht(t);const e=Ht(this),n=wt(e).has.call(e,t);return e.add(t),n||lt(e,"add",t,t),this}function Ct(t,e){e=Ht(e);const n=Ht(this),{has:o,get:r}=wt(n);let s=o.call(n,t);s||(t=Ht(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?J(e,l)&<(n,"set",t,e):lt(n,"add",t,e),this}function Et(t){const e=Ht(this),{has:n,get:o}=wt(e);let r=n.call(e,t);r||(t=Ht(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&<(e,"delete",t,void 0),s}function Ot(){const t=Ht(this),e=0!==t.size,n=t.clear();return e&<(t,"clear",void 0,void 0),n}function jt(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ht(s),i=t?bt:e?mt:yt;return!t&&st(l,0,Q),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function $t(t,e,n){return function(...o){const r=this.__v_raw,s=Ht(r),l=U(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?bt:n?mt:yt;return!e&&st(s,0,c?X:Q),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Pt(t){return function(...e){return"delete"!==t&&this}}const Ft={get(t){return kt(this,t)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!1)},It={get(t){return kt(this,t,!1,!0)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!0)},At={get(t){return kt(this,t,!0)},get size(){return xt(this,!0)},has(t){return St.call(this,t,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:jt(!0,!1)};function Mt(t,e){const n=e?It:t?At:Ft;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(N(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Ft[t]=$t(t,!1,!1),At[t]=$t(t,!0,!1),It[t]=$t(t,!1,!0)}));const Nt={get:Mt(!1,!1)},Tt={get:Mt(!1,!0)},Ut={get:Mt(!0,!1)},zt=new WeakMap,Bt=new WeakMap;function Vt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>W(t).slice(8,-1))(t))}function Dt(t){return t&&t.__v_isReadonly?t:Wt(t,!1,_t,Nt)}function Lt(t){return Wt(t,!0,vt,Ut)}function Wt(t,e,n,o){if(!D(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Bt:zt,s=r.get(t);if(s)return s;const l=Vt(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Kt(t){return Jt(t)?Kt(t.__v_raw):!(!t||!t.__v_isReactive)}function Jt(t){return!(!t||!t.__v_isReadonly)}function qt(t){return Kt(t)||Jt(t)}function Ht(t){return t&&Ht(t.__v_raw)||t}const Gt=t=>D(t)?Dt(t):t;function Qt(t){return Boolean(t&&!0===t.__v_isRef)}function Xt(t){return function(t,e=!1){if(Qt(t))return t;return new Yt(t,e)}(t)}class Yt{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Gt(t)}get value(){return st(Ht(this),0,"value"),this._value}set value(t){J(Ht(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Gt(t),lt(Ht(this),"set","value",t))}}class Zt{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Y(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,lt(Ht(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),st(Ht(this),0,"value"),this._value}set value(t){this._setter(t)}}function te(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){ne(s,e,n)}return r}function ee(t,e,n,o){if(z(t)){const s=te(t,e,n,o);return s&&(D(r=s)&&z(r.then)&&z(r.catch))&&s.catch((t=>{ne(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function we(t){re=!1,oe=!0,be(t),se.sort(((t,e)=>me(t)-me(e)));try{for(le=0;leme(t)-me(e))),pe=0;peSe+=t;const Re=(Ce="um",(t,e=en)=>function(t,e,n=en,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;ot(),nn(n);const r=ee(e,n,t,o);return nn(null),rt(),r});return o?r.unshift(s):r.push(s),s}}(Ce,t,e));var Ce;const Ee={};function Oe(t,e,n){return je(t,e,n)}function je(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=$,i=en){let c,a,u=!1;if(Qt(t)?(c=()=>t.value,u=!!t._shallow):Kt(t)?(c=()=>t,o=!0):c=T(t)?()=>t.map((t=>Qt(t)?t.value:Kt(t)?Pe(t):z(t)?te(t,i,2):void 0)):z(t)?e?()=>te(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),te(t,i,3,[f])}:P,e&&o){const t=c;c=()=>Pe(t())}const f=t=>{a=_.options.onStop=()=>{te(t,i,4)}};let p=T(t)?[]:Ee;const d=()=>{if(_.active)if(e){const t=_();(o||u||J(t,p))&&(a&&a(),ee(e,i,3,[t,p===Ee?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Me(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){ye(t,ce,ie,ae)}(d):d()};const _=Y(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return on(_,i),e?n?d():p=_():"post"===r?Me(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(tt(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function $e(t,e,n){const o=this.proxy;return je(B(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Pe(t,e=new Set){if(!D(t)||e.has(t))return t;if(e.add(t),Qt(t))Pe(t.value,e);else if(T(t))for(let n=0;n{Pe(t,e)}));else for(const n in t)Pe(t[n],e);return t}function Fe(t){return z(t)?{setup:t,name:t.name}:t}function Ie(t){z(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Fe({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=en;if(c)return()=>Ae(c,t);const e=e=>{a=null,ne(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ae(e,t))).catch((t=>(e(t),()=>o?Le(o,{error:t}):null)));const i=Xt(!1),u=Xt(),p=Xt(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ae(c,t):u.value&&o?Le(o,{error:u.value}):n&&!p.value?Le(n):void 0}})}function Ae(t,{vnode:{ref:e,props:n,children:o}}){const r=Le(t,n,o);return r.ref=e,r}const Me=function(t,e){e&&e.pendingBranch?T(t)?e.effects.push(...t):e.effects.push(t):ye(t,fe,ue,pe)},Ne=Symbol(),Te=Symbol(void 0),Ue=Symbol(void 0),ze=Symbol(void 0);function Be(t){return!!t&&!0===t.__v_isVNode}const Ve=({key:t})=>null!=t?t:null,De=({ref:t})=>null!=t?B(t)||Qt(t)||z(t)?{i:null,r:t}:t:null,Le=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Ne||(t=ze);if(Be(t)){const o=We(t,e,!0);return n&&qe(o,n),o}l=t,z(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(qt(e)||"__vInternal"in e)&&(e=A({},e));let{class:t,style:n}=e;t&&!B(t)&&(e.class=j(t)),D(n)&&(qt(n)&&!T(n)&&(n=A({},n)),e.style=R(n))}const i=B(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:D(t)?4:z(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ve(e),ref:e&&De(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(qe(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ke(n.default),r=ke(n.fallback)):(o=ke(n),r=Je(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function We(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?He(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Ve(l),ref:e&&e.ref?n&&r?T(r)?r.concat(De(e)):[r,De(e)]:De(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Te?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&We(t.ssContent),ssFallback:t.ssFallback&&We(t.ssFallback),el:t.el,anchor:t.anchor}}function Ke(t=" ",e=0){return Le(Ue,null,t,e)}function Je(t){return null==t||"boolean"==typeof t?Le(ze):T(t)?Le(Te,null,t):"object"==typeof t?null===t.el?t:We(t):Le(Ue,null,String(t))}function qe(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(T(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&xe(1),qe(t,n()),n._c&&xe(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else z(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ke(e)]):n=8);t.children=e,t.shapeFlag|=n}function He(...t){const e=A({},t[0]);for(let n=1;n1)return n&&z(e)?e():e}}function Xe(t,e,n){const o=n.appContext.config.optionMergeStrategies,{mixins:r,extends:s}=e;s&&Xe(t,s,n),r&&r.forEach((e=>Xe(t,e,n)));for(const l in e)o&&N(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Ye=t=>t&&(t.proxy?t.proxy:Ye(t.parent)),Ze=A(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ye(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Xe(l,e,t))),Xe(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(se.length&&se.includes(e,oe&&e.allowRecurse?le+1:le)||e===_e||(se.push(e),ge()));var e},$nextTick:t=>ve.bind(t.proxy),$watch:t=>$e.bind(t)}),tn={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==$&&N(o,e))return l[e]=0,o[e];if(r!==$&&N(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&N(a,e))return l[e]=2,s[e];if(n!==$&&N(n,e))return l[e]=3,n[e];l[e]=4}}const u=Ze[e];let f,p;return u?("$attrs"===e&&st(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==$&&N(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,N(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==$&&N(r,e))r[e]=n;else if(o!==$&&N(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==$&&N(t,l)||e!==$&&N(e,l)||(i=s[0])&&N(i,l)||N(o,l)||N(Ze,l)||N(r.config.globalProperties,l)}};A({},tn,{get(t,e){if(e!==Symbol.unscopables)return tn.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!x(e)});let en=null;const nn=t=>{en=t};function on(t,e=en){e&&(e.effects||(e.effects=[])).push(t)}function rn(t){const e=function(t){let e,n;return z(t)?(e=t,n=P):(e=t.get,n=t.set),new Zt(e,n,z(t)||!t.set)}(t);return on(e.effect),e}const sn=Symbol("Schlechtenburg active block");function ln(t=null){const e=Qe(sn,Xt(null)),n=rn((()=>e.value===t)),o=n=>{e.value=void 0!==n?n:t};return{activeBlockId:e,isActive:n,activate:o,requestActivation:()=>{e.value||o()}}}const cn=Symbol("Schlechtenburg block library");function an(){const t=Qe(p,Xt(u.Edit)),e=Qe(cn,Dt({}));return{mode:t,customBlocks:e,getBlock:t=>e[t]}}const un=Symbol("Schlechtenburg block dimensions"),fn=Symbol("Schlechtenburg editor dimensions");function pn(t,e){const n=Xt(null);Ge(e,n);const o=()=>{if(!t.value)return;const e=t.value.getBoundingClientRect();n.value={width:e.width,height:e.height,left:t.value.offsetLeft,top:t.value.offsetTop}},r=new ResizeObserver(o),s=new MutationObserver(o);return Oe(t,(()=>{t.value&&(r.observe(t.value),s.observe(t.value,{attributes:!0,childList:!1,subtree:!1}))})),{triggerSizeCalculation:o,dimensions:n}}function dn(){return{editorDimensions:Qe(fn,Xt(null)),blockDimensions:Qe(un,Xt(null))}}const hn=Symbol("Schlechtenburg block tree"),_n=Symbol("Schlechtenburg block tree register"),vn=Symbol("Schlechtenburg block tree unregister");function gn(){const t=Qe(hn,Xt(null)),e=Qe(_n,(t=>{})),n=Qe(vn,(t=>{})),o=Dt({id:"",name:"",icon:"",children:[]});Ge(_n,(t=>{o.children.find((e=>e.id===t.id))||(o.children=[...o.children,t])})),Ge(vn,(({id:t})=>{o.children=o.children.filter((e=>e.id!==t))}));return Re((()=>{o.id&&n(o)})),{blockTree:t,register:t=>{if(!t.id)throw new Error(`Cannot register a block without an id: ${JSON.stringify(t)}`);o.id=t.id,o.name=t.name,e(o)}}}const yn=Fe({name:"sb-button",inheritAttrs:!1,setup:(e,n)=>()=>{var e,o;return Le("button",t(t({},n.attrs),{class:(n.attrs.class||"")+" sb-button"}),[null==(o=(e=n.slots).default)?void 0:o.call(e)])}});const bn=Fe({name:"sb-context-menu",props:{onClose:{type:Function,default:()=>{}},onOpen:{type:Function,default:()=>{}}},setup(t,e){const n=Xt(!1),o=()=>{n.value=!0},r=()=>{n.value=!1},s=t=>{"Escape"===t.key&&r()},l=()=>{n.value?r():o()};return Oe(n,((e,n)=>{e!==n&&(e?setTimeout((()=>{document.body.addEventListener("click",r),document.body.addEventListener("keypress",s),t.onOpen()})):(document.body.removeEventListener("click",r),document.body.removeEventListener("keypress",s),t.onClose()))})),()=>{var t,s,i,c;return Le("div",{class:"sb-context"},[(null==(s=(t=e.slots).context)?void 0:s.call(t,{opened:n,toggle:l,close:r,open:o}))||Le(yn,{onClick:l},{default:()=>[Ke("Menu")]}),Le("dialog",He({class:"sb-context-menu",open:!!n.value||void 0,onClick:t=>{t.stopPropagation()}},{onClose:r}),[(null==(c=(i=e.slots).default)?void 0:c.call(i,{opened:n,toggle:l,close:r,open:o}))||null])])}}});const mn=Fe({name:"sb-main-menu",setup(){const{blockTree:t}=gn(),{activate:e,activeBlockId:n}=ln(),o=(t,r)=>{var s,l;return Le("li",{class:{"sb-tree-block-select__block":!0,"sb-tree-block-select__block_active":n.value===t.id}},[Le("button",{class:"sb-tree-block-select__block-name",onClick:()=>{e(t.id),r()},onMouseenter:()=>e(t.id)},[t.name]),(null==(s=t.children)?void 0:s.length)?Le("ul",{class:"sb-tree-block-select__list"},[null==(l=t.children)?void 0:l.map((t=>o(t,r)))]):null])};return()=>t.value?Le(bn,{class:"sb-tree-block-select"},{context:({toggle:t})=>Le(yn,{onClick:t},{default:()=>[Ke("Tree")]}),default:({close:e})=>Le("ul",{class:"sb-tree-block-select__list sb-tree-block-select__list_base"},[o(t.value,e)])}):""}});const wn=Fe({name:"sb-main-menu",props:{block:{type:null,required:!0}},setup:()=>()=>Le("div",{class:"sb-main-menu"},[Le(mn,null,null)])});const kn=Fe({name:"sb-block-toolbar",setup:()=>()=>Le("div",{class:"sb-block-toolbar"},null)});let Sn;const xn={},Rn=function(t,e){if(!e)return t();if(void 0===Sn){const t=document.createElement("link").relList;Sn=t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(e.map((t=>{if(t in xn)return;xn[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const o=document.createElement("link");return o.rel=e?"stylesheet":Sn,e||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),e?new Promise(((t,e)=>{o.addEventListener("load",t),o.addEventListener("error",e)})):void 0}))).then((()=>t()))};var Cn={name:"sb-missing-block",edit:Ie((()=>Rn((()=>__import__("./display.a0a80010.js")),["./assets/display.a0a80010.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"]))),display:Ie((()=>Rn((()=>__import__("./display.a0a80010.js")),["./assets/display.a0a80010.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"])))};const En=Fe({name:"sb-block",props:{block:{type:null,required:!0},sortable:{type:String,default:null},onUpdate:{type:Function,default:()=>{}},onPrependBlock:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}}},setup(e,n){const o=Xt(null),{mode:r,getBlock:s}=an(),{isActive:l,activate:i}=ln(e.block.id),c=rn((()=>({"sb-block":!0,"sb-block_active":l.value}))),{triggerSizeCalculation:a}=pn(o,un);Oe((()=>e.block.data),a);const{register:f}=gn();f(e.block),Oe(e.block,(()=>{f(e.block)}));const p=n=>{e.onUpdate(t(t({},e.block),{data:t(t({},e.block.data),n)}))};return()=>{var l;const a=null==(l=s(e.block.name))?void 0:l[r.value];if(!a){const t=Cn[r.value];return Le(t,{name:e.block.name,blockId:e.block.id},null)}return r.value===u.Display?Le(a,{data:e.block.data,blockId:e.block.id},null):Le("div",{ref:o,class:c.value},[Le("div",{class:"sb-block__edit-cover"},null),n.slots["context-toolbar"]?n.slots["context-toolbar"]():null,Le(a,He({data:e.block.data,blockId:e.block.id,onUpdate:p,onPrependBlock:e.onPrependBlock,onAppendBlock:e.onAppendBlock,onRemoveSelf:e.onRemoveSelf,onActivatePrevious:e.onActivatePrevious,onActivateNext:e.onActivateNext},t({"onClick:value":t=>{t.stopPropagation(),i()}},n.attrs)),null)])}}});const On=Fe({name:"sb-main",model:w,props:{customBlocks:{type:Array,default:()=>[]},block:{type:Object,required:!0},onUpdate:{type:Function,default:()=>{}},mode:{type:String,validator:t=>Object.values(u).includes(t),default:u.Edit}},setup(e){const n=Xt(null);pn(n,fn);const o=Xt(e.mode);Ge(p,o);const r=Xt(null);Ge(sn,r);const s=Xt(null);Ge(hn,s),Ge(_n,(t=>{s.value=t})),Ge(vn,(()=>{s.value=null}));const l=Wt(t({},e.customBlocks.reduce(((e,n)=>t(t({},e),{[n.name]:n})),{})),!1,gt,Tt);return Ge(cn,l),()=>Le("div",{class:"sb-main",ref:n},[o.value===u.Edit?Le(Te,null,[Le(wn,{block:e.block},null),Le(kn,null,null)]):null,Le(En,{block:e.block,onUpdate:e.onUpdate},null)])}});const jn=Fe({name:"sb-modal",props:{open:{type:Boolean,default:!1},onClose:{type:Function,default:()=>{}}},setup(t,e){const n=rn((()=>({"sb-modal":!0,"sb-modal_open":t.open})));return()=>{var o,r;return Le("div",{class:n.value},[Le("div",{class:"sb-modal__overlay",onClick:e=>{e.stopPropagation(),t.onClose()}},[Le("div",{class:"sb-modal__content"},[null==(r=(o=e.slots).default)?void 0:r.call(o)])])])}}});const $n=Fe({name:"sb-block-picker",props:{onPickedBlock:{type:Function,default:()=>{}}},setup(t){const e=Xt(!1),{customBlocks:n}=an(),o=rn((()=>Object.keys(n).map((t=>n[t]))));return()=>Le("div",{class:"sb-block-picker"},[Le(yn,He({class:"sb-block-picker__add-button"},{type:"button",onClick:t=>{e.value=!0,t.stopPropagation()}}),{default:()=>[Ke("+")]}),Le(jn,He({open:e.value,onClose:()=>{e.value=!1}},{onClick:t=>t.stopPropagation()}),{default:()=>[...o.value.map((n=>Le(yn,{type:"button",onClick:()=>(n=>()=>{e.value=!1,t.onPickedBlock({name:n.name,id:""+ +new Date,data:n.getDefaultData()})})(n)},{default:()=>[n.name]})))]})])}});var Pn="object"==typeof global&&global&&global.Object===Object&&global,Fn="object"==typeof self&&self&&self.Object===Object&&self,In=Pn||Fn||Function("return this")(),An=In.Symbol,Mn=Object.prototype,Nn=Mn.hasOwnProperty,Tn=Mn.toString,Un=An?An.toStringTag:void 0;var zn=Object.prototype.toString;var Bn=An?An.toStringTag:void 0;function Vn(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Bn&&Bn in Object(t)?function(t){var e=Nn.call(t,Un),n=t[Un];try{t[Un]=void 0;var o=!0}catch(s){}var r=Tn.call(t);return o&&(e?t[Un]=n:delete t[Un]),r}(t):function(t){return zn.call(t)}(t)}var Dn=/\s/;var Ln=/^\s+/;function Wn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Dn.test(t.charAt(e)););return e}(t)+1).replace(Ln,""):t}function Kn(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var Jn=/^[-+]0x[0-9a-f]+$/i,qn=/^0b[01]+$/i,Hn=/^0o[0-7]+$/i,Gn=parseInt;function Qn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==Vn(t)}(t))return NaN;if(Kn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Kn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Wn(t);var n=qn.test(t);return n||Hn.test(t)?Gn(t.slice(2),n?2:8):Jn.test(t)?NaN:+t}var Xn=function(){return In.Date.now()},Yn=Math.max,Zn=Math.min;function to(t,e,n){var o,r,s,l,i,c,a=0,u=!1,f=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var n=o,s=r;return o=r=void 0,a=e,l=t.apply(s,n)}function h(t){return a=t,i=setTimeout(v,e),u?d(t):l}function _(t){var n=t-c;return void 0===c||n>=e||n<0||f&&t-a>=s}function v(){var t=Xn();if(_(t))return g(t);i=setTimeout(v,function(t){var n=e-(t-c);return f?Zn(n,s-(t-a)):n}(t))}function g(t){return i=void 0,p&&o?d(t):(o=r=void 0,l)}function y(){var t=Xn(),n=_(t);if(o=arguments,r=this,c=t,n){if(void 0===i)return h(c);if(f)return clearTimeout(i),i=setTimeout(v,e),d(c)}return void 0===i&&(i=setTimeout(v,e)),l}return e=Qn(e)||0,Kn(n)&&(u=!!n.leading,s=(f="maxWait"in n)?Yn(Qn(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==i&&clearTimeout(i),a=0,o=c=r=i=void 0},y.flush=function(){return void 0===i?l:g(Xn())},y}const eo=Fe({name:"sb-block-ordering",props:{orientation:{type:String,default:null},onRemove:{type:Function,default:()=>{}},onMoveBackward:{type:Function,default:()=>{}},onMoveForward:{type:Function,default:()=>{}}},setup(t){const e=Dt({top:"",right:""}),n=rn((()=>({"sb-block-ordering":!0,[`sb-block-ordering_${t.orientation}`]:!!t.orientation}))),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.width-r.value.left;e.top=`${r.value.top}px`,e.right=`${t}px`}));return Oe(o,s),Oe(r,s),Oe((()=>t.orientation),s),()=>Le("div",{class:n.value,style:e,onClick:t=>t.stopPropagation()},[Le(yn,{onClick:t.onMoveBackward},{default:()=>["vertical"===t.orientation?"↑":"←"]}),Le(yn,{onClick:t.onRemove},{default:()=>[Ke("x")]}),Le(yn,{onClick:t.onMoveForward},{default:()=>["vertical"===t.orientation?"↓":"→"]})])}});const no=Fe({name:"sb-block-placeholder",props:{onInsertBlock:{type:Function,default:()=>{}}},setup:t=>()=>Le("div",{class:"sb-block-placeholder"},[Le($n,{onPickedBlock:e=>t.onInsertBlock(e)},null)])});const oo=Fe({name:"sb-toolbar",setup(t,e){const n=Dt({bottom:"",left:"",maxWidth:""}),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.height-r.value.top;n.bottom=`${t}px`,n.left=`${r.value.left}px`,n.maxWidth=`${r.value.width}px`}));return Oe(o,s),Oe(r,s),()=>{var t,o;return Le("div",{class:"sb-toolbar",style:n,onClick:t=>t.stopPropagation()},[null==(o=null==(t=e.slots)?void 0:t.default)?void 0:o.call(t)])}}});const ro=Fe({name:"sb-select",inheritAttrs:!1,setup:(t,e)=>()=>{var t,n;return Le("div",{class:"sb-select"},[Le("select",He({class:"sb-select__input"},e.attrs),[null==(n=(t=e.slots).default)?void 0:n.call(t)])])}});function so(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const lo=so("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function io(t){if(mo(t)){const e={};for(let n=0;n{if(t){const n=t.split(ao);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function fo(t){let e="";if(So(t))e=t;else if(mo(t))for(let n=0;n{},_o=/^on[^a-z]/,vo=t=>_o.test(t),go=Object.assign,yo=Object.prototype.hasOwnProperty,bo=(t,e)=>yo.call(t,e),mo=Array.isArray,wo=t=>"[object Map]"===Eo(t),ko=t=>"function"==typeof t,So=t=>"string"==typeof t,xo=t=>"symbol"==typeof t,Ro=t=>null!==t&&"object"==typeof t,Co=Object.prototype.toString,Eo=t=>Co.call(t),Oo=t=>So(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,jo=(t,e)=>t!==e&&(t==t||e==e),$o=new WeakMap,Po=[];let Fo;const Io=Symbol(""),Ao=Symbol("");function Mo(t,e=po){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Po.includes(n)){To(n);try{return zo.push(Uo),Uo=!0,Po.push(n),Fo=n,t()}finally{Po.pop(),Bo(),Fo=Po[Po.length-1]}}};return n.id=No++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let No=0;function To(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Fo||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&mo(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":mo(t)?Oo(n)&&c(l.get("length")):(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"delete":mo(t)||(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"set":wo(t)&&c(l.get(Io))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Lo=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(xo)),Wo=Go(),Ko=Go(!1,!0),Jo=Go(!0),qo=Go(!0,!0),Ho={};function Go(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?mr:br).get(n))return n;const s=mo(n);if(!t&&s&&bo(Ho,o))return Reflect.get(Ho,o,r);const l=Reflect.get(n,o,r);if(xo(o)?Lo.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Vo(n,0,o),e)return l;if($r(l)){return!s||!Oo(o)?l.value:l}return Ro(l)?t?Sr(l):kr(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Ho[t]=function(...t){const n=Or(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Ho[t]=function(...t){zo.push(Uo),Uo=!1;const n=e.apply(this,t);return Bo(),n}}));function Qo(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Or(o),!mo(e)&&$r(s)&&!$r(o)))return s.value=o,!0;const l=mo(e)&&Oo(n)?Number(n)!0,deleteProperty:(t,e)=>!0};go({},Xo,{get:Ko,set:Qo(!0)}),go({},Yo,{get:qo});const Zo=t=>Ro(t)?kr(t):t,tr=t=>Ro(t)?Sr(t):t,er=t=>t,nr=t=>Reflect.getPrototypeOf(t);function or(t,e,n=!1,o=!1){const r=Or(t=t.__v_raw),s=Or(e);e!==s&&!n&&Vo(r,0,e),!n&&Vo(r,0,s);const{has:l}=nr(r),i=n?tr:o?er:Zo;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function rr(t,e=!1){const n=this.__v_raw,o=Or(n),r=Or(t);return t!==r&&!e&&Vo(o,0,t),!e&&Vo(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function sr(t,e=!1){return t=t.__v_raw,!e&&Vo(Or(t),0,Io),Reflect.get(t,"size",t)}function lr(t){t=Or(t);const e=Or(this),n=nr(e).has.call(e,t);return e.add(t),n||Do(e,"add",t,t),this}function ir(t,e){e=Or(e);const n=Or(this),{has:o,get:r}=nr(n);let s=o.call(n,t);s||(t=Or(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?jo(e,l)&&Do(n,"set",t,e):Do(n,"add",t,e),this}function cr(t){const e=Or(this),{has:n,get:o}=nr(e);let r=n.call(e,t);r||(t=Or(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Do(e,"delete",t,void 0),s}function ar(){const t=Or(this),e=0!==t.size,n=t.clear();return e&&Do(t,"clear",void 0,void 0),n}function ur(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Or(s),i=t?tr:e?er:Zo;return!t&&Vo(l,0,Io),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function fr(t,e,n){return function(...o){const r=this.__v_raw,s=Or(r),l=wo(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?tr:n?er:Zo;return!e&&Vo(s,0,c?Ao:Io),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function pr(t){return function(...e){return"delete"!==t&&this}}const dr={get(t){return or(this,t)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!1)},hr={get(t){return or(this,t,!1,!0)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!0)},_r={get(t){return or(this,t,!0)},get size(){return sr(this,!0)},has(t){return rr.call(this,t,!0)},add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear"),forEach:ur(!0,!1)};function vr(t,e){const n=e?hr:t?_r:dr;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(bo(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{dr[t]=fr(t,!1,!1),_r[t]=fr(t,!0,!1),hr[t]=fr(t,!1,!0)}));const gr={get:vr(!1,!1)},yr={get:vr(!0,!1)},br=new WeakMap,mr=new WeakMap;function wr(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Eo(t).slice(8,-1))(t))}function kr(t){return t&&t.__v_isReadonly?t:xr(t,!1,Xo,gr)}function Sr(t){return xr(t,!0,Yo,yr)}function xr(t,e,n,o){if(!Ro(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?mr:br,s=r.get(t);if(s)return s;const l=wr(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Rr(t){return Cr(t)?Rr(t.__v_raw):!(!t||!t.__v_isReactive)}function Cr(t){return!(!t||!t.__v_isReadonly)}function Er(t){return Rr(t)||Cr(t)}function Or(t){return t&&Or(t.__v_raw)||t}const jr=t=>Ro(t)?kr(t):t;function $r(t){return Boolean(t&&!0===t.__v_isRef)}function Pr(t){return function(t,e=!1){if($r(t))return t;return new Fr(t,e)}(t)}class Fr{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:jr(t)}get value(){return Vo(Or(this),0,"value"),this._value}set value(t){jo(Or(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:jr(t),Do(Or(this),"set","value",t))}}class Ir{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Mo(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Do(Or(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),Vo(Or(this),0,"value"),this._value}set value(t){this._setter(t)}}function Ar(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Nr(s,e,n)}return r}function Mr(t,e,n,o){if(ko(t)){const s=Ar(t,e,n,o);return s&&(Ro(r=s)&&ko(r.then)&&ko(r.catch))&&s.catch((t=>{Nr(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function es(t){Ur=!1,Tr=!0,Zr(t),zr.sort(((t,e)=>ts(t)-ts(e)));try{for(Br=0;Brts(t)-ts(e))),Jr=0;Jros+=t;const ss={};function ls(t,e,n){return is(t,e,n)}function is(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=po,i=Ps){let c,a,u=!1;if($r(t)?(c=()=>t.value,u=!!t._shallow):Rr(t)?(c=()=>t,o=!0):c=mo(t)?()=>t.map((t=>$r(t)?t.value:Rr(t)?as(t):ko(t)?Ar(t,i,2):void 0)):ko(t)?e?()=>Ar(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),Ar(t,i,3,[f])}:ho,e&&o){const t=c;c=()=>as(t())}const f=t=>{a=_.options.onStop=()=>{Ar(t,i,4)}};let p=mo(t)?[]:ss;const d=()=>{if(_.active)if(e){const t=_();(o||u||jo(t,p))&&(a&&a(),Mr(e,i,3,[t,p===ss?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ds(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){Yr(t,Dr,Vr,Lr)}(d):d()};const _=Mo(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return Fs(_,i),e?n?d():p=_():"post"===r?ds(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(To(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function cs(t,e,n){const o=this.proxy;return is(So(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function as(t,e=new Set){if(!Ro(t)||e.has(t))return t;if(e.add(t),$r(t))as(t.value,e);else if(mo(t))for(let n=0;n{as(t,e)}));else for(const n in t)as(t[n],e);return t}function us(t){return ko(t)?{setup:t,name:t.name}:t}function fs(t){ko(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return us({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=Ps;if(c)return()=>ps(c,t);const e=e=>{a=null,Nr(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>ps(e,t))).catch((t=>(e(t),()=>o?ws(o,{error:t}):null)));const i=Pr(!1),u=Pr(),p=Pr(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?ps(c,t):u.value&&o?ws(o,{error:u.value}):n&&!p.value?ws(n):void 0}})}function ps(t,{vnode:{ref:e,props:n,children:o}}){const r=ws(t,n,o);return r.ref=e,r}const ds=function(t,e){e&&e.pendingBranch?mo(t)?e.effects.push(...t):e.effects.push(t):Yr(t,Kr,Wr,Jr)},hs=Symbol(),_s=Symbol(void 0),vs=Symbol(void 0),gs=Symbol(void 0);function ys(t){return!!t&&!0===t.__v_isVNode}const bs=({key:t})=>null!=t?t:null,ms=({ref:t})=>null!=t?So(t)||$r(t)||ko(t)?{i:null,r:t}:t:null,ws=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==hs||(t=gs);if(ys(t)){const o=ks(t,e,!0);return n&&Rs(o,n),o}l=t,ko(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Er(e)||"__vInternal"in e)&&(e=go({},e));let{class:t,style:n}=e;t&&!So(t)&&(e.class=fo(t)),Ro(n)&&(Er(n)&&!mo(n)&&(n=go({},n)),e.style=io(n))}const i=So(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Ro(t)?4:ko(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&bs(e),ref:e&&ms(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Rs(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ns(n.default),r=ns(n.fallback)):(o=ns(n),r=xs(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ks(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?Cs(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&bs(l),ref:e&&e.ref?n&&r?mo(r)?r.concat(ms(e)):[r,ms(e)]:ms(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==_s?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ks(t.ssContent),ssFallback:t.ssFallback&&ks(t.ssFallback),el:t.el,anchor:t.anchor}}function Ss(t=" ",e=0){return ws(vs,null,t,e)}function xs(t){return null==t||"boolean"==typeof t?ws(gs):mo(t)?ws(_s,null,t):"object"==typeof t?null===t.el?t:ks(t):ws(vs,null,String(t))}function Rs(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(mo(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&rs(1),Rs(t,n()),n._c&&rs(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else ko(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ss(e)]):n=8);t.children=e,t.shapeFlag|=n}function Cs(...t){const e=go({},t[0]);for(let n=1;nEs(t,e,n)));for(const l in e)o&&bo(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Os=t=>t&&(t.proxy?t.proxy:Os(t.parent)),js=go(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Os(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Es(l,e,t))),Es(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(zr.length&&zr.includes(e,Tr&&e.allowRecurse?Br+1:Br)||e===Gr||(zr.push(e),Xr()));var e},$nextTick:t=>Qr.bind(t.proxy),$watch:t=>cs.bind(t)}),$s={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==po&&bo(o,e))return l[e]=0,o[e];if(r!==po&&bo(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&bo(a,e))return l[e]=2,s[e];if(n!==po&&bo(n,e))return l[e]=3,n[e];l[e]=4}}const u=js[e];let f,p;return u?("$attrs"===e&&Vo(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==po&&bo(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,bo(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==po&&bo(r,e))r[e]=n;else if(o!==po&&bo(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==po&&bo(t,l)||e!==po&&bo(e,l)||(i=s[0])&&bo(i,l)||bo(o,l)||bo(js,l)||bo(r.config.globalProperties,l)}};go({},$s,{get(t,e){if(e!==Symbol.unscopables)return $s.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!lo(e)});let Ps=null;function Fs(t,e=Ps){e&&(e.effects||(e.effects=[])).push(t)}function Is(t){const e=function(t){let e,n;return ko(t)?(e=t,n=ho):(e=t.get,n=t.set),new Ir(e,n,ko(t)||!t.set)}(t);return Fs(e.effect),e}const As=()=>({orientation:"vertical",children:[]});var Ms={name:"sb-layout",getDefaultData:As,edit:fs((()=>Rn((()=>__import__("./edit.680bd77a.js")),["./assets/edit.680bd77a.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"]))),display:fs((()=>Rn((()=>__import__("./display.67d272a4.js")),["./assets/display.67d272a4.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"])))};var Ns={name:"sb-heading",getDefaultData:()=>({}),edit:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0))),display:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0)))};function Ts(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const Us=Ts("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function zs(t){if(Xs(t)){const e={};for(let n=0;n{if(t){const n=t.split(Vs);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function Ls(t){let e="";if(tl(t))e=t;else if(Xs(t))for(let n=0;n{},Js=/^on[^a-z]/,qs=t=>Js.test(t),Hs=Object.assign,Gs=Object.prototype.hasOwnProperty,Qs=(t,e)=>Gs.call(t,e),Xs=Array.isArray,Ys=t=>"[object Map]"===rl(t),Zs=t=>"function"==typeof t,tl=t=>"string"==typeof t,el=t=>"symbol"==typeof t,nl=t=>null!==t&&"object"==typeof t,ol=Object.prototype.toString,rl=t=>ol.call(t),sl=t=>tl(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,ll=(t,e)=>t!==e&&(t==t||e==e),il=new WeakMap,cl=[];let al;const ul=Symbol(""),fl=Symbol("");function pl(t,e=Ws){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!cl.includes(n)){hl(n);try{return vl.push(_l),_l=!0,cl.push(n),al=n,t()}finally{cl.pop(),yl(),al=cl[cl.length-1]}}};return n.id=dl++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let dl=0;function hl(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==al||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&Xs(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":Xs(t)?sl(n)&&c(l.get("length")):(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"delete":Xs(t)||(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"set":Ys(t)&&c(l.get(ul))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const wl=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(el)),kl=El(),Sl=El(!1,!0),xl=El(!0),Rl=El(!0,!0),Cl={};function El(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Yl:Xl).get(n))return n;const s=Xs(n);if(!t&&s&&Qs(Cl,o))return Reflect.get(Cl,o,r);const l=Reflect.get(n,o,r);if(el(o)?wl.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||bl(n,0,o),e)return l;if(ci(l)){return!s||!sl(o)?l.value:l}return nl(l)?t?ei(l):ti(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Cl[t]=function(...t){const n=li(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Cl[t]=function(...t){gl();const n=e.apply(this,t);return yl(),n}}));function Ol(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=li(o),!Xs(e)&&ci(s)&&!ci(o)))return s.value=o,!0;const l=Xs(e)&&sl(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Hs({},jl,{get:Sl,set:Ol(!0)}),Hs({},$l,{get:Rl});const Pl=t=>nl(t)?ti(t):t,Fl=t=>nl(t)?ei(t):t,Il=t=>t,Al=t=>Reflect.getPrototypeOf(t);function Ml(t,e,n=!1,o=!1){const r=li(t=t.__v_raw),s=li(e);e!==s&&!n&&bl(r,0,e),!n&&bl(r,0,s);const{has:l}=Al(r),i=n?Fl:o?Il:Pl;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function Nl(t,e=!1){const n=this.__v_raw,o=li(n),r=li(t);return t!==r&&!e&&bl(o,0,t),!e&&bl(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function Tl(t,e=!1){return t=t.__v_raw,!e&&bl(li(t),0,ul),Reflect.get(t,"size",t)}function Ul(t){t=li(t);const e=li(this),n=Al(e).has.call(e,t);return e.add(t),n||ml(e,"add",t,t),this}function zl(t,e){e=li(e);const n=li(this),{has:o,get:r}=Al(n);let s=o.call(n,t);s||(t=li(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?ll(e,l)&&ml(n,"set",t,e):ml(n,"add",t,e),this}function Bl(t){const e=li(this),{has:n,get:o}=Al(e);let r=n.call(e,t);r||(t=li(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&ml(e,"delete",t,void 0),s}function Vl(){const t=li(this),e=0!==t.size,n=t.clear();return e&&ml(t,"clear",void 0,void 0),n}function Dl(t,e){return function(n,o){const r=this,s=r.__v_raw,l=li(s),i=t?Fl:e?Il:Pl;return!t&&bl(l,0,ul),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function Ll(t,e,n){return function(...o){const r=this.__v_raw,s=li(r),l=Ys(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?Fl:n?Il:Pl;return!e&&bl(s,0,c?fl:ul),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Wl(t){return function(...e){return"delete"!==t&&this}}const Kl={get(t){return Ml(this,t)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!1)},Jl={get(t){return Ml(this,t,!1,!0)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!0)},ql={get(t){return Ml(this,t,!0)},get size(){return Tl(this,!0)},has(t){return Nl.call(this,t,!0)},add:Wl("add"),set:Wl("set"),delete:Wl("delete"),clear:Wl("clear"),forEach:Dl(!0,!1)};function Hl(t,e){const n=e?Jl:t?ql:Kl;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(Qs(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Kl[t]=Ll(t,!1,!1),ql[t]=Ll(t,!0,!1),Jl[t]=Ll(t,!1,!0)}));const Gl={get:Hl(!1,!1)},Ql={get:Hl(!0,!1)},Xl=new WeakMap,Yl=new WeakMap;function Zl(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>rl(t).slice(8,-1))(t))}function ti(t){return t&&t.__v_isReadonly?t:ni(t,!1,jl,Gl)}function ei(t){return ni(t,!0,$l,Ql)}function ni(t,e,n,o){if(!nl(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Yl:Xl,s=r.get(t);if(s)return s;const l=Zl(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function oi(t){return ri(t)?oi(t.__v_raw):!(!t||!t.__v_isReactive)}function ri(t){return!(!t||!t.__v_isReadonly)}function si(t){return oi(t)||ri(t)}function li(t){return t&&li(t.__v_raw)||t}const ii=t=>nl(t)?ti(t):t;function ci(t){return Boolean(t&&!0===t.__v_isRef)}function ai(t){return function(t,e=!1){if(ci(t))return t;return new ui(t,e)}(t)}class ui{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:ii(t)}get value(){return bl(li(this),0,"value"),this._value}set value(t){ll(li(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:ii(t),ml(li(this),"set","value",t))}}class fi{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=pl(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,ml(li(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),bl(li(this),0,"value"),this._value}set value(t){this._setter(t)}}function pi(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){hi(s,e,n)}return r}function di(t,e,n,o){if(Zs(t)){const s=pi(t,e,n,o);return s&&(nl(r=s)&&Zs(r.then)&&Zs(r.catch))&&s.catch((t=>{hi(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function Ii(t){vi=!1,_i=!0,Pi(t),gi.sort(((t,e)=>Fi(t)-Fi(e)));try{for(yi=0;yiFi(t)-Fi(e))),xi=0;xiMi+=t;const Ti=(t=>(e,n=uc)=>function(t,e,n=uc,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;gl(),fc(n);const r=di(e,n,t,o);return fc(null),yl(),r});return o?r.unshift(s):r.push(s),s}}(t,e,n))("m"),Ui={};function zi(t,e,n){return Bi(t,e,n)}function Bi(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Ws,i=uc){let c,a,u=!1;if(ci(t)?(c=()=>t.value,u=!!t._shallow):oi(t)?(c=()=>t,o=!0):c=Xs(t)?()=>t.map((t=>ci(t)?t.value:oi(t)?Di(t):Zs(t)?pi(t,i,2):void 0)):Zs(t)?e?()=>pi(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),pi(t,i,3,[f])}:Ks,e&&o){const t=c;c=()=>Di(t())}const f=t=>{a=_.options.onStop=()=>{pi(t,i,4)}};let p=Xs(t)?[]:Ui;const d=()=>{if(_.active)if(e){const t=_();(o||u||ll(t,p))&&(a&&a(),di(e,i,3,[t,p===Ui?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Ji(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){$i(t,mi,bi,wi)}(d):d()};const _=pl(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return pc(_,i),e?n?d():p=_():"post"===r?Ji(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(hl(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function Vi(t,e,n){const o=this.proxy;return Bi(tl(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Di(t,e=new Set){if(!nl(t)||e.has(t))return t;if(e.add(t),ci(t))Di(t.value,e);else if(Xs(t))for(let n=0;n{Di(t,e)}));else for(const n in t)Di(t[n],e);return t}function Li(t){return Zs(t)?{setup:t,name:t.name}:t}function Wi(t){Zs(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Li({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=uc;if(c)return()=>Ki(c,t);const e=e=>{a=null,hi(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ki(e,t))).catch((t=>(e(t),()=>o?tc(o,{error:t}):null)));const i=ai(!1),u=ai(),p=ai(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ki(c,t):u.value&&o?tc(o,{error:u.value}):n&&!p.value?tc(n):void 0}})}function Ki(t,{vnode:{ref:e,props:n,children:o}}){const r=tc(t,n,o);return r.ref=e,r}const Ji=function(t,e){e&&e.pendingBranch?Xs(t)?e.effects.push(...t):e.effects.push(t):$i(t,Si,ki,xi)},qi=Symbol(),Hi=Symbol(void 0),Gi=Symbol(void 0),Qi=Symbol(void 0);function Xi(t){return!!t&&!0===t.__v_isVNode}const Yi=({key:t})=>null!=t?t:null,Zi=({ref:t})=>null!=t?tl(t)||ci(t)||Zs(t)?{i:null,r:t}:t:null,tc=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==qi||(t=Qi);if(Xi(t)){const o=ec(t,e,!0);return n&&rc(o,n),o}l=t,Zs(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(si(e)||"__vInternal"in e)&&(e=Hs({},e));let{class:t,style:n}=e;t&&!tl(t)&&(e.class=Ls(t)),nl(n)&&(si(n)&&!Xs(n)&&(n=Hs({},n)),e.style=zs(n))}const i=tl(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:nl(t)?4:Zs(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Yi(e),ref:e&&Zi(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(rc(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=Ai(n.default),r=Ai(n.fallback)):(o=Ai(n),r=oc(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ec(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?sc(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Yi(l),ref:e&&e.ref?n&&r?Xs(r)?r.concat(Zi(e)):[r,Zi(e)]:Zi(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Hi?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ec(t.ssContent),ssFallback:t.ssFallback&&ec(t.ssFallback),el:t.el,anchor:t.anchor}}function nc(t=" ",e=0){return tc(Gi,null,t,e)}function oc(t){return null==t||"boolean"==typeof t?tc(Qi):Xs(t)?tc(Hi,null,t):"object"==typeof t?null===t.el?t:ec(t):tc(Gi,null,String(t))}function rc(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(Xs(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&Ni(1),rc(t,n()),n._c&&Ni(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else Zs(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[nc(e)]):n=8);t.children=e,t.shapeFlag|=n}function sc(...t){const e=Hs({},t[0]);for(let n=1;nlc(t,e,n)));for(const l in e)o&&Qs(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const ic=t=>t&&(t.proxy?t.proxy:ic(t.parent)),cc=Hs(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>ic(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>lc(l,e,t))),lc(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(gi.length&&gi.includes(e,_i&&e.allowRecurse?yi+1:yi)||e===Ei||(gi.push(e),ji()));var e},$nextTick:t=>Oi.bind(t.proxy),$watch:t=>Vi.bind(t)}),ac={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Ws&&Qs(o,e))return l[e]=0,o[e];if(r!==Ws&&Qs(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&Qs(a,e))return l[e]=2,s[e];if(n!==Ws&&Qs(n,e))return l[e]=3,n[e];l[e]=4}}const u=cc[e];let f,p;return u?("$attrs"===e&&bl(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Ws&&Qs(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,Qs(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Ws&&Qs(r,e))r[e]=n;else if(o!==Ws&&Qs(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Ws&&Qs(t,l)||e!==Ws&&Qs(e,l)||(i=s[0])&&Qs(i,l)||Qs(o,l)||Qs(cc,l)||Qs(r.config.globalProperties,l)}};Hs({},ac,{get(t,e){if(e!==Symbol.unscopables)return ac.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!Us(e)});let uc=null;const fc=t=>{uc=t};function pc(t,e=uc){e&&(e.effects||(e.effects=[])).push(t)}function dc(t){const e=function(t){let e,n;return Zs(t)?(e=t,n=Ks):(e=t.get,n=t.set),new fi(e,n,Zs(t)||!t.set)}(t);return pc(e.effect),e}const hc=()=>({value:"",align:"left"});var _c={name:"sb-paragraph",getDefaultData:hc,edit:Wi((()=>Rn((()=>__import__("./edit.2b327d35.js")),["./assets/edit.2b327d35.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"]))),display:Wi((()=>Rn((()=>__import__("./display.59646631.js")),["./assets/display.59646631.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"])))};function vc(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const gc=vc("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function yc(t){if($c(t)){const e={};for(let n=0;n{if(t){const n=t.split(mc);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function kc(t){let e="";if(Ic(t))e=t;else if($c(t))for(let n=0;n{},Rc=/^on[^a-z]/,Cc=t=>Rc.test(t),Ec=Object.assign,Oc=Object.prototype.hasOwnProperty,jc=(t,e)=>Oc.call(t,e),$c=Array.isArray,Pc=t=>"[object Map]"===Tc(t),Fc=t=>"function"==typeof t,Ic=t=>"string"==typeof t,Ac=t=>"symbol"==typeof t,Mc=t=>null!==t&&"object"==typeof t,Nc=Object.prototype.toString,Tc=t=>Nc.call(t),Uc=t=>Ic(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,zc=(t,e)=>t!==e&&(t==t||e==e),Bc=new WeakMap,Vc=[];let Dc;const Lc=Symbol(""),Wc=Symbol("");function Kc(t,e=Sc){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Vc.includes(n)){qc(n);try{return Gc.push(Hc),Hc=!0,Vc.push(n),Dc=n,t()}finally{Vc.pop(),Qc(),Dc=Vc[Vc.length-1]}}};return n.id=Jc++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Jc=0;function qc(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Dc||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&$c(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":$c(t)?Uc(n)&&c(l.get("length")):(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"delete":$c(t)||(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"set":Pc(t)&&c(l.get(Lc))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Zc=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(Ac)),ta=sa(),ea=sa(!1,!0),na=sa(!0),oa=sa(!0,!0),ra={};function sa(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?$a:ja).get(n))return n;const s=$c(n);if(!t&&s&&jc(ra,o))return Reflect.get(ra,o,r);const l=Reflect.get(n,o,r);if(Ac(o)?Zc.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Xc(n,0,o),e)return l;if(Ba(l)){return!s||!Uc(o)?l.value:l}return Mc(l)?t?Ia(l):Fa(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];ra[t]=function(...t){const n=Ua(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];ra[t]=function(...t){Gc.push(Hc),Hc=!1;const n=e.apply(this,t);return Qc(),n}}));function la(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ua(o),!$c(e)&&Ba(s)&&!Ba(o)))return s.value=o,!0;const l=$c(e)&&Uc(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Ec({},ia,{get:ea,set:la(!0)}),Ec({},ca,{get:oa});const aa=t=>Mc(t)?Fa(t):t,ua=t=>Mc(t)?Ia(t):t,fa=t=>t,pa=t=>Reflect.getPrototypeOf(t);function da(t,e,n=!1,o=!1){const r=Ua(t=t.__v_raw),s=Ua(e);e!==s&&!n&&Xc(r,0,e),!n&&Xc(r,0,s);const{has:l}=pa(r),i=n?ua:o?fa:aa;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function ha(t,e=!1){const n=this.__v_raw,o=Ua(n),r=Ua(t);return t!==r&&!e&&Xc(o,0,t),!e&&Xc(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function _a(t,e=!1){return t=t.__v_raw,!e&&Xc(Ua(t),0,Lc),Reflect.get(t,"size",t)}function va(t){t=Ua(t);const e=Ua(this),n=pa(e).has.call(e,t);return e.add(t),n||Yc(e,"add",t,t),this}function ga(t,e){e=Ua(e);const n=Ua(this),{has:o,get:r}=pa(n);let s=o.call(n,t);s||(t=Ua(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?zc(e,l)&&Yc(n,"set",t,e):Yc(n,"add",t,e),this}function ya(t){const e=Ua(this),{has:n,get:o}=pa(e);let r=n.call(e,t);r||(t=Ua(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Yc(e,"delete",t,void 0),s}function ba(){const t=Ua(this),e=0!==t.size,n=t.clear();return e&&Yc(t,"clear",void 0,void 0),n}function ma(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ua(s),i=t?ua:e?fa:aa;return!t&&Xc(l,0,Lc),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function wa(t,e,n){return function(...o){const r=this.__v_raw,s=Ua(r),l=Pc(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?ua:n?fa:aa;return!e&&Xc(s,0,c?Wc:Lc),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function ka(t){return function(...e){return"delete"!==t&&this}}const Sa={get(t){return da(this,t)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ba,forEach:ma(!1,!1)},xa={get(t){return da(this,t,!1,!0)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ba,forEach:ma(!1,!0)},Ra={get(t){return da(this,t,!0)},get size(){return _a(this,!0)},has(t){return ha.call(this,t,!0)},add:ka("add"),set:ka("set"),delete:ka("delete"),clear:ka("clear"),forEach:ma(!0,!1)};function Ca(t,e){const n=e?xa:t?Ra:Sa;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(jc(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Sa[t]=wa(t,!1,!1),Ra[t]=wa(t,!0,!1),xa[t]=wa(t,!1,!0)}));const Ea={get:Ca(!1,!1)},Oa={get:Ca(!0,!1)},ja=new WeakMap,$a=new WeakMap;function Pa(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Tc(t).slice(8,-1))(t))}function Fa(t){return t&&t.__v_isReadonly?t:Aa(t,!1,ia,Ea)}function Ia(t){return Aa(t,!0,ca,Oa)}function Aa(t,e,n,o){if(!Mc(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?$a:ja,s=r.get(t);if(s)return s;const l=Pa(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Ma(t){return Na(t)?Ma(t.__v_raw):!(!t||!t.__v_isReactive)}function Na(t){return!(!t||!t.__v_isReadonly)}function Ta(t){return Ma(t)||Na(t)}function Ua(t){return t&&Ua(t.__v_raw)||t}const za=t=>Mc(t)?Fa(t):t;function Ba(t){return Boolean(t&&!0===t.__v_isRef)}function Va(t){return function(t,e=!1){if(Ba(t))return t;return new Da(t,e)}(t)}class Da{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:za(t)}get value(){return Xc(Ua(this),0,"value"),this._value}set value(t){zc(Ua(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:za(t),Yc(Ua(this),"set","value",t))}}function La(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Ka(s,e,n)}return r}function Wa(t,e,n,o){if(Fc(t)){const s=La(t,e,n,o);return s&&(Mc(r=s)&&Fc(r.then)&&Fc(r.catch))&&s.catch((t=>{Ka(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function uu(t){qa=!1,Ja=!0,cu(t),Ha.sort(((t,e)=>au(t)-au(e)));try{for(Ga=0;Gaau(t)-au(e))),eu=0;eupu+=t;const hu={};function _u(t,e,n){return vu(t,e,n)}function vu(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Sc,i=zu){let c,a,u=!1;if(Ba(t)?(c=()=>t.value,u=!!t._shallow):Ma(t)?(c=()=>t,o=!0):c=$c(t)?()=>t.map((t=>Ba(t)?t.value:Ma(t)?yu(t):Fc(t)?La(t,i,2):void 0)):Fc(t)?e?()=>La(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),La(t,i,3,[f])}:xc,e&&o){const t=c;c=()=>yu(t())}const f=t=>{a=_.options.onStop=()=>{La(t,i,4)}};let p=$c(t)?[]:hu;const d=()=>{if(_.active)if(e){const t=_();(o||u||zc(t,p))&&(a&&a(),Wa(e,i,3,[t,p===hu?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ku(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){iu(t,Xa,Qa,Ya)}(d):d()};const _=Kc(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return function(t,e=zu){e&&(e.effects||(e.effects=[])).push(t)}(_,i),e?n?d():p=_():"post"===r?ku(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(qc(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function gu(t,e,n){const o=this.proxy;return vu(Ic(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function yu(t,e=new Set){if(!Mc(t)||e.has(t))return t;if(e.add(t),Ba(t))yu(t.value,e);else if($c(t))for(let n=0;n{yu(t,e)}));else for(const n in t)yu(t[n],e);return t}function bu(t){return Fc(t)?{setup:t,name:t.name}:t}function mu(t){Fc(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return bu({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=zu;if(c)return()=>wu(c,t);const e=e=>{a=null,Ka(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>wu(e,t))).catch((t=>(e(t),()=>o?$u(o,{error:t}):null)));const i=Va(!1),u=Va(),p=Va(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?wu(c,t):u.value&&o?$u(o,{error:u.value}):n&&!p.value?$u(n):void 0}})}function wu(t,{vnode:{ref:e,props:n,children:o}}){const r=$u(t,n,o);return r.ref=e,r}const ku=function(t,e){e&&e.pendingBranch?$c(t)?e.effects.push(...t):e.effects.push(t):iu(t,tu,Za,eu)},Su=Symbol(),xu=Symbol(void 0),Ru=Symbol(void 0),Cu=Symbol(void 0);function Eu(t){return!!t&&!0===t.__v_isVNode}const Ou=({key:t})=>null!=t?t:null,ju=({ref:t})=>null!=t?Ic(t)||Ba(t)||Fc(t)?{i:null,r:t}:t:null,$u=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Su||(t=Cu);if(Eu(t)){const o=Pu(t,e,!0);return n&&Au(o,n),o}l=t,Fc(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Ta(e)||"__vInternal"in e)&&(e=Ec({},e));let{class:t,style:n}=e;t&&!Ic(t)&&(e.class=kc(t)),Mc(n)&&(Ta(n)&&!$c(n)&&(n=Ec({},n)),e.style=yc(n))}const i=Ic(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Mc(t)?4:Fc(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ou(e),ref:e&&ju(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Au(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=fu(n.default),r=fu(n.fallback)):(o=fu(n),r=Iu(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function Pu(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?function(...t){const e=Ec({},t[0]);for(let n=1;nMu(t,e,n)));for(const l in e)o&&jc(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Nu=t=>t&&(t.proxy?t.proxy:Nu(t.parent)),Tu=Ec(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Nu(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Mu(l,e,t))),Mu(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(Ha.length&&Ha.includes(e,Ja&&e.allowRecurse?Ga+1:Ga)||e===ru||(Ha.push(e),lu()));var e},$nextTick:t=>su.bind(t.proxy),$watch:t=>gu.bind(t)}),Uu={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Sc&&jc(o,e))return l[e]=0,o[e];if(r!==Sc&&jc(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&jc(a,e))return l[e]=2,s[e];if(n!==Sc&&jc(n,e))return l[e]=3,n[e];l[e]=4}}const u=Tu[e];let f,p;return u?("$attrs"===e&&Xc(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Sc&&jc(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,jc(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Sc&&jc(r,e))r[e]=n;else if(o!==Sc&&jc(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Sc&&jc(t,l)||e!==Sc&&jc(e,l)||(i=s[0])&&jc(i,l)||jc(o,l)||jc(Tu,l)||jc(r.config.globalProperties,l)}};Ec({},Uu,{get(t,e){if(e!==Symbol.unscopables)return Uu.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!gc(e)});let zu=null;const Bu=()=>({src:"",alt:"",description:{id:m(),name:"sb-paragraph",data:{value:"",align:"left"}}});var Vu={name:"sb-image",getDefaultData:Bu,edit:mu((()=>Rn((()=>__import__("./edit.0be4ff4d.js")),["./assets/edit.0be4ff4d.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"]))),display:mu((()=>Rn((()=>__import__("./display.093b30ed.js")),["./assets/display.093b30ed.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"])))};a(n({name:"App",setup(){const t=o("edit"),e=r({name:"none",id:"0",data:null});s((async()=>{const t=await fetch("./initial-data.json"),n=await t.json();e.name=n.name,e.id=n.id,e.data=n.data}));const n=l((()=>{switch(t.value){case u.Edit:return i(On,{block:e,onUpdate:t=>{e.data=t.data},customBlocks:[Ms,Ns,Vu,_c],key:"edit",mode:u.Edit},null);case u.Display:return i(On,{block:e,customBlocks:[Ms,Ns,Vu,_c],key:"display",mode:u.Display},null);case"data":return i("pre",null,[i("code",null,[JSON.stringify(e,null,2)])])}}));return()=>i("div",{id:"app"},[i("select",{value:t.value,onChange:e=>{t.value=e.target.value}},[i("option",null,[c("edit")]),i("option",null,[c("display")]),i("option",null,[c("data")])]),n.value])}})).mount("#app");export{Fa as A,Va as B,_u as C,$u as D,Fu as E,xu as F,Fe as G,k as H,Le as I,Ke as J,oo as S,ws as a,yn as b,Is as c,us as d,En as e,Cs as f,As as g,eo as h,no as i,Li as j,hc as k,ti as l,w as m,ai as n,Ti as o,zi as p,dc as q,kr as r,tc as s,ro as t,ln as u,nc as v,ls as w,sc as x,bu as y,Bu as z}; diff --git a/docs/index.html b/docs/index.html index 1ac3887..fdc65a0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ Vite App - + diff --git a/src/App.tsx b/src/App.tsx index 92ed29c..ee3019d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -27,7 +27,7 @@ export default defineComponent({ }); onBeforeMount(async () => { - const res = await fetch('/initial-data.json'); + const res = await fetch('./initial-data.json'); const data = await res.json(); block.name = data.name; block.id = data.id; -- 2.44.2 From 3f93f7760280bee438112379bb5b3966ae20cd7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Mon, 8 Mar 2021 17:45:21 +0100 Subject: [PATCH 12/57] Update docs --- docs/assets/display.093b30ed.js | 1 - docs/assets/display.54a23f84.js | 2 + docs/assets/display.54a23f84.js.map | 1 + ...isplay.a0a80010.js => display.82dfc9cb.js} | 3 +- docs/assets/display.82dfc9cb.js.map | 1 + ...isplay.67d272a4.js => display.a9bb8ea2.js} | 3 +- docs/assets/display.a9bb8ea2.js.map | 1 + ...isplay.59646631.js => display.cf8b58ad.js} | 3 +- docs/assets/display.cf8b58ad.js.map | 1 + docs/assets/edit.0be4ff4d.js | 1 - docs/assets/edit.79e9c821.js | 2 + docs/assets/edit.79e9c821.js.map | 1 + .../{edit.680bd77a.js => edit.85b1500c.js} | 3 +- docs/assets/edit.85b1500c.js.map | 1 + .../{edit.2b327d35.js => edit.b0a76e09.js} | 3 +- docs/assets/edit.b0a76e09.js.map | 1 + docs/assets/edit.bd5075df.js | 1 + docs/assets/edit.bd5075df.js.map | 1 + docs/assets/index.7f5b9510.js | 1 - docs/assets/index.a48301fd.js | 2 + docs/assets/index.a48301fd.js.map | 1 + docs/assets/vendor.9babb3f5.js | 1 - docs/assets/vendor.a029424f.js | 2 + docs/assets/vendor.a029424f.js.map | 1 + docs/index.html | 4 +- package-lock.json | 760 ++++++++++-------- package.json | 14 +- packages/core/lib/components/Block.tsx | 2 +- .../{Schlechtenburg.scss => Main.scss} | 0 .../{Schlechtenburg.tsx => Main.tsx} | 2 +- packages/core/lib/index.ts | 2 +- packages/core/lib/use-block-tree.ts | 1 + packages/core/package-lock.json | 82 +- packages/core/package.json | 2 +- packages/heading/package-lock.json | 88 +- packages/heading/package.json | 2 +- packages/image/lib/edit.tsx | 4 +- packages/image/package-lock.json | 93 +-- packages/image/package.json | 2 +- packages/layout/package-lock.json | 88 +- packages/layout/package.json | 2 +- packages/paragraph/package-lock.json | 88 +- packages/paragraph/package.json | 2 +- vite.config.js | 1 + 44 files changed, 688 insertions(+), 589 deletions(-) delete mode 100644 docs/assets/display.093b30ed.js create mode 100644 docs/assets/display.54a23f84.js create mode 100644 docs/assets/display.54a23f84.js.map rename docs/assets/{display.a0a80010.js => display.82dfc9cb.js} (52%) create mode 100644 docs/assets/display.82dfc9cb.js.map rename docs/assets/{display.67d272a4.js => display.a9bb8ea2.js} (61%) create mode 100644 docs/assets/display.a9bb8ea2.js.map rename docs/assets/{display.59646631.js => display.cf8b58ad.js} (60%) create mode 100644 docs/assets/display.cf8b58ad.js.map delete mode 100644 docs/assets/edit.0be4ff4d.js create mode 100644 docs/assets/edit.79e9c821.js create mode 100644 docs/assets/edit.79e9c821.js.map rename docs/assets/{edit.680bd77a.js => edit.85b1500c.js} (80%) create mode 100644 docs/assets/edit.85b1500c.js.map rename docs/assets/{edit.2b327d35.js => edit.b0a76e09.js} (72%) create mode 100644 docs/assets/edit.b0a76e09.js.map create mode 100644 docs/assets/edit.bd5075df.js.map delete mode 100644 docs/assets/index.7f5b9510.js create mode 100644 docs/assets/index.a48301fd.js create mode 100644 docs/assets/index.a48301fd.js.map delete mode 100644 docs/assets/vendor.9babb3f5.js create mode 100644 docs/assets/vendor.a029424f.js create mode 100644 docs/assets/vendor.a029424f.js.map rename packages/core/lib/components/{Schlechtenburg.scss => Main.scss} (100%) rename packages/core/lib/components/{Schlechtenburg.tsx => Main.tsx} (98%) diff --git a/docs/assets/display.093b30ed.js b/docs/assets/display.093b30ed.js deleted file mode 100644 index 0474177..0000000 --- a/docs/assets/display.093b30ed.js +++ /dev/null @@ -1 +0,0 @@ -import{y as a,m as s,z as e,D as t,e as l}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var i=a({name:"sb-image-display",model:s,props:{data:{type:null,default:e}},setup:a=>()=>t("figure",{class:"sb-image"},[t("img",{class:"sb-image__content",src:a.data.src,alt:a.data.alt},null),t(l,{block:a.data.description},null)])});export default i; diff --git a/docs/assets/display.54a23f84.js b/docs/assets/display.54a23f84.js new file mode 100644 index 0000000..7a336ac --- /dev/null +++ b/docs/assets/display.54a23f84.js @@ -0,0 +1,2 @@ +import{y as a,m as s,z as e,D as t,e as l}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var d=a({name:"sb-image-display",model:s,props:{data:{type:null,default:e}},setup:a=>()=>t("figure",{class:"sb-image"},[t("img",{class:"sb-image__content",src:a.data.src,alt:a.data.alt},null),t(l,{block:a.data.description},null)])});export default d; +//# sourceMappingURL=display.54a23f84.js.map diff --git a/docs/assets/display.54a23f84.js.map b/docs/assets/display.54a23f84.js.map new file mode 100644 index 0000000..765d596 --- /dev/null +++ b/docs/assets/display.54a23f84.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.54a23f84.js","sources":["../../packages/image/lib/display.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport {\n model,\n SbBlock,\n} from '@schlechtenburg/core';\nimport {\n getDefaultData,\n ImageData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-image-display',\n\n model,\n\n props: {\n data: {\n type: (null as unknown) as PropType,\n default: getDefaultData,\n },\n },\n\n setup(props) {\n return () =>
    \n \n \n
    ;\n },\n});\n"],"names":["defineComponent","name","model","props","data","type","default","getDefaultData","setup","src","alt","description"],"mappings":"6HAYA,MAAeA,EAAgB,CAC7BC,KAAM,mBAENC,MAAAA,EAEAC,MAAO,CACLC,KAAM,CACJC,KAAO,KACPC,QAASC,IAIbC,MAAML,GACG,sBAAoB,4BAEf,wBACDA,EAAMC,KAAKK,QACXN,EAAMC,KAAKM,sBAEFP,EAAMC,KAAKO"} \ No newline at end of file diff --git a/docs/assets/display.a0a80010.js b/docs/assets/display.82dfc9cb.js similarity index 52% rename from docs/assets/display.a0a80010.js rename to docs/assets/display.82dfc9cb.js index 2d18522..9ac8443 100644 --- a/docs/assets/display.a0a80010.js +++ b/docs/assets/display.82dfc9cb.js @@ -1 +1,2 @@ -var e=Object.assign;import{G as t,m as n,H as a,I as s,J as l}from"./index.7f5b9510.js";import"./vendor.9babb3f5.js";var o=t({name:"sb-missing-block",model:n,props:e(e({},a),{name:String,data:{type:null,default:null},eventUpdate:{type:Function,default:()=>{}},eventAppendBlock:{type:Function,default:()=>{}},eventRemoveBlock:{type:Function,default:()=>{}}}),setup:e=>()=>s("div",{class:"sb-missing-block"},[l("Missing block: "),e.name])});export default o; +var e=Object.assign;import{G as t,m as a,H as n,I as s,J as l}from"./index.a48301fd.js";import"./vendor.a029424f.js";var o=t({name:"sb-missing-block",model:a,props:e(e({},n),{name:String,data:{type:null,default:null},eventUpdate:{type:Function,default:()=>{}},eventAppendBlock:{type:Function,default:()=>{}},eventRemoveBlock:{type:Function,default:()=>{}}}),setup:e=>()=>s("div",{class:"sb-missing-block"},[l("Missing block: "),e.name])});export default o; +//# sourceMappingURL=display.82dfc9cb.js.map diff --git a/docs/assets/display.82dfc9cb.js.map b/docs/assets/display.82dfc9cb.js.map new file mode 100644 index 0000000..2172823 --- /dev/null +++ b/docs/assets/display.82dfc9cb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.82dfc9cb.js","sources":["../../packages/core/lib/components/MissingBlock/display.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport {\n model,\n blockProps,\n} from '../../block-helpers';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-missing-block',\n\n model,\n\n props: {\n ...blockProps,\n name: String,\n data: {\n type: (null as unknown) as PropType,\n default: null,\n },\n eventUpdate: { type: Function, default: () => {} },\n eventAppendBlock: { type: Function, default: () => {} },\n eventRemoveBlock: { type: Function, default: () => {} },\n },\n\n setup(props) {\n return () => (\n
    Missing block: {props.name}
    \n );\n },\n});\n"],"names":["defineComponent","name","model","props","__assign","blockProps","String","data","type","default","eventUpdate","Function","eventAppendBlock","eventRemoveBlock","setup"],"mappings":"2HAQeA,EAAgB,CAC7BC,KAAM,mBAENC,MAAAA,EAEAC,MAAOC,OACFC,GADE,CAELJ,KAAMK,OACNC,KAAM,CACJC,KAAO,KACPC,QAAS,MAEXC,YAAa,CAAEF,KAAMG,SAAUF,QAAS,QACxCG,iBAAkB,CAAEJ,KAAMG,SAAUF,QAAS,QAC7CI,iBAAkB,CAAEL,KAAMG,SAAUF,QAAS,UAG/CK,MAAMX,GACG,mBACM,0CAAmCA,EAAMF"} \ No newline at end of file diff --git a/docs/assets/display.67d272a4.js b/docs/assets/display.a9bb8ea2.js similarity index 61% rename from docs/assets/display.67d272a4.js rename to docs/assets/display.a9bb8ea2.js index 5f5f89b..8cc79e0 100644 --- a/docs/assets/display.67d272a4.js +++ b/docs/assets/display.a9bb8ea2.js @@ -1 +1,2 @@ -import{d as a,m as s,g as t,c as e,a as l,e as o}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var d=a({name:"sb-layout-display",model:s,props:{data:{type:null,default:t}},setup(a){const s=e((()=>({"sb-layout":!0,[`sb-layout_${a.data.orientation}`]:!0})));return()=>l("div",{class:s.value},[...a.data.children.map((a=>l(o,{key:a.id,block:a},null)))])}});export default d; +import{d as a,m as s,g as t,c as e,a as l,e as o}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var d=a({name:"sb-layout-display",model:s,props:{data:{type:null,default:t}},setup(a){const s=e((()=>({"sb-layout":!0,[`sb-layout_${a.data.orientation}`]:!0})));return()=>l("div",{class:s.value},[...a.data.children.map((a=>l(o,{key:a.id,block:a},null)))])}});export default d; +//# sourceMappingURL=display.a9bb8ea2.js.map diff --git a/docs/assets/display.a9bb8ea2.js.map b/docs/assets/display.a9bb8ea2.js.map new file mode 100644 index 0000000..64e813a --- /dev/null +++ b/docs/assets/display.a9bb8ea2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.a9bb8ea2.js","sources":["../../packages/layout/lib/display.tsx"],"sourcesContent":["import {\n defineComponent,\n computed,\n PropType,\n} from 'vue';\nimport {\n model,\n SbBlock,\n} from '@schlechtenburg/core';\nimport {\n LayoutData,\n getDefaultData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-layout-display',\n\n model,\n\n props: {\n data: {\n type: (null as unknown) as PropType,\n default: getDefaultData,\n },\n },\n\n setup(props) {\n const classes = computed(() => ({\n 'sb-layout': true,\n [`sb-layout_${props.data.orientation}`]: true,\n }));\n\n return () => (\n
    \n {...props.data.children.map((child) => (\n \n ))}\n
    \n );\n },\n});\n"],"names":["defineComponent","name","model","props","data","type","default","getDefaultData","setup","classes","computed","orientation","value","children","map","child","id"],"mappings":"oIAgBA,MAAeA,EAAgB,CAC7BC,KAAM,oBAENC,MAAAA,EAEAC,MAAO,CACLC,KAAM,CACJC,KAAO,KACPC,QAASC,IAIbC,MAAML,SACEM,EAAUC,GAAS,KAAO,cACjB,GACX,aAAYP,EAAMC,KAAKO,gBAAgB,YAGpC,mBACOF,EAAQG,WACdT,EAAMC,KAAKS,SAASC,iBAEfC,EAAMC,SACJD"} \ No newline at end of file diff --git a/docs/assets/display.59646631.js b/docs/assets/display.cf8b58ad.js similarity index 60% rename from docs/assets/display.59646631.js rename to docs/assets/display.cf8b58ad.js index 0b59839..06b5640 100644 --- a/docs/assets/display.59646631.js +++ b/docs/assets/display.cf8b58ad.js @@ -1 +1,2 @@ -import{j as a,m as s,k as r,q as p,s as e,x as t}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var l=a({name:"sb-paragraph-display",model:s,props:{data:{type:Object,default:r}},setup(a){const s=p((()=>({"sb-paragraph":!0,[`sb-paragraph_align-${a.data.align}`]:!0})));return()=>e("p",t({class:s.value},{innerHTML:a.data.value}),null)}});export default l; +import{j as a,m as s,k as r,q as p,s as e,x as t}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var l=a({name:"sb-paragraph-display",model:s,props:{data:{type:Object,default:r}},setup(a){const s=p((()=>({"sb-paragraph":!0,[`sb-paragraph_align-${a.data.align}`]:!0})));return()=>e("p",t({class:s.value},{innerHTML:a.data.value}),null)}});export default l; +//# sourceMappingURL=display.cf8b58ad.js.map diff --git a/docs/assets/display.cf8b58ad.js.map b/docs/assets/display.cf8b58ad.js.map new file mode 100644 index 0000000..6f44306 --- /dev/null +++ b/docs/assets/display.cf8b58ad.js.map @@ -0,0 +1 @@ +{"version":3,"file":"display.cf8b58ad.js","sources":["../../packages/paragraph/lib/display.tsx"],"sourcesContent":["import {\n defineComponent,\n computed,\n PropType,\n} from 'vue';\nimport {\n model,\n} from '@schlechtenburg/core';\nimport {\n getDefaultData,\n ParagraphData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-paragraph-display',\n\n model,\n\n props: {\n data: {\n type: Object as PropType,\n default: getDefaultData,\n },\n },\n\n setup(props) {\n const classes = computed(() => ({\n 'sb-paragraph': true,\n [`sb-paragraph_align-${props.data.align}`]: true,\n }));\n\n return () =>

    ;\n },\n});\n"],"names":["defineComponent","name","model","props","data","type","Object","default","getDefaultData","setup","classes","computed","align","value","innerHTML"],"mappings":"oIAeA,MAAeA,EAAgB,CAC7BC,KAAM,uBAENC,MAAAA,EAEAC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,QAASC,IAIbC,MAAMN,SACEO,EAAUC,GAAS,KAAO,iBACd,GACd,sBAAqBR,EAAMC,KAAKQ,UAAU,YAGvC,mBACEF,EAAQG,QAEbC,UAAWX,EAAMC,KAAKS"} \ No newline at end of file diff --git a/docs/assets/edit.0be4ff4d.js b/docs/assets/edit.0be4ff4d.js deleted file mode 100644 index d5936cb..0000000 --- a/docs/assets/edit.0be4ff4d.js +++ /dev/null @@ -1 +0,0 @@ -var a=Object.assign;import{y as e,m as t,z as l,A as s,B as n,C as i,D as d,S as r,b as o,E as c,F as u,e as p}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var f=e({name:"sb-image-edit",model:t,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:l}},setup(e){const t=s({src:e.data.src,alt:e.data.alt,description:e.data.description}),l=n(null);i((()=>e.data),(()=>{t.src=e.data.src,t.alt=e.data.alt,t.description=e.data.description}));const f=()=>{l.value&&l.value.click()},v=()=>{if(l.value&&l.value.files&&l.value.files.length){const a=new FileReader;a.addEventListener("load",(()=>{var t;const l=null==(t=null==a?void 0:a.result)?void 0:t.toString();if(!l)throw new Error("Couldn't load image src");e.onUpdate({src:l,alt:e.data.alt,description:e.data.description})})),a.readAsDataURL(l.value.files[0])}};return()=>d("figure",{class:"sb-image"},[d(r,null,{default:()=>[t.src?d(o,{"onClick:value":f},{default:()=>[c("Select Image")]}):null,d("input",{type:"file",ref:l,style:"display: none;",onInput:v},null)]}),t.src?d(u,null,[d("img",{src:t.src,alt:t.alt,class:"sb-image__content"},null),d(p,{block:t.description,onUpdate:t=>{return l=t,void e.onUpdate(a(a({},e.data),{description:l}));var l}},null)]):d(o,{"onClick:value":f},{default:()=>[c("Select Image")]})])}});export default f; diff --git a/docs/assets/edit.79e9c821.js b/docs/assets/edit.79e9c821.js new file mode 100644 index 0000000..7863b31 --- /dev/null +++ b/docs/assets/edit.79e9c821.js @@ -0,0 +1,2 @@ +var a=Object.assign;import{y as t,m as e,z as l,A as s,B as n,C as i,D as d,S as r,b as o,E as c,F as u,e as p}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var f=t({name:"sb-image-edit",model:e,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:l}},setup(t){const e=s({src:t.data.src,alt:t.data.alt,description:t.data.description}),l=n(null);i((()=>t.data),(()=>{e.src=t.data.src,e.alt=t.data.alt,e.description=t.data.description}));const f=()=>{l.value&&l.value.click()},v=()=>{if(l.value&&l.value.files&&l.value.files.length){const a=new FileReader;a.addEventListener("load",(()=>{var e;const l=null==(e=null==a?void 0:a.result)?void 0:e.toString();if(!l)throw new Error("Couldn't load image src");t.onUpdate({src:l,alt:t.data.alt,description:t.data.description})})),a.readAsDataURL(l.value.files[0])}};return()=>d("figure",{class:"sb-image"},[d(r,null,{default:()=>[e.src?d(o,{onClick:f},{default:()=>[c("Select Image")]}):null,d("input",{type:"file",ref:l,style:"display: none;",onInput:v},null)]}),e.src?d(u,null,[d("img",{src:e.src,alt:e.alt,class:"sb-image__content"},null),d(p,{block:e.description,onUpdate:e=>{return l=e,void t.onUpdate(a(a({},t.data),{description:l}));var l}},null)]):d(o,{onClick:f},{default:()=>[c("Select Image")]})])}});export default f; +//# sourceMappingURL=edit.79e9c821.js.map diff --git a/docs/assets/edit.79e9c821.js.map b/docs/assets/edit.79e9c821.js.map new file mode 100644 index 0000000..2e15a59 --- /dev/null +++ b/docs/assets/edit.79e9c821.js.map @@ -0,0 +1 @@ +{"version":3,"file":"edit.79e9c821.js","sources":["../../packages/image/lib/edit.tsx"],"sourcesContent":["import {\n defineComponent,\n reactive,\n ref,\n Ref,\n watch,\n PropType,\n} from 'vue';\nimport {\n model,\n SbToolbar,\n SbButton,\n SbBlock,\n BlockData,\n} from '@schlechtenburg/core';\nimport { ParagraphData } from '@schlechtenburg/paragraph';\nimport {\n getDefaultData,\n ImageData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-image-edit',\n\n model,\n\n props: {\n onUpdate: { type: Function, default: () => {} },\n data: {\n type: (null as unknown) as PropType,\n default: getDefaultData,\n },\n },\n\n setup(props) {\n const localData = reactive({\n src: props.data.src,\n alt: props.data.alt,\n description: props.data.description,\n });\n\n const fileInput: Ref = ref(null);\n\n watch(() => props.data, () => {\n localData.src = props.data.src;\n localData.alt = props.data.alt;\n localData.description = props.data.description;\n });\n\n const selectImage = () => {\n if (fileInput.value) {\n fileInput.value.click();\n }\n };\n\n const onImageSelect = () => {\n if (fileInput.value && fileInput.value.files && fileInput.value.files.length) {\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n const src = reader?.result?.toString();\n if (!src) {\n throw new Error('Couldn\\'t load image src');\n }\n\n props.onUpdate({\n src,\n alt: props.data.alt,\n description: props.data.description,\n });\n });\n\n reader.readAsDataURL(fileInput.value.files[0]);\n }\n };\n\n const onDescriptionUpdate = (description: BlockData) => {\n props.onUpdate({\n ...props.data,\n description,\n });\n };\n\n return () => (\n
    \n \n {localData.src\n ? Select Image\n : null}\n \n \n {localData.src\n ? <>\n \n ) => onDescriptionUpdate(updated)}\n />\n \n : Select Image\n }\n
    \n );\n },\n});\n"],"names":["defineComponent","name","model","props","onUpdate","type","Function","default","data","getDefaultData","setup","localData","reactive","src","alt","description","fileInput","ref","selectImage","value","click","onImageSelect","files","length","reader","FileReader","addEventListener","result","toString","Error","readAsDataURL","onClick","onDescriptionUpdate","updated","__assign"],"mappings":"kMAuBA,MAAeA,EAAgB,CAC7BC,KAAM,gBAENC,MAAAA,EAEAC,MAAO,CACLC,SAAU,CAAEC,KAAMC,SAAUC,QAAS,QACrCC,KAAM,CACJH,KAAO,KACPE,QAASE,IAIbC,MAAMP,SACEQ,EAAYC,EAAS,CACzBC,IAAKV,EAAMK,KAAKK,IAChBC,IAAKX,EAAMK,KAAKM,IAChBC,YAAaZ,EAAMK,KAAKO,cAGpBC,EAAwCC,EAAI,SAE5C,IAAMd,EAAMK,OAAM,OACZK,IAAMV,EAAMK,KAAKK,MACjBC,IAAMX,EAAMK,KAAKM,MACjBC,YAAcZ,EAAMK,KAAKO,qBAG/BG,EAAc,KACdF,EAAUG,SACFA,MAAMC,SAIdC,EAAgB,QAChBL,EAAUG,OAASH,EAAUG,MAAMG,OAASN,EAAUG,MAAMG,MAAMC,OAAQ,OACtEC,EAAS,IAAIC,aACZC,iBAAiB,QAAQ,iBACxBb,EAAMW,0BAAQG,iBAAQC,eACvBf,QACG,IAAIgB,MAAM,6BAGZzB,SAAS,CACbS,IAAAA,EACAC,IAAKX,EAAMK,KAAKM,IAChBC,YAAaZ,EAAMK,KAAKO,mBAIrBe,cAAcd,EAAUG,MAAMG,MAAM,YAWxC,sBACS,oCAETX,EAAUE,SACSkB,QAASb,sCACzB,qBAEG,WACAF,QACC,yBACGK,YAGZV,EAAUE,2BAGEF,EAAUE,QACVF,EAAUG,UACT,sCAGCH,EAAUI,yBACgCiB,SAAoBC,SA5BzE7B,SAAS8B,OACV/B,EAAMK,MADI,CAEbO,YAAAA,KAHyBA,qBAgCLgB,QAASb"} \ No newline at end of file diff --git a/docs/assets/edit.680bd77a.js b/docs/assets/edit.85b1500c.js similarity index 80% rename from docs/assets/edit.680bd77a.js rename to docs/assets/edit.85b1500c.js index 4d83d85..5aff244 100644 --- a/docs/assets/edit.680bd77a.js +++ b/docs/assets/edit.85b1500c.js @@ -1 +1,2 @@ -var e=Object.assign;import{d as n,m as i,g as t,u as l,r as a,w as d,c as r,a as o,S as c,b as h,e as s,f as p,h as u,i as v}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var f=n({name:"sb-layout-edit",model:i,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:t}},setup(n){const{activate:i}=l(),t=a({orientation:n.data.orientation,children:[...n.data.children]});d((()=>n.data),(()=>{t.orientation=n.data.orientation,t.children=[...n.data.children]}));const f=r((()=>({"sb-layout":!0,[`sb-layout_${t.orientation}`]:!0}))),m=()=>{n.onUpdate({orientation:"vertical"===t.orientation?"horizontal":"vertical"})},b=e=>{t.children=[...t.children,e],n.onUpdate({children:[...t.children]}),i(e.id)},U=(e,l)=>{t.children=[...t.children.slice(0,e+1),l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]}),i(l.id)},y=e=>{t.children=[...t.children.slice(0,e),...t.children.slice(e+1)],n.onUpdate({children:[...t.children]});const l=Math.max(e-1,0);i(t.children[l].id)},k=e=>{const n=Math.max(Math.min(t.children.length-1,e),0);i(t.children[n].id)};return()=>o("div",{class:f.value},[o(c,null,{default:()=>[o(h,{type:"button",onClick:m},{default:()=>[t.orientation]})]}),...t.children.map(((i,l)=>o(s,p({key:i.id},{"data-order":l,block:i,onUpdate:l=>((i,l)=>{const a=t.children.indexOf(i);-1!==a&&n.onUpdate({children:[...t.children.slice(0,a),e(e({},i),l),...t.children.slice(a+1)]})})(i,l),onRemoveSelf:()=>y(l),onPrependBlock:e=>U(l-1,e),onAppendBlock:e=>U(l,e),onActivatePrevious:()=>k(l-1),onActivateNext:()=>k(l+1)}),{"context-toolbar":()=>o(u,{onMoveBackward:()=>(e=>{if(0===e)return;const i=t.children[e],l=t.children[e-1];t.children=[...t.children.slice(0,e-1),i,l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]})})(l),onMoveForward:()=>(e=>{if(e===t.children.length-1)return;const i=t.children[e],l=t.children[e+1];t.children=[...t.children.slice(0,e),l,i,...t.children.slice(e+2)],n.onUpdate({children:[...t.children]})})(l),onRemove:()=>y(l),orientation:t.orientation},null)}))),o(v,{onInsertBlock:b},null)])}});export default f; +var e=Object.assign;import{d as n,m as i,g as t,u as l,r as a,w as d,c as r,a as o,S as c,b as h,e as s,f as p,h as u,i as v}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var f=n({name:"sb-layout-edit",model:i,props:{onUpdate:{type:Function,default:()=>{}},data:{type:null,default:t}},setup(n){const{activate:i}=l(),t=a({orientation:n.data.orientation,children:[...n.data.children]});d((()=>n.data),(()=>{t.orientation=n.data.orientation,t.children=[...n.data.children]}));const f=r((()=>({"sb-layout":!0,[`sb-layout_${t.orientation}`]:!0}))),m=()=>{n.onUpdate({orientation:"vertical"===t.orientation?"horizontal":"vertical"})},U=e=>{t.children=[...t.children,e],n.onUpdate({children:[...t.children]}),i(e.id)},b=(e,l)=>{t.children=[...t.children.slice(0,e+1),l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]}),i(l.id)},y=e=>{t.children=[...t.children.slice(0,e),...t.children.slice(e+1)],n.onUpdate({children:[...t.children]});const l=Math.max(e-1,0);i(t.children[l].id)},k=e=>{const n=Math.max(Math.min(t.children.length-1,e),0);i(t.children[n].id)};return()=>o("div",{class:f.value},[o(c,null,{default:()=>[o(h,{type:"button",onClick:m},{default:()=>[t.orientation]})]}),...t.children.map(((i,l)=>o(s,p({key:i.id},{"data-order":l,block:i,onUpdate:l=>((i,l)=>{const a=t.children.indexOf(i);-1!==a&&n.onUpdate({children:[...t.children.slice(0,a),e(e({},i),l),...t.children.slice(a+1)]})})(i,l),onRemoveSelf:()=>y(l),onPrependBlock:e=>b(l-1,e),onAppendBlock:e=>b(l,e),onActivatePrevious:()=>k(l-1),onActivateNext:()=>k(l+1)}),{"context-toolbar":()=>o(u,{onMoveBackward:()=>(e=>{if(0===e)return;const i=t.children[e],l=t.children[e-1];t.children=[...t.children.slice(0,e-1),i,l,...t.children.slice(e+1)],n.onUpdate({children:[...t.children]})})(l),onMoveForward:()=>(e=>{if(e===t.children.length-1)return;const i=t.children[e],l=t.children[e+1];t.children=[...t.children.slice(0,e),l,i,...t.children.slice(e+2)],n.onUpdate({children:[...t.children]})})(l),onRemove:()=>y(l),orientation:t.orientation},null)}))),o(v,{onInsertBlock:U},null)])}});export default f; +//# sourceMappingURL=edit.85b1500c.js.map diff --git a/docs/assets/edit.85b1500c.js.map b/docs/assets/edit.85b1500c.js.map new file mode 100644 index 0000000..b94c181 --- /dev/null +++ b/docs/assets/edit.85b1500c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"edit.85b1500c.js","sources":["../../packages/layout/lib/edit.tsx"],"sourcesContent":["import {\n defineComponent,\n reactive,\n computed,\n watch,\n PropType,\n} from 'vue';\nimport {\n model,\n BlockData,\n useActivation,\n\n SbBlock,\n SbButton,\n SbToolbar,\n SbBlockPlaceholder,\n SbBlockOrdering,\n} from '@schlechtenburg/core';\n\nimport {\n LayoutData,\n getDefaultData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-layout-edit',\n\n model,\n\n props: {\n onUpdate: { type: Function, default: () => {} },\n data: {\n type: (null as unknown) as PropType,\n default: getDefaultData,\n },\n },\n\n setup(props) {\n const { activate } = useActivation();\n\n const localData: LayoutData = reactive({\n orientation: props.data.orientation,\n children: [...props.data.children],\n });\n\n watch(() => props.data, () => {\n localData.orientation = props.data.orientation;\n localData.children = [...props.data.children];\n });\n\n const classes = computed(() => ({\n 'sb-layout': true,\n [`sb-layout_${localData.orientation}`]: true,\n }));\n\n const toggleOrientation = () => {\n props.onUpdate({\n orientation: localData.orientation === 'vertical' ? 'horizontal' : 'vertical',\n });\n };\n\n const onChildUpdate = (child: BlockData, updated: BlockData) => {\n const index = localData.children.indexOf(child);\n if (index === -1) {\n return;\n }\n props.onUpdate({\n children: [\n ...localData.children.slice(0, index),\n {\n ...child,\n ...updated,\n },\n ...localData.children.slice(index + 1),\n ],\n });\n };\n\n const appendBlock = (block: BlockData) => {\n localData.children = [\n ...localData.children,\n block,\n ];\n props.onUpdate({ children: [...localData.children] });\n activate(block.id);\n };\n\n const insertBlock = (index: number, block: BlockData) => {\n localData.children = [\n ...localData.children.slice(0, index + 1),\n block,\n ...localData.children.slice(index + 1),\n ];\n props.onUpdate({ children: [...localData.children] });\n activate(block.id);\n };\n\n const removeBlock = (index: number) => {\n localData.children = [\n ...localData.children.slice(0, index),\n ...localData.children.slice(index + 1),\n ];\n props.onUpdate({ children: [...localData.children] });\n\n const newActiveIndex = Math.max(index - 1, 0);\n activate(localData.children[newActiveIndex].id);\n };\n\n const activateBlock = (index: number) => {\n const safeIndex =\n Math.max(\n Math.min(\n localData.children.length - 1,\n index,\n ),\n 0,\n );\n activate(localData.children[safeIndex].id);\n };\n\n const moveBackward = (index: number) => {\n if (index === 0) {\n return;\n }\n\n const curr = localData.children[index];\n const prev = localData.children[index - 1];\n localData.children = [\n ...localData.children.slice(0, index - 1),\n curr,\n prev,\n ...localData.children.slice(index + 1),\n ];\n\n props.onUpdate({ children: [...localData.children] });\n };\n\n const moveForward = (index: number) => {\n if (index === localData.children.length - 1) {\n return;\n }\n\n const curr = localData.children[index];\n const next = localData.children[index + 1];\n localData.children = [\n ...localData.children.slice(0, index),\n next,\n curr,\n ...localData.children.slice(index + 2),\n ];\n\n props.onUpdate({ children: [...localData.children] });\n };\n\n return () => (\n
    \n \n {localData.orientation}\n \n\n {...localData.children.map((child, index) => (\n ) => onChildUpdate(child, updated)}\n onRemoveSelf={() => removeBlock(index)}\n onPrependBlock={(block: BlockData) => insertBlock(index - 1, block)}\n onAppendBlock={(block: BlockData) => insertBlock(index, block)}\n onActivatePrevious={() => activateBlock(index - 1,)}\n onActivateNext={() => activateBlock(index + 1,)}\n >\n {{\n 'context-toolbar': () =>\n moveBackward(index)}\n onMoveForward={() => moveForward(index)}\n onRemove={() => removeBlock(index)}\n orientation={localData.orientation}\n />,\n }}\n \n ))}\n\n \n
    \n );\n },\n});\n"],"names":["defineComponent","name","model","props","onUpdate","type","Function","default","data","getDefaultData","setup","activate","useActivation","localData","reactive","orientation","children","classes","computed","toggleOrientation","appendBlock","block","id","insertBlock","index","slice","removeBlock","newActiveIndex","Math","max","activateBlock","safeIndex","min","length","value","onClick","map","child","key","updated","indexOf","__assign","onChildUpdate","curr","prev","moveBackward","next","moveForward"],"mappings":"gNA0BA,MAAeA,EAAgB,CAC7BC,KAAM,iBAENC,MAAAA,EAEAC,MAAO,CACLC,SAAU,CAAEC,KAAMC,SAAUC,QAAS,QACrCC,KAAM,CACJH,KAAO,KACPE,QAASE,IAIbC,MAAMP,SACEQ,SAAEA,GAAaC,IAEfC,EAAwBC,EAAS,CACrCC,YAAaZ,EAAMK,KAAKO,YACxBC,SAAU,IAAIb,EAAMK,KAAKQ,eAGrB,IAAMb,EAAMK,OAAM,OACZO,YAAcZ,EAAMK,KAAKO,cACzBC,SAAW,IAAIb,EAAMK,KAAKQ,mBAGhCC,EAAUC,GAAS,KAAO,cACjB,GACX,aAAYL,EAAUE,gBAAgB,MAGpCI,EAAoB,OAClBf,SAAS,CACbW,YAAuC,aAA1BF,EAAUE,YAA6B,aAAe,cAqBjEK,QACMJ,SAAW,IAChBH,EAAUG,SACbK,KAEIjB,SAAS,CAAEY,SAAU,IAAIH,EAAUG,cAChCK,EAAMC,KAGXC,EAAc,CAACC,EAAeH,OACxBL,SAAW,IAChBH,EAAUG,SAASS,MAAM,EAAGD,EAAQ,GACvCH,KACGR,EAAUG,SAASS,MAAMD,EAAQ,MAEhCpB,SAAS,CAAEY,SAAU,IAAIH,EAAUG,cAChCK,EAAMC,KAGXI,QACMV,SAAW,IAChBH,EAAUG,SAASS,MAAM,EAAGD,MAC5BX,EAAUG,SAASS,MAAMD,EAAQ,MAEhCpB,SAAS,CAAEY,SAAU,IAAIH,EAAUG,kBAEnCW,EAAiBC,KAAKC,IAAIL,EAAQ,EAAG,KAClCX,EAAUG,SAASW,GAAgBL,KAGxCQ,YACEC,EACJH,KAAKC,IACFD,KAAKI,IACHnB,EAAUG,SAASiB,OAAS,EAC5BT,GAEH,KAEKX,EAAUG,SAASe,GAAWT,WAqClC,mBACOL,EAAQiB,oCAIZ7B,KAAM,SACN8B,QAAShB,iBAEXN,EAAUE,qBAGVF,EAAUG,SAASoB,KAAI,CAACC,EAAOb,WAEzBc,IAAKD,EAAMf,kBACLE,QACLa,cA5GO,EAACA,EAAuBE,WACtCf,EAAQX,EAAUG,SAASwB,QAAQH,QACrCb,KAGEpB,SAAS,CACbY,SAAU,IACLH,EAAUG,SAASS,MAAM,EAAGD,GAC/BiB,OACKJ,GACAE,MAEF1B,EAAUG,SAASS,MAAMD,EAAQ,OAiGKkB,CAAcL,EAAOE,gBAC9C,IAAMb,EAAYF,qBACWD,EAAYC,EAAQ,EAAGH,oBACxBE,EAAYC,EAAOH,sBACzC,IAAMS,EAAcN,EAAQ,kBAChC,IAAMM,EAAcN,EAAQ,wBAGvB,wBAEC,IA5DRA,QACN,IAAVA,eAIEmB,EAAO9B,EAAUG,SAASQ,GAC1BoB,EAAO/B,EAAUG,SAASQ,EAAQ,KAC9BR,SAAW,IAChBH,EAAUG,SAASS,MAAM,EAAGD,EAAQ,GACvCmB,EACAC,KACG/B,EAAUG,SAASS,MAAMD,EAAQ,MAGhCpB,SAAS,CAAEY,SAAU,IAAIH,EAAUG,aA8CP6B,CAAarB,iBACpB,IA5CRA,QACfA,IAAUX,EAAUG,SAASiB,OAAS,eAIpCU,EAAO9B,EAAUG,SAASQ,GAC1BsB,EAAOjC,EAAUG,SAASQ,EAAQ,KAC9BR,SAAW,IAChBH,EAAUG,SAASS,MAAM,EAAGD,GAC/BsB,EACAH,KACG9B,EAAUG,SAASS,MAAMD,EAAQ,MAGhCpB,SAAS,CAAEY,SAAU,IAAIH,EAAUG,aA8BR+B,CAAYvB,YACvB,IAAME,EAAYF,eACfX,EAAUE,0CAMEK"} \ No newline at end of file diff --git a/docs/assets/edit.2b327d35.js b/docs/assets/edit.b0a76e09.js similarity index 72% rename from docs/assets/edit.2b327d35.js rename to docs/assets/edit.b0a76e09.js index 5d164ba..30965b1 100644 --- a/docs/assets/edit.2b327d35.js +++ b/docs/assets/edit.b0a76e09.js @@ -1 +1,2 @@ -import{j as a,m as e,k as n,l as t,n as l,u as o,o as u,p as i,q as s,s as r,S as d,t as p,v}from"./index.7f5b9510.js";/* empty css */import"./vendor.9babb3f5.js";var c=a({name:"sb-paragraph-edit",model:e,props:{blockId:{type:String,required:!0},data:{type:null,default:n},onUpdate:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}}},setup(a){const e=t({value:a.data.value,align:a.data.align,focused:!1}),c=l(null),{isActive:f,activate:g}=o(a.blockId),b=()=>{c.value&&f.value&&c.value.focus()};u((()=>{b(),c.value&&(c.value.innerHTML=e.value)})),i(f,b),i((()=>a.data),(()=>{e.value=a.data.value,e.align=a.data.align,c.value&&(c.value.innerHTML=e.value)}));const y=a=>{e.value=a.target.innerHTML},h=s((()=>({"sb-paragraph":!0,"sb-paragraph_focused":e.focused,[`sb-paragraph_align-${e.align}`]:!0}))),m=n=>{a.onUpdate({value:e.value,align:n.target.value})},k=()=>{e.focused=!0,g()},A=()=>{e.focused=!1,a.onUpdate({value:e.value,align:e.align})},w=e=>{if("Enter"===e.key&&!e.shiftKey){const t=""+ +new Date;a.onAppendBlock({id:t,name:"sb-paragraph",data:n()}),g(t),e.preventDefault()}},F=n=>{var t;"Backspace"===n.key&&""===e.value&&a.onRemoveSelf();const l=window.getSelection(),o=null==l?void 0:l.focusNode,u=Array.from((null==(t=null==c?void 0:c.value)?void 0:t.childNodes)||[]),i=o?u.indexOf(o):-1;if(o===c.value||0===i||i===u.length-1)switch(n.key){case"ArrowDown":a.onActivateNext();break;case"ArrowUp":a.onActivatePrevious()}};return()=>r("div",{class:h.value},[r(d,null,{default:()=>[r(p,{value:e.align,onChange:m},{default:()=>[r("option",null,[v("left")]),r("option",null,[v("center")]),r("option",null,[v("right")])]})]}),r("p",{class:"sb-paragraph__input",ref:c,contenteditable:!0,onInput:y,onFocus:k,onBlur:A,onKeydown:w,onKeyup:F},null)])}});export default c; +import{j as a,m as e,k as n,l as t,n as l,u as o,o as u,p as i,q as s,s as r,S as d,t as p,v}from"./index.a48301fd.js";/* empty css */import"./vendor.a029424f.js";var c=a({name:"sb-paragraph-edit",model:e,props:{blockId:{type:String,required:!0},data:{type:null,default:n},onUpdate:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}}},setup(a){const e=t({value:a.data.value,align:a.data.align,focused:!1}),c=l(null),{isActive:f,activate:g}=o(a.blockId),y=()=>{c.value&&f.value&&c.value.focus()};u((()=>{y(),c.value&&(c.value.innerHTML=e.value)})),i(f,y),i((()=>a.data),(()=>{e.value=a.data.value,e.align=a.data.align,c.value&&(c.value.innerHTML=e.value)}));const h=a=>{e.value=a.target.innerHTML},b=s((()=>({"sb-paragraph":!0,"sb-paragraph_focused":e.focused,[`sb-paragraph_align-${e.align}`]:!0}))),m=n=>{a.onUpdate({value:e.value,align:n.target.value})},k=()=>{e.focused=!0,g()},A=()=>{e.focused=!1,a.onUpdate({value:e.value,align:e.align})},w=e=>{if("Enter"===e.key&&!e.shiftKey){const t=""+ +new Date;a.onAppendBlock({id:t,name:"sb-paragraph",data:n()}),g(t),e.preventDefault()}},F=n=>{var t;"Backspace"===n.key&&""===e.value&&a.onRemoveSelf();const l=window.getSelection(),o=null==l?void 0:l.focusNode,u=Array.from((null==(t=null==c?void 0:c.value)?void 0:t.childNodes)||[]),i=o?u.indexOf(o):-1;if(o===c.value||0===i||i===u.length-1)switch(n.key){case"ArrowDown":a.onActivateNext();break;case"ArrowUp":a.onActivatePrevious()}};return()=>r("div",{class:b.value},[r(d,null,{default:()=>[r(p,{value:e.align,onChange:m},{default:()=>[r("option",null,[v("left")]),r("option",null,[v("center")]),r("option",null,[v("right")])]})]}),r("p",{class:"sb-paragraph__input",ref:c,contenteditable:!0,onInput:h,onFocus:k,onBlur:A,onKeydown:w,onKeyup:F},null)])}});export default c; +//# sourceMappingURL=edit.b0a76e09.js.map diff --git a/docs/assets/edit.b0a76e09.js.map b/docs/assets/edit.b0a76e09.js.map new file mode 100644 index 0000000..559220b --- /dev/null +++ b/docs/assets/edit.b0a76e09.js.map @@ -0,0 +1 @@ +{"version":3,"file":"edit.b0a76e09.js","sources":["../../packages/paragraph/lib/edit.tsx"],"sourcesContent":["import {\n defineComponent,\n reactive,\n computed,\n ref,\n Ref,\n onMounted,\n watch,\n PropType,\n} from 'vue';\nimport {\n model,\n useActivation,\n SbToolbar,\n SbSelect,\n} from '@schlechtenburg/core';\nimport {\n getDefaultData,\n ParagraphData,\n} from './util';\n\nimport './style.scss';\n\nexport default defineComponent({\n name: 'sb-paragraph-edit',\n\n model,\n\n props: {\n blockId: { type: String, required: true },\n data: {\n type: (null as unknown) as PropType,\n default: getDefaultData,\n },\n onUpdate: { type: Function, default: () => {} },\n onAppendBlock: { type: Function, default: () => {} },\n onRemoveSelf: { type: Function, default: () => {} },\n onActivateNext: { type: Function, default: () => {} },\n onActivatePrevious: { type: Function, default: () => {} },\n },\n\n setup(props) {\n const localData = (reactive({\n value: props.data.value,\n align: props.data.align,\n focused: false,\n }) as unknown) as {\n value: string;\n align: string;\n focused: boolean;\n };\n\n const inputEl: Ref = ref(null);\n\n const { isActive, activate } = useActivation(props.blockId);\n\n const focusInput = () => {\n if (inputEl.value && isActive.value) {\n inputEl.value.focus();\n }\n };\n\n onMounted(() => {\n focusInput();\n if (inputEl.value) {\n inputEl.value.innerHTML = localData.value;\n }\n });\n\n watch(isActive, focusInput);\n\n watch(() => props.data, () => {\n localData.value = props.data.value;\n localData.align = props.data.align;\n if (inputEl.value) {\n inputEl.value.innerHTML = localData.value;\n }\n });\n\n const onTextUpdate = ($event: Event) => {\n localData.value = ($event.target as HTMLElement).innerHTML;\n };\n\n const classes = computed(() => ({\n 'sb-paragraph': true,\n 'sb-paragraph_focused': localData.focused,\n [`sb-paragraph_align-${localData.align}`]: true,\n }));\n\n const setAlignment = ($event: Event) => {\n props.onUpdate({\n value: localData.value,\n align: ($event.target as HTMLSelectElement).value,\n });\n };\n\n const onFocus = () => {\n localData.focused = true;\n activate();\n };\n\n const onBlur = () => {\n localData.focused = false;\n props.onUpdate({\n value: localData.value,\n align: localData.align,\n });\n };\n\n const onKeydown = ($event: KeyboardEvent) => {\n if ($event.key === 'Enter' && !$event.shiftKey) {\n const id = `${+(new Date())}`;\n props.onAppendBlock({\n id,\n name: 'sb-paragraph',\n data: getDefaultData(),\n });\n\n activate(id);\n\n $event.preventDefault();\n }\n };\n\n const onKeyup = ($event: KeyboardEvent) => {\n if ($event.key === 'Backspace' && localData.value === '') {\n props.onRemoveSelf();\n }\n\n const selection = window.getSelection();\n const node = selection?.focusNode;\n const childNodes = Array.from(inputEl?.value?.childNodes || []);\n const index = node ? childNodes.indexOf(node as ChildNode) : -1;\n if (node === inputEl.value || index === 0 || index === childNodes.length -1) {\n switch ($event.key) {\n case 'ArrowDown':\n props.onActivateNext();\n break;\n case 'ArrowUp':\n props.onActivatePrevious();\n break;\n }\n }\n };\n\n return () => (\n
    \n \n \n \n \n \n \n \n

    \n
    \n );\n },\n});\n"],"names":["defineComponent","name","model","props","blockId","type","String","required","data","default","getDefaultData","onUpdate","Function","onAppendBlock","onRemoveSelf","onActivateNext","onActivatePrevious","setup","localData","reactive","value","align","focused","inputEl","ref","isActive","activate","useActivation","focusInput","focus","innerHTML","onTextUpdate","$event","target","classes","computed","setAlignment","onFocus","onBlur","onKeydown","key","shiftKey","id","Date","preventDefault","onKeyup","selection","window","getSelection","node","focusNode","childNodes","Array","from","index","indexOf","length","onChange"],"mappings":"gLAuBA,MAAeA,EAAgB,CAC7BC,KAAM,oBAENC,MAAAA,EAEAC,MAAO,CACLC,QAAS,CAAEC,KAAMC,OAAQC,UAAU,GACnCC,KAAM,CACJH,KAAO,KACPI,QAASC,GAEXC,SAAU,CAAEN,KAAMO,SAAUH,QAAS,QACrCI,cAAe,CAAER,KAAMO,SAAUH,QAAS,QAC1CK,aAAc,CAAET,KAAMO,SAAUH,QAAS,QACzCM,eAAgB,CAAEV,KAAMO,SAAUH,QAAS,QAC3CO,mBAAoB,CAAEX,KAAMO,SAAUH,QAAS,SAGjDQ,MAAMd,SACEe,EAAaC,EAAS,CAC1BC,MAAOjB,EAAMK,KAAKY,MAClBC,MAAOlB,EAAMK,KAAKa,MAClBC,SAAS,IAOLC,EAAiCC,EAAI,OAErCC,SAAEA,WAAUC,GAAaC,EAAcxB,EAAMC,SAE7CwB,EAAa,KACbL,EAAQH,OAASK,EAASL,SACpBA,MAAMS,YAIR,SAEJN,EAAQH,UACFA,MAAMU,UAAYZ,EAAUE,YAIlCK,EAAUG,MAEV,IAAMzB,EAAMK,OAAM,OACZY,MAAQjB,EAAMK,KAAKY,QACnBC,MAAQlB,EAAMK,KAAKa,MACzBE,EAAQH,UACFA,MAAMU,UAAYZ,EAAUE,gBAIlCW,QACMX,MAASY,EAAOC,OAAuBH,WAG7CI,EAAUC,GAAS,KAAO,iBACd,yBACQjB,EAAUI,SAChC,sBAAqBJ,EAAUG,UAAU,MAGvCe,QACEzB,SAAS,CACbS,MAAOF,EAAUE,MACjBC,MAAQW,EAAOC,OAA6Bb,SAI1CiB,EAAU,OACJf,SAAU,OAIhBgB,EAAS,OACHhB,SAAU,IACdX,SAAS,CACbS,MAAOF,EAAUE,MACjBC,MAAOH,EAAUG,SAIfkB,SACe,UAAfP,EAAOQ,MAAoBR,EAAOS,SAAU,OACxCC,EAAM,KAAI,IAAIC,OACd9B,cAAc,CAClB6B,GAAAA,EACAzC,KAAM,eACNO,KAAME,QAGCgC,KAEFE,mBAILC,YACe,cAAfb,EAAOQ,KAA2C,KAApBtB,EAAUE,SACpCN,qBAGFgC,EAAYC,OAAOC,eACnBC,QAAOH,WAAWI,UAClBC,EAAaC,MAAMC,MAAK9B,0BAASH,gBAAO+B,aAAc,IACtDG,EAAQL,EAAOE,EAAWI,QAAQN,SACpCA,IAAS1B,EAAQH,OAAmB,IAAVkC,GAAeA,IAAUH,EAAWK,OAAQ,SAChExB,EAAOQ,SACR,cACGzB,2BAEH,YACGC,6BAMP,mBACOkB,EAAQd,oCAIZA,MAAOF,EAAUG,MACjBoC,SAAUrB,8HASR,0BACDb,6BAEIQ"} \ No newline at end of file diff --git a/docs/assets/edit.bd5075df.js b/docs/assets/edit.bd5075df.js index f9749a6..a5ba74e 100644 --- a/docs/assets/edit.bd5075df.js +++ b/docs/assets/edit.bd5075df.js @@ -1 +1,2 @@ export default{}; +//# sourceMappingURL=edit.bd5075df.js.map diff --git a/docs/assets/edit.bd5075df.js.map b/docs/assets/edit.bd5075df.js.map new file mode 100644 index 0000000..13bf77d --- /dev/null +++ b/docs/assets/edit.bd5075df.js.map @@ -0,0 +1 @@ +{"version":3,"file":"edit.bd5075df.js","sources":["../../packages/heading/lib/edit.tsx"],"sourcesContent":["export default {};\n"],"names":[],"mappings":"cAAe"} \ No newline at end of file diff --git a/docs/assets/index.7f5b9510.js b/docs/assets/index.7f5b9510.js deleted file mode 100644 index ed2d3a5..0000000 --- a/docs/assets/index.7f5b9510.js +++ /dev/null @@ -1 +0,0 @@ -var t=Object.assign;import{d as e,a as n,r as o,b as r,o as s,c as l,e as i,f as c,g as a}from"./vendor.9babb3f5.js";var u,f;!function(t=".",e="__import__"){try{self[e]=new Function("u","return import(u)")}catch(n){const o=new URL(t,location),r=t=>{URL.revokeObjectURL(t.src),t.remove()};self[e]=t=>new Promise(((n,s)=>{const l=new URL(t,o);if(self[e].moduleMap[l])return n(self[e].moduleMap[l]);const i=new Blob([`import * as m from '${l}';`,`${e}.moduleMap['${l}']=m;`],{type:"text/javascript"}),c=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(i),onerror(){s(new Error(`Failed to import: ${t}`)),r(c)},onload(){n(self[e].moduleMap[l]),r(c)}});document.head.appendChild(c)})),self[e].moduleMap={}}}("assets/"),(f=u||(u={})).Edit="edit",f.Display="display";const p=Symbol("Schlechtenburg mode");var d,h=new Uint8Array(16);function _(){if(!d&&!(d="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return d(h)}var v=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function g(t){return"string"==typeof t&&v.test(t)}for(var y=[],b=0;b<256;++b)y.push((b+256).toString(16).substr(1));const m=function(t,e,n){var o=(t=t||{}).random||(t.rng||_)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var r=0;r<16;++r)e[n+r]=o[r];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[t[e+0]]+y[t[e+1]]+y[t[e+2]]+y[t[e+3]]+"-"+y[t[e+4]]+y[t[e+5]]+"-"+y[t[e+6]]+y[t[e+7]]+"-"+y[t[e+8]]+y[t[e+9]]+"-"+y[t[e+10]]+y[t[e+11]]+y[t[e+12]]+y[t[e+13]]+y[t[e+14]]+y[t[e+15]]).toLowerCase();if(!g(n))throw TypeError("Stringified UUID is invalid");return n}(o)},w={prop:"block",event:"update"},k={blockId:{type:String,default:m}};function S(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const x=S("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function R(t){if(T(t)){const e={};for(let n=0;n{if(t){const n=t.split(E);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function j(t){let e="";if(B(t))e=t;else if(T(t))for(let n=0;n{},F=/^on[^a-z]/,I=t=>F.test(t),A=Object.assign,M=Object.prototype.hasOwnProperty,N=(t,e)=>M.call(t,e),T=Array.isArray,U=t=>"[object Map]"===W(t),z=t=>"function"==typeof t,B=t=>"string"==typeof t,V=t=>"symbol"==typeof t,D=t=>null!==t&&"object"==typeof t,L=Object.prototype.toString,W=t=>L.call(t),K=t=>B(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,J=(t,e)=>t!==e&&(t==t||e==e),q=new WeakMap,H=[];let G;const Q=Symbol(""),X=Symbol("");function Y(t,e=$){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!H.includes(n)){tt(n);try{return nt.push(et),et=!0,H.push(n),G=n,t()}finally{H.pop(),rt(),G=H[H.length-1]}}};return n.id=Z++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Z=0;function tt(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==G||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&T(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":T(t)?K(n)&&c(l.get("length")):(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"delete":T(t)||(c(l.get(Q)),U(t)&&c(l.get(X)));break;case"set":U(t)&&c(l.get(Q))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const it=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(V)),ct=dt(),at=dt(!1,!0),ut=dt(!0),ft=dt(!0,!0),pt={};function dt(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Bt:zt).get(n))return n;const s=T(n);if(!t&&s&&N(pt,o))return Reflect.get(pt,o,r);const l=Reflect.get(n,o,r);if(V(o)?it.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||st(n,0,o),e)return l;if(Qt(l)){return!s||!K(o)?l.value:l}return D(l)?t?Lt(l):Dt(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];pt[t]=function(...t){const n=Ht(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];pt[t]=function(...t){ot();const n=e.apply(this,t);return rt(),n}}));function ht(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ht(o),!T(e)&&Qt(s)&&!Qt(o)))return s.value=o,!0;const l=T(e)&&K(n)?Number(n)!0,deleteProperty:(t,e)=>!0},gt=A({},_t,{get:at,set:ht(!0)});A({},vt,{get:ft});const yt=t=>D(t)?Dt(t):t,bt=t=>D(t)?Lt(t):t,mt=t=>t,wt=t=>Reflect.getPrototypeOf(t);function kt(t,e,n=!1,o=!1){const r=Ht(t=t.__v_raw),s=Ht(e);e!==s&&!n&&st(r,0,e),!n&&st(r,0,s);const{has:l}=wt(r),i=n?bt:o?mt:yt;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function St(t,e=!1){const n=this.__v_raw,o=Ht(n),r=Ht(t);return t!==r&&!e&&st(o,0,t),!e&&st(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function xt(t,e=!1){return t=t.__v_raw,!e&&st(Ht(t),0,Q),Reflect.get(t,"size",t)}function Rt(t){t=Ht(t);const e=Ht(this),n=wt(e).has.call(e,t);return e.add(t),n||lt(e,"add",t,t),this}function Ct(t,e){e=Ht(e);const n=Ht(this),{has:o,get:r}=wt(n);let s=o.call(n,t);s||(t=Ht(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?J(e,l)&<(n,"set",t,e):lt(n,"add",t,e),this}function Et(t){const e=Ht(this),{has:n,get:o}=wt(e);let r=n.call(e,t);r||(t=Ht(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&<(e,"delete",t,void 0),s}function Ot(){const t=Ht(this),e=0!==t.size,n=t.clear();return e&<(t,"clear",void 0,void 0),n}function jt(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ht(s),i=t?bt:e?mt:yt;return!t&&st(l,0,Q),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function $t(t,e,n){return function(...o){const r=this.__v_raw,s=Ht(r),l=U(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?bt:n?mt:yt;return!e&&st(s,0,c?X:Q),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Pt(t){return function(...e){return"delete"!==t&&this}}const Ft={get(t){return kt(this,t)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!1)},It={get(t){return kt(this,t,!1,!0)},get size(){return xt(this)},has:St,add:Rt,set:Ct,delete:Et,clear:Ot,forEach:jt(!1,!0)},At={get(t){return kt(this,t,!0)},get size(){return xt(this,!0)},has(t){return St.call(this,t,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:jt(!0,!1)};function Mt(t,e){const n=e?It:t?At:Ft;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(N(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Ft[t]=$t(t,!1,!1),At[t]=$t(t,!0,!1),It[t]=$t(t,!1,!0)}));const Nt={get:Mt(!1,!1)},Tt={get:Mt(!1,!0)},Ut={get:Mt(!0,!1)},zt=new WeakMap,Bt=new WeakMap;function Vt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>W(t).slice(8,-1))(t))}function Dt(t){return t&&t.__v_isReadonly?t:Wt(t,!1,_t,Nt)}function Lt(t){return Wt(t,!0,vt,Ut)}function Wt(t,e,n,o){if(!D(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Bt:zt,s=r.get(t);if(s)return s;const l=Vt(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Kt(t){return Jt(t)?Kt(t.__v_raw):!(!t||!t.__v_isReactive)}function Jt(t){return!(!t||!t.__v_isReadonly)}function qt(t){return Kt(t)||Jt(t)}function Ht(t){return t&&Ht(t.__v_raw)||t}const Gt=t=>D(t)?Dt(t):t;function Qt(t){return Boolean(t&&!0===t.__v_isRef)}function Xt(t){return function(t,e=!1){if(Qt(t))return t;return new Yt(t,e)}(t)}class Yt{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Gt(t)}get value(){return st(Ht(this),0,"value"),this._value}set value(t){J(Ht(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Gt(t),lt(Ht(this),"set","value",t))}}class Zt{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Y(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,lt(Ht(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),st(Ht(this),0,"value"),this._value}set value(t){this._setter(t)}}function te(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){ne(s,e,n)}return r}function ee(t,e,n,o){if(z(t)){const s=te(t,e,n,o);return s&&(D(r=s)&&z(r.then)&&z(r.catch))&&s.catch((t=>{ne(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function we(t){re=!1,oe=!0,be(t),se.sort(((t,e)=>me(t)-me(e)));try{for(le=0;leme(t)-me(e))),pe=0;peSe+=t;const Re=(Ce="um",(t,e=en)=>function(t,e,n=en,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;ot(),nn(n);const r=ee(e,n,t,o);return nn(null),rt(),r});return o?r.unshift(s):r.push(s),s}}(Ce,t,e));var Ce;const Ee={};function Oe(t,e,n){return je(t,e,n)}function je(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=$,i=en){let c,a,u=!1;if(Qt(t)?(c=()=>t.value,u=!!t._shallow):Kt(t)?(c=()=>t,o=!0):c=T(t)?()=>t.map((t=>Qt(t)?t.value:Kt(t)?Pe(t):z(t)?te(t,i,2):void 0)):z(t)?e?()=>te(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),te(t,i,3,[f])}:P,e&&o){const t=c;c=()=>Pe(t())}const f=t=>{a=_.options.onStop=()=>{te(t,i,4)}};let p=T(t)?[]:Ee;const d=()=>{if(_.active)if(e){const t=_();(o||u||J(t,p))&&(a&&a(),ee(e,i,3,[t,p===Ee?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Me(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){ye(t,ce,ie,ae)}(d):d()};const _=Y(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return on(_,i),e?n?d():p=_():"post"===r?Me(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(tt(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function $e(t,e,n){const o=this.proxy;return je(B(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Pe(t,e=new Set){if(!D(t)||e.has(t))return t;if(e.add(t),Qt(t))Pe(t.value,e);else if(T(t))for(let n=0;n{Pe(t,e)}));else for(const n in t)Pe(t[n],e);return t}function Fe(t){return z(t)?{setup:t,name:t.name}:t}function Ie(t){z(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Fe({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=en;if(c)return()=>Ae(c,t);const e=e=>{a=null,ne(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ae(e,t))).catch((t=>(e(t),()=>o?Le(o,{error:t}):null)));const i=Xt(!1),u=Xt(),p=Xt(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ae(c,t):u.value&&o?Le(o,{error:u.value}):n&&!p.value?Le(n):void 0}})}function Ae(t,{vnode:{ref:e,props:n,children:o}}){const r=Le(t,n,o);return r.ref=e,r}const Me=function(t,e){e&&e.pendingBranch?T(t)?e.effects.push(...t):e.effects.push(t):ye(t,fe,ue,pe)},Ne=Symbol(),Te=Symbol(void 0),Ue=Symbol(void 0),ze=Symbol(void 0);function Be(t){return!!t&&!0===t.__v_isVNode}const Ve=({key:t})=>null!=t?t:null,De=({ref:t})=>null!=t?B(t)||Qt(t)||z(t)?{i:null,r:t}:t:null,Le=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Ne||(t=ze);if(Be(t)){const o=We(t,e,!0);return n&&qe(o,n),o}l=t,z(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(qt(e)||"__vInternal"in e)&&(e=A({},e));let{class:t,style:n}=e;t&&!B(t)&&(e.class=j(t)),D(n)&&(qt(n)&&!T(n)&&(n=A({},n)),e.style=R(n))}const i=B(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:D(t)?4:z(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ve(e),ref:e&&De(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(qe(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ke(n.default),r=ke(n.fallback)):(o=ke(n),r=Je(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function We(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?He(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Ve(l),ref:e&&e.ref?n&&r?T(r)?r.concat(De(e)):[r,De(e)]:De(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Te?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&We(t.ssContent),ssFallback:t.ssFallback&&We(t.ssFallback),el:t.el,anchor:t.anchor}}function Ke(t=" ",e=0){return Le(Ue,null,t,e)}function Je(t){return null==t||"boolean"==typeof t?Le(ze):T(t)?Le(Te,null,t):"object"==typeof t?null===t.el?t:We(t):Le(Ue,null,String(t))}function qe(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(T(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&xe(1),qe(t,n()),n._c&&xe(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else z(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ke(e)]):n=8);t.children=e,t.shapeFlag|=n}function He(...t){const e=A({},t[0]);for(let n=1;n1)return n&&z(e)?e():e}}function Xe(t,e,n){const o=n.appContext.config.optionMergeStrategies,{mixins:r,extends:s}=e;s&&Xe(t,s,n),r&&r.forEach((e=>Xe(t,e,n)));for(const l in e)o&&N(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Ye=t=>t&&(t.proxy?t.proxy:Ye(t.parent)),Ze=A(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ye(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Xe(l,e,t))),Xe(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(se.length&&se.includes(e,oe&&e.allowRecurse?le+1:le)||e===_e||(se.push(e),ge()));var e},$nextTick:t=>ve.bind(t.proxy),$watch:t=>$e.bind(t)}),tn={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==$&&N(o,e))return l[e]=0,o[e];if(r!==$&&N(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&N(a,e))return l[e]=2,s[e];if(n!==$&&N(n,e))return l[e]=3,n[e];l[e]=4}}const u=Ze[e];let f,p;return u?("$attrs"===e&&st(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==$&&N(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,N(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==$&&N(r,e))r[e]=n;else if(o!==$&&N(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==$&&N(t,l)||e!==$&&N(e,l)||(i=s[0])&&N(i,l)||N(o,l)||N(Ze,l)||N(r.config.globalProperties,l)}};A({},tn,{get(t,e){if(e!==Symbol.unscopables)return tn.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!x(e)});let en=null;const nn=t=>{en=t};function on(t,e=en){e&&(e.effects||(e.effects=[])).push(t)}function rn(t){const e=function(t){let e,n;return z(t)?(e=t,n=P):(e=t.get,n=t.set),new Zt(e,n,z(t)||!t.set)}(t);return on(e.effect),e}const sn=Symbol("Schlechtenburg active block");function ln(t=null){const e=Qe(sn,Xt(null)),n=rn((()=>e.value===t)),o=n=>{e.value=void 0!==n?n:t};return{activeBlockId:e,isActive:n,activate:o,requestActivation:()=>{e.value||o()}}}const cn=Symbol("Schlechtenburg block library");function an(){const t=Qe(p,Xt(u.Edit)),e=Qe(cn,Dt({}));return{mode:t,customBlocks:e,getBlock:t=>e[t]}}const un=Symbol("Schlechtenburg block dimensions"),fn=Symbol("Schlechtenburg editor dimensions");function pn(t,e){const n=Xt(null);Ge(e,n);const o=()=>{if(!t.value)return;const e=t.value.getBoundingClientRect();n.value={width:e.width,height:e.height,left:t.value.offsetLeft,top:t.value.offsetTop}},r=new ResizeObserver(o),s=new MutationObserver(o);return Oe(t,(()=>{t.value&&(r.observe(t.value),s.observe(t.value,{attributes:!0,childList:!1,subtree:!1}))})),{triggerSizeCalculation:o,dimensions:n}}function dn(){return{editorDimensions:Qe(fn,Xt(null)),blockDimensions:Qe(un,Xt(null))}}const hn=Symbol("Schlechtenburg block tree"),_n=Symbol("Schlechtenburg block tree register"),vn=Symbol("Schlechtenburg block tree unregister");function gn(){const t=Qe(hn,Xt(null)),e=Qe(_n,(t=>{})),n=Qe(vn,(t=>{})),o=Dt({id:"",name:"",icon:"",children:[]});Ge(_n,(t=>{o.children.find((e=>e.id===t.id))||(o.children=[...o.children,t])})),Ge(vn,(({id:t})=>{o.children=o.children.filter((e=>e.id!==t))}));return Re((()=>{o.id&&n(o)})),{blockTree:t,register:t=>{if(!t.id)throw new Error(`Cannot register a block without an id: ${JSON.stringify(t)}`);o.id=t.id,o.name=t.name,e(o)}}}const yn=Fe({name:"sb-button",inheritAttrs:!1,setup:(e,n)=>()=>{var e,o;return Le("button",t(t({},n.attrs),{class:(n.attrs.class||"")+" sb-button"}),[null==(o=(e=n.slots).default)?void 0:o.call(e)])}});const bn=Fe({name:"sb-context-menu",props:{onClose:{type:Function,default:()=>{}},onOpen:{type:Function,default:()=>{}}},setup(t,e){const n=Xt(!1),o=()=>{n.value=!0},r=()=>{n.value=!1},s=t=>{"Escape"===t.key&&r()},l=()=>{n.value?r():o()};return Oe(n,((e,n)=>{e!==n&&(e?setTimeout((()=>{document.body.addEventListener("click",r),document.body.addEventListener("keypress",s),t.onOpen()})):(document.body.removeEventListener("click",r),document.body.removeEventListener("keypress",s),t.onClose()))})),()=>{var t,s,i,c;return Le("div",{class:"sb-context"},[(null==(s=(t=e.slots).context)?void 0:s.call(t,{opened:n,toggle:l,close:r,open:o}))||Le(yn,{onClick:l},{default:()=>[Ke("Menu")]}),Le("dialog",He({class:"sb-context-menu",open:!!n.value||void 0,onClick:t=>{t.stopPropagation()}},{onClose:r}),[(null==(c=(i=e.slots).default)?void 0:c.call(i,{opened:n,toggle:l,close:r,open:o}))||null])])}}});const mn=Fe({name:"sb-main-menu",setup(){const{blockTree:t}=gn(),{activate:e,activeBlockId:n}=ln(),o=(t,r)=>{var s,l;return Le("li",{class:{"sb-tree-block-select__block":!0,"sb-tree-block-select__block_active":n.value===t.id}},[Le("button",{class:"sb-tree-block-select__block-name",onClick:()=>{e(t.id),r()},onMouseenter:()=>e(t.id)},[t.name]),(null==(s=t.children)?void 0:s.length)?Le("ul",{class:"sb-tree-block-select__list"},[null==(l=t.children)?void 0:l.map((t=>o(t,r)))]):null])};return()=>t.value?Le(bn,{class:"sb-tree-block-select"},{context:({toggle:t})=>Le(yn,{onClick:t},{default:()=>[Ke("Tree")]}),default:({close:e})=>Le("ul",{class:"sb-tree-block-select__list sb-tree-block-select__list_base"},[o(t.value,e)])}):""}});const wn=Fe({name:"sb-main-menu",props:{block:{type:null,required:!0}},setup:()=>()=>Le("div",{class:"sb-main-menu"},[Le(mn,null,null)])});const kn=Fe({name:"sb-block-toolbar",setup:()=>()=>Le("div",{class:"sb-block-toolbar"},null)});let Sn;const xn={},Rn=function(t,e){if(!e)return t();if(void 0===Sn){const t=document.createElement("link").relList;Sn=t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(e.map((t=>{if(t in xn)return;xn[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const o=document.createElement("link");return o.rel=e?"stylesheet":Sn,e||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),e?new Promise(((t,e)=>{o.addEventListener("load",t),o.addEventListener("error",e)})):void 0}))).then((()=>t()))};var Cn={name:"sb-missing-block",edit:Ie((()=>Rn((()=>__import__("./display.a0a80010.js")),["./assets/display.a0a80010.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"]))),display:Ie((()=>Rn((()=>__import__("./display.a0a80010.js")),["./assets/display.a0a80010.js","./assets/display.08a50fb3.css","./assets/vendor.9babb3f5.js"])))};const En=Fe({name:"sb-block",props:{block:{type:null,required:!0},sortable:{type:String,default:null},onUpdate:{type:Function,default:()=>{}},onPrependBlock:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}}},setup(e,n){const o=Xt(null),{mode:r,getBlock:s}=an(),{isActive:l,activate:i}=ln(e.block.id),c=rn((()=>({"sb-block":!0,"sb-block_active":l.value}))),{triggerSizeCalculation:a}=pn(o,un);Oe((()=>e.block.data),a);const{register:f}=gn();f(e.block),Oe(e.block,(()=>{f(e.block)}));const p=n=>{e.onUpdate(t(t({},e.block),{data:t(t({},e.block.data),n)}))};return()=>{var l;const a=null==(l=s(e.block.name))?void 0:l[r.value];if(!a){const t=Cn[r.value];return Le(t,{name:e.block.name,blockId:e.block.id},null)}return r.value===u.Display?Le(a,{data:e.block.data,blockId:e.block.id},null):Le("div",{ref:o,class:c.value},[Le("div",{class:"sb-block__edit-cover"},null),n.slots["context-toolbar"]?n.slots["context-toolbar"]():null,Le(a,He({data:e.block.data,blockId:e.block.id,onUpdate:p,onPrependBlock:e.onPrependBlock,onAppendBlock:e.onAppendBlock,onRemoveSelf:e.onRemoveSelf,onActivatePrevious:e.onActivatePrevious,onActivateNext:e.onActivateNext},t({"onClick:value":t=>{t.stopPropagation(),i()}},n.attrs)),null)])}}});const On=Fe({name:"sb-main",model:w,props:{customBlocks:{type:Array,default:()=>[]},block:{type:Object,required:!0},onUpdate:{type:Function,default:()=>{}},mode:{type:String,validator:t=>Object.values(u).includes(t),default:u.Edit}},setup(e){const n=Xt(null);pn(n,fn);const o=Xt(e.mode);Ge(p,o);const r=Xt(null);Ge(sn,r);const s=Xt(null);Ge(hn,s),Ge(_n,(t=>{s.value=t})),Ge(vn,(()=>{s.value=null}));const l=Wt(t({},e.customBlocks.reduce(((e,n)=>t(t({},e),{[n.name]:n})),{})),!1,gt,Tt);return Ge(cn,l),()=>Le("div",{class:"sb-main",ref:n},[o.value===u.Edit?Le(Te,null,[Le(wn,{block:e.block},null),Le(kn,null,null)]):null,Le(En,{block:e.block,onUpdate:e.onUpdate},null)])}});const jn=Fe({name:"sb-modal",props:{open:{type:Boolean,default:!1},onClose:{type:Function,default:()=>{}}},setup(t,e){const n=rn((()=>({"sb-modal":!0,"sb-modal_open":t.open})));return()=>{var o,r;return Le("div",{class:n.value},[Le("div",{class:"sb-modal__overlay",onClick:e=>{e.stopPropagation(),t.onClose()}},[Le("div",{class:"sb-modal__content"},[null==(r=(o=e.slots).default)?void 0:r.call(o)])])])}}});const $n=Fe({name:"sb-block-picker",props:{onPickedBlock:{type:Function,default:()=>{}}},setup(t){const e=Xt(!1),{customBlocks:n}=an(),o=rn((()=>Object.keys(n).map((t=>n[t]))));return()=>Le("div",{class:"sb-block-picker"},[Le(yn,He({class:"sb-block-picker__add-button"},{type:"button",onClick:t=>{e.value=!0,t.stopPropagation()}}),{default:()=>[Ke("+")]}),Le(jn,He({open:e.value,onClose:()=>{e.value=!1}},{onClick:t=>t.stopPropagation()}),{default:()=>[...o.value.map((n=>Le(yn,{type:"button",onClick:()=>(n=>()=>{e.value=!1,t.onPickedBlock({name:n.name,id:""+ +new Date,data:n.getDefaultData()})})(n)},{default:()=>[n.name]})))]})])}});var Pn="object"==typeof global&&global&&global.Object===Object&&global,Fn="object"==typeof self&&self&&self.Object===Object&&self,In=Pn||Fn||Function("return this")(),An=In.Symbol,Mn=Object.prototype,Nn=Mn.hasOwnProperty,Tn=Mn.toString,Un=An?An.toStringTag:void 0;var zn=Object.prototype.toString;var Bn=An?An.toStringTag:void 0;function Vn(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Bn&&Bn in Object(t)?function(t){var e=Nn.call(t,Un),n=t[Un];try{t[Un]=void 0;var o=!0}catch(s){}var r=Tn.call(t);return o&&(e?t[Un]=n:delete t[Un]),r}(t):function(t){return zn.call(t)}(t)}var Dn=/\s/;var Ln=/^\s+/;function Wn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Dn.test(t.charAt(e)););return e}(t)+1).replace(Ln,""):t}function Kn(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var Jn=/^[-+]0x[0-9a-f]+$/i,qn=/^0b[01]+$/i,Hn=/^0o[0-7]+$/i,Gn=parseInt;function Qn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==Vn(t)}(t))return NaN;if(Kn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Kn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Wn(t);var n=qn.test(t);return n||Hn.test(t)?Gn(t.slice(2),n?2:8):Jn.test(t)?NaN:+t}var Xn=function(){return In.Date.now()},Yn=Math.max,Zn=Math.min;function to(t,e,n){var o,r,s,l,i,c,a=0,u=!1,f=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var n=o,s=r;return o=r=void 0,a=e,l=t.apply(s,n)}function h(t){return a=t,i=setTimeout(v,e),u?d(t):l}function _(t){var n=t-c;return void 0===c||n>=e||n<0||f&&t-a>=s}function v(){var t=Xn();if(_(t))return g(t);i=setTimeout(v,function(t){var n=e-(t-c);return f?Zn(n,s-(t-a)):n}(t))}function g(t){return i=void 0,p&&o?d(t):(o=r=void 0,l)}function y(){var t=Xn(),n=_(t);if(o=arguments,r=this,c=t,n){if(void 0===i)return h(c);if(f)return clearTimeout(i),i=setTimeout(v,e),d(c)}return void 0===i&&(i=setTimeout(v,e)),l}return e=Qn(e)||0,Kn(n)&&(u=!!n.leading,s=(f="maxWait"in n)?Yn(Qn(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==i&&clearTimeout(i),a=0,o=c=r=i=void 0},y.flush=function(){return void 0===i?l:g(Xn())},y}const eo=Fe({name:"sb-block-ordering",props:{orientation:{type:String,default:null},onRemove:{type:Function,default:()=>{}},onMoveBackward:{type:Function,default:()=>{}},onMoveForward:{type:Function,default:()=>{}}},setup(t){const e=Dt({top:"",right:""}),n=rn((()=>({"sb-block-ordering":!0,[`sb-block-ordering_${t.orientation}`]:!!t.orientation}))),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.width-r.value.left;e.top=`${r.value.top}px`,e.right=`${t}px`}));return Oe(o,s),Oe(r,s),Oe((()=>t.orientation),s),()=>Le("div",{class:n.value,style:e,onClick:t=>t.stopPropagation()},[Le(yn,{onClick:t.onMoveBackward},{default:()=>["vertical"===t.orientation?"↑":"←"]}),Le(yn,{onClick:t.onRemove},{default:()=>[Ke("x")]}),Le(yn,{onClick:t.onMoveForward},{default:()=>["vertical"===t.orientation?"↓":"→"]})])}});const no=Fe({name:"sb-block-placeholder",props:{onInsertBlock:{type:Function,default:()=>{}}},setup:t=>()=>Le("div",{class:"sb-block-placeholder"},[Le($n,{onPickedBlock:e=>t.onInsertBlock(e)},null)])});const oo=Fe({name:"sb-toolbar",setup(t,e){const n=Dt({bottom:"",left:"",maxWidth:""}),{editorDimensions:o,blockDimensions:r}=dn(),s=to((()=>{if(!o.value||!r.value)return;const t=o.value.height-r.value.top;n.bottom=`${t}px`,n.left=`${r.value.left}px`,n.maxWidth=`${r.value.width}px`}));return Oe(o,s),Oe(r,s),()=>{var t,o;return Le("div",{class:"sb-toolbar",style:n,onClick:t=>t.stopPropagation()},[null==(o=null==(t=e.slots)?void 0:t.default)?void 0:o.call(t)])}}});const ro=Fe({name:"sb-select",inheritAttrs:!1,setup:(t,e)=>()=>{var t,n;return Le("div",{class:"sb-select"},[Le("select",He({class:"sb-select__input"},e.attrs),[null==(n=(t=e.slots).default)?void 0:n.call(t)])])}});function so(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const lo=so("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function io(t){if(mo(t)){const e={};for(let n=0;n{if(t){const n=t.split(ao);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function fo(t){let e="";if(So(t))e=t;else if(mo(t))for(let n=0;n{},_o=/^on[^a-z]/,vo=t=>_o.test(t),go=Object.assign,yo=Object.prototype.hasOwnProperty,bo=(t,e)=>yo.call(t,e),mo=Array.isArray,wo=t=>"[object Map]"===Eo(t),ko=t=>"function"==typeof t,So=t=>"string"==typeof t,xo=t=>"symbol"==typeof t,Ro=t=>null!==t&&"object"==typeof t,Co=Object.prototype.toString,Eo=t=>Co.call(t),Oo=t=>So(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,jo=(t,e)=>t!==e&&(t==t||e==e),$o=new WeakMap,Po=[];let Fo;const Io=Symbol(""),Ao=Symbol("");function Mo(t,e=po){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Po.includes(n)){To(n);try{return zo.push(Uo),Uo=!0,Po.push(n),Fo=n,t()}finally{Po.pop(),Bo(),Fo=Po[Po.length-1]}}};return n.id=No++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let No=0;function To(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Fo||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&mo(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":mo(t)?Oo(n)&&c(l.get("length")):(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"delete":mo(t)||(c(l.get(Io)),wo(t)&&c(l.get(Ao)));break;case"set":wo(t)&&c(l.get(Io))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Lo=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(xo)),Wo=Go(),Ko=Go(!1,!0),Jo=Go(!0),qo=Go(!0,!0),Ho={};function Go(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?mr:br).get(n))return n;const s=mo(n);if(!t&&s&&bo(Ho,o))return Reflect.get(Ho,o,r);const l=Reflect.get(n,o,r);if(xo(o)?Lo.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Vo(n,0,o),e)return l;if($r(l)){return!s||!Oo(o)?l.value:l}return Ro(l)?t?Sr(l):kr(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Ho[t]=function(...t){const n=Or(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Ho[t]=function(...t){zo.push(Uo),Uo=!1;const n=e.apply(this,t);return Bo(),n}}));function Qo(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Or(o),!mo(e)&&$r(s)&&!$r(o)))return s.value=o,!0;const l=mo(e)&&Oo(n)?Number(n)!0,deleteProperty:(t,e)=>!0};go({},Xo,{get:Ko,set:Qo(!0)}),go({},Yo,{get:qo});const Zo=t=>Ro(t)?kr(t):t,tr=t=>Ro(t)?Sr(t):t,er=t=>t,nr=t=>Reflect.getPrototypeOf(t);function or(t,e,n=!1,o=!1){const r=Or(t=t.__v_raw),s=Or(e);e!==s&&!n&&Vo(r,0,e),!n&&Vo(r,0,s);const{has:l}=nr(r),i=n?tr:o?er:Zo;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function rr(t,e=!1){const n=this.__v_raw,o=Or(n),r=Or(t);return t!==r&&!e&&Vo(o,0,t),!e&&Vo(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function sr(t,e=!1){return t=t.__v_raw,!e&&Vo(Or(t),0,Io),Reflect.get(t,"size",t)}function lr(t){t=Or(t);const e=Or(this),n=nr(e).has.call(e,t);return e.add(t),n||Do(e,"add",t,t),this}function ir(t,e){e=Or(e);const n=Or(this),{has:o,get:r}=nr(n);let s=o.call(n,t);s||(t=Or(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?jo(e,l)&&Do(n,"set",t,e):Do(n,"add",t,e),this}function cr(t){const e=Or(this),{has:n,get:o}=nr(e);let r=n.call(e,t);r||(t=Or(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Do(e,"delete",t,void 0),s}function ar(){const t=Or(this),e=0!==t.size,n=t.clear();return e&&Do(t,"clear",void 0,void 0),n}function ur(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Or(s),i=t?tr:e?er:Zo;return!t&&Vo(l,0,Io),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function fr(t,e,n){return function(...o){const r=this.__v_raw,s=Or(r),l=wo(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?tr:n?er:Zo;return!e&&Vo(s,0,c?Ao:Io),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function pr(t){return function(...e){return"delete"!==t&&this}}const dr={get(t){return or(this,t)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!1)},hr={get(t){return or(this,t,!1,!0)},get size(){return sr(this)},has:rr,add:lr,set:ir,delete:cr,clear:ar,forEach:ur(!1,!0)},_r={get(t){return or(this,t,!0)},get size(){return sr(this,!0)},has(t){return rr.call(this,t,!0)},add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear"),forEach:ur(!0,!1)};function vr(t,e){const n=e?hr:t?_r:dr;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(bo(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{dr[t]=fr(t,!1,!1),_r[t]=fr(t,!0,!1),hr[t]=fr(t,!1,!0)}));const gr={get:vr(!1,!1)},yr={get:vr(!0,!1)},br=new WeakMap,mr=new WeakMap;function wr(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Eo(t).slice(8,-1))(t))}function kr(t){return t&&t.__v_isReadonly?t:xr(t,!1,Xo,gr)}function Sr(t){return xr(t,!0,Yo,yr)}function xr(t,e,n,o){if(!Ro(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?mr:br,s=r.get(t);if(s)return s;const l=wr(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Rr(t){return Cr(t)?Rr(t.__v_raw):!(!t||!t.__v_isReactive)}function Cr(t){return!(!t||!t.__v_isReadonly)}function Er(t){return Rr(t)||Cr(t)}function Or(t){return t&&Or(t.__v_raw)||t}const jr=t=>Ro(t)?kr(t):t;function $r(t){return Boolean(t&&!0===t.__v_isRef)}function Pr(t){return function(t,e=!1){if($r(t))return t;return new Fr(t,e)}(t)}class Fr{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:jr(t)}get value(){return Vo(Or(this),0,"value"),this._value}set value(t){jo(Or(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:jr(t),Do(Or(this),"set","value",t))}}class Ir{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Mo(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Do(Or(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),Vo(Or(this),0,"value"),this._value}set value(t){this._setter(t)}}function Ar(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Nr(s,e,n)}return r}function Mr(t,e,n,o){if(ko(t)){const s=Ar(t,e,n,o);return s&&(Ro(r=s)&&ko(r.then)&&ko(r.catch))&&s.catch((t=>{Nr(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function es(t){Ur=!1,Tr=!0,Zr(t),zr.sort(((t,e)=>ts(t)-ts(e)));try{for(Br=0;Brts(t)-ts(e))),Jr=0;Jros+=t;const ss={};function ls(t,e,n){return is(t,e,n)}function is(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=po,i=Ps){let c,a,u=!1;if($r(t)?(c=()=>t.value,u=!!t._shallow):Rr(t)?(c=()=>t,o=!0):c=mo(t)?()=>t.map((t=>$r(t)?t.value:Rr(t)?as(t):ko(t)?Ar(t,i,2):void 0)):ko(t)?e?()=>Ar(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),Ar(t,i,3,[f])}:ho,e&&o){const t=c;c=()=>as(t())}const f=t=>{a=_.options.onStop=()=>{Ar(t,i,4)}};let p=mo(t)?[]:ss;const d=()=>{if(_.active)if(e){const t=_();(o||u||jo(t,p))&&(a&&a(),Mr(e,i,3,[t,p===ss?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ds(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){Yr(t,Dr,Vr,Lr)}(d):d()};const _=Mo(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return Fs(_,i),e?n?d():p=_():"post"===r?ds(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(To(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function cs(t,e,n){const o=this.proxy;return is(So(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function as(t,e=new Set){if(!Ro(t)||e.has(t))return t;if(e.add(t),$r(t))as(t.value,e);else if(mo(t))for(let n=0;n{as(t,e)}));else for(const n in t)as(t[n],e);return t}function us(t){return ko(t)?{setup:t,name:t.name}:t}function fs(t){ko(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return us({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=Ps;if(c)return()=>ps(c,t);const e=e=>{a=null,Nr(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>ps(e,t))).catch((t=>(e(t),()=>o?ws(o,{error:t}):null)));const i=Pr(!1),u=Pr(),p=Pr(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?ps(c,t):u.value&&o?ws(o,{error:u.value}):n&&!p.value?ws(n):void 0}})}function ps(t,{vnode:{ref:e,props:n,children:o}}){const r=ws(t,n,o);return r.ref=e,r}const ds=function(t,e){e&&e.pendingBranch?mo(t)?e.effects.push(...t):e.effects.push(t):Yr(t,Kr,Wr,Jr)},hs=Symbol(),_s=Symbol(void 0),vs=Symbol(void 0),gs=Symbol(void 0);function ys(t){return!!t&&!0===t.__v_isVNode}const bs=({key:t})=>null!=t?t:null,ms=({ref:t})=>null!=t?So(t)||$r(t)||ko(t)?{i:null,r:t}:t:null,ws=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==hs||(t=gs);if(ys(t)){const o=ks(t,e,!0);return n&&Rs(o,n),o}l=t,ko(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Er(e)||"__vInternal"in e)&&(e=go({},e));let{class:t,style:n}=e;t&&!So(t)&&(e.class=fo(t)),Ro(n)&&(Er(n)&&!mo(n)&&(n=go({},n)),e.style=io(n))}const i=So(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Ro(t)?4:ko(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&bs(e),ref:e&&ms(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Rs(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ns(n.default),r=ns(n.fallback)):(o=ns(n),r=xs(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ks(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?Cs(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&bs(l),ref:e&&e.ref?n&&r?mo(r)?r.concat(ms(e)):[r,ms(e)]:ms(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==_s?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ks(t.ssContent),ssFallback:t.ssFallback&&ks(t.ssFallback),el:t.el,anchor:t.anchor}}function Ss(t=" ",e=0){return ws(vs,null,t,e)}function xs(t){return null==t||"boolean"==typeof t?ws(gs):mo(t)?ws(_s,null,t):"object"==typeof t?null===t.el?t:ks(t):ws(vs,null,String(t))}function Rs(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(mo(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&rs(1),Rs(t,n()),n._c&&rs(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else ko(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Ss(e)]):n=8);t.children=e,t.shapeFlag|=n}function Cs(...t){const e=go({},t[0]);for(let n=1;nEs(t,e,n)));for(const l in e)o&&bo(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Os=t=>t&&(t.proxy?t.proxy:Os(t.parent)),js=go(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Os(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Es(l,e,t))),Es(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(zr.length&&zr.includes(e,Tr&&e.allowRecurse?Br+1:Br)||e===Gr||(zr.push(e),Xr()));var e},$nextTick:t=>Qr.bind(t.proxy),$watch:t=>cs.bind(t)}),$s={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==po&&bo(o,e))return l[e]=0,o[e];if(r!==po&&bo(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&bo(a,e))return l[e]=2,s[e];if(n!==po&&bo(n,e))return l[e]=3,n[e];l[e]=4}}const u=js[e];let f,p;return u?("$attrs"===e&&Vo(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==po&&bo(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,bo(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==po&&bo(r,e))r[e]=n;else if(o!==po&&bo(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==po&&bo(t,l)||e!==po&&bo(e,l)||(i=s[0])&&bo(i,l)||bo(o,l)||bo(js,l)||bo(r.config.globalProperties,l)}};go({},$s,{get(t,e){if(e!==Symbol.unscopables)return $s.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!lo(e)});let Ps=null;function Fs(t,e=Ps){e&&(e.effects||(e.effects=[])).push(t)}function Is(t){const e=function(t){let e,n;return ko(t)?(e=t,n=ho):(e=t.get,n=t.set),new Ir(e,n,ko(t)||!t.set)}(t);return Fs(e.effect),e}const As=()=>({orientation:"vertical",children:[]});var Ms={name:"sb-layout",getDefaultData:As,edit:fs((()=>Rn((()=>__import__("./edit.680bd77a.js")),["./assets/edit.680bd77a.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"]))),display:fs((()=>Rn((()=>__import__("./display.67d272a4.js")),["./assets/display.67d272a4.js","./assets/style.b876754e.css","./assets/vendor.9babb3f5.js"])))};var Ns={name:"sb-heading",getDefaultData:()=>({}),edit:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0))),display:e((()=>Rn((()=>__import__("./edit.bd5075df.js")),void 0)))};function Ts(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const Us=Ts("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function zs(t){if(Xs(t)){const e={};for(let n=0;n{if(t){const n=t.split(Vs);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function Ls(t){let e="";if(tl(t))e=t;else if(Xs(t))for(let n=0;n{},Js=/^on[^a-z]/,qs=t=>Js.test(t),Hs=Object.assign,Gs=Object.prototype.hasOwnProperty,Qs=(t,e)=>Gs.call(t,e),Xs=Array.isArray,Ys=t=>"[object Map]"===rl(t),Zs=t=>"function"==typeof t,tl=t=>"string"==typeof t,el=t=>"symbol"==typeof t,nl=t=>null!==t&&"object"==typeof t,ol=Object.prototype.toString,rl=t=>ol.call(t),sl=t=>tl(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,ll=(t,e)=>t!==e&&(t==t||e==e),il=new WeakMap,cl=[];let al;const ul=Symbol(""),fl=Symbol("");function pl(t,e=Ws){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!cl.includes(n)){hl(n);try{return vl.push(_l),_l=!0,cl.push(n),al=n,t()}finally{cl.pop(),yl(),al=cl[cl.length-1]}}};return n.id=dl++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let dl=0;function hl(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==al||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&Xs(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":Xs(t)?sl(n)&&c(l.get("length")):(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"delete":Xs(t)||(c(l.get(ul)),Ys(t)&&c(l.get(fl)));break;case"set":Ys(t)&&c(l.get(ul))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const wl=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(el)),kl=El(),Sl=El(!1,!0),xl=El(!0),Rl=El(!0,!0),Cl={};function El(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Yl:Xl).get(n))return n;const s=Xs(n);if(!t&&s&&Qs(Cl,o))return Reflect.get(Cl,o,r);const l=Reflect.get(n,o,r);if(el(o)?wl.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||bl(n,0,o),e)return l;if(ci(l)){return!s||!sl(o)?l.value:l}return nl(l)?t?ei(l):ti(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Cl[t]=function(...t){const n=li(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Cl[t]=function(...t){gl();const n=e.apply(this,t);return yl(),n}}));function Ol(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=li(o),!Xs(e)&&ci(s)&&!ci(o)))return s.value=o,!0;const l=Xs(e)&&sl(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Hs({},jl,{get:Sl,set:Ol(!0)}),Hs({},$l,{get:Rl});const Pl=t=>nl(t)?ti(t):t,Fl=t=>nl(t)?ei(t):t,Il=t=>t,Al=t=>Reflect.getPrototypeOf(t);function Ml(t,e,n=!1,o=!1){const r=li(t=t.__v_raw),s=li(e);e!==s&&!n&&bl(r,0,e),!n&&bl(r,0,s);const{has:l}=Al(r),i=n?Fl:o?Il:Pl;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function Nl(t,e=!1){const n=this.__v_raw,o=li(n),r=li(t);return t!==r&&!e&&bl(o,0,t),!e&&bl(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function Tl(t,e=!1){return t=t.__v_raw,!e&&bl(li(t),0,ul),Reflect.get(t,"size",t)}function Ul(t){t=li(t);const e=li(this),n=Al(e).has.call(e,t);return e.add(t),n||ml(e,"add",t,t),this}function zl(t,e){e=li(e);const n=li(this),{has:o,get:r}=Al(n);let s=o.call(n,t);s||(t=li(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?ll(e,l)&&ml(n,"set",t,e):ml(n,"add",t,e),this}function Bl(t){const e=li(this),{has:n,get:o}=Al(e);let r=n.call(e,t);r||(t=li(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&ml(e,"delete",t,void 0),s}function Vl(){const t=li(this),e=0!==t.size,n=t.clear();return e&&ml(t,"clear",void 0,void 0),n}function Dl(t,e){return function(n,o){const r=this,s=r.__v_raw,l=li(s),i=t?Fl:e?Il:Pl;return!t&&bl(l,0,ul),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function Ll(t,e,n){return function(...o){const r=this.__v_raw,s=li(r),l=Ys(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?Fl:n?Il:Pl;return!e&&bl(s,0,c?fl:ul),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Wl(t){return function(...e){return"delete"!==t&&this}}const Kl={get(t){return Ml(this,t)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!1)},Jl={get(t){return Ml(this,t,!1,!0)},get size(){return Tl(this)},has:Nl,add:Ul,set:zl,delete:Bl,clear:Vl,forEach:Dl(!1,!0)},ql={get(t){return Ml(this,t,!0)},get size(){return Tl(this,!0)},has(t){return Nl.call(this,t,!0)},add:Wl("add"),set:Wl("set"),delete:Wl("delete"),clear:Wl("clear"),forEach:Dl(!0,!1)};function Hl(t,e){const n=e?Jl:t?ql:Kl;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(Qs(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Kl[t]=Ll(t,!1,!1),ql[t]=Ll(t,!0,!1),Jl[t]=Ll(t,!1,!0)}));const Gl={get:Hl(!1,!1)},Ql={get:Hl(!0,!1)},Xl=new WeakMap,Yl=new WeakMap;function Zl(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>rl(t).slice(8,-1))(t))}function ti(t){return t&&t.__v_isReadonly?t:ni(t,!1,jl,Gl)}function ei(t){return ni(t,!0,$l,Ql)}function ni(t,e,n,o){if(!nl(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Yl:Xl,s=r.get(t);if(s)return s;const l=Zl(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function oi(t){return ri(t)?oi(t.__v_raw):!(!t||!t.__v_isReactive)}function ri(t){return!(!t||!t.__v_isReadonly)}function si(t){return oi(t)||ri(t)}function li(t){return t&&li(t.__v_raw)||t}const ii=t=>nl(t)?ti(t):t;function ci(t){return Boolean(t&&!0===t.__v_isRef)}function ai(t){return function(t,e=!1){if(ci(t))return t;return new ui(t,e)}(t)}class ui{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:ii(t)}get value(){return bl(li(this),0,"value"),this._value}set value(t){ll(li(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:ii(t),ml(li(this),"set","value",t))}}class fi{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=pl(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,ml(li(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),bl(li(this),0,"value"),this._value}set value(t){this._setter(t)}}function pi(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){hi(s,e,n)}return r}function di(t,e,n,o){if(Zs(t)){const s=pi(t,e,n,o);return s&&(nl(r=s)&&Zs(r.then)&&Zs(r.catch))&&s.catch((t=>{hi(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function Ii(t){vi=!1,_i=!0,Pi(t),gi.sort(((t,e)=>Fi(t)-Fi(e)));try{for(yi=0;yiFi(t)-Fi(e))),xi=0;xiMi+=t;const Ti=(t=>(e,n=uc)=>function(t,e,n=uc,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;gl(),fc(n);const r=di(e,n,t,o);return fc(null),yl(),r});return o?r.unshift(s):r.push(s),s}}(t,e,n))("m"),Ui={};function zi(t,e,n){return Bi(t,e,n)}function Bi(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Ws,i=uc){let c,a,u=!1;if(ci(t)?(c=()=>t.value,u=!!t._shallow):oi(t)?(c=()=>t,o=!0):c=Xs(t)?()=>t.map((t=>ci(t)?t.value:oi(t)?Di(t):Zs(t)?pi(t,i,2):void 0)):Zs(t)?e?()=>pi(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),pi(t,i,3,[f])}:Ks,e&&o){const t=c;c=()=>Di(t())}const f=t=>{a=_.options.onStop=()=>{pi(t,i,4)}};let p=Xs(t)?[]:Ui;const d=()=>{if(_.active)if(e){const t=_();(o||u||ll(t,p))&&(a&&a(),di(e,i,3,[t,p===Ui?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Ji(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){$i(t,mi,bi,wi)}(d):d()};const _=pl(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return pc(_,i),e?n?d():p=_():"post"===r?Ji(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(hl(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function Vi(t,e,n){const o=this.proxy;return Bi(tl(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Di(t,e=new Set){if(!nl(t)||e.has(t))return t;if(e.add(t),ci(t))Di(t.value,e);else if(Xs(t))for(let n=0;n{Di(t,e)}));else for(const n in t)Di(t[n],e);return t}function Li(t){return Zs(t)?{setup:t,name:t.name}:t}function Wi(t){Zs(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return Li({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=uc;if(c)return()=>Ki(c,t);const e=e=>{a=null,hi(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ki(e,t))).catch((t=>(e(t),()=>o?tc(o,{error:t}):null)));const i=ai(!1),u=ai(),p=ai(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?Ki(c,t):u.value&&o?tc(o,{error:u.value}):n&&!p.value?tc(n):void 0}})}function Ki(t,{vnode:{ref:e,props:n,children:o}}){const r=tc(t,n,o);return r.ref=e,r}const Ji=function(t,e){e&&e.pendingBranch?Xs(t)?e.effects.push(...t):e.effects.push(t):$i(t,Si,ki,xi)},qi=Symbol(),Hi=Symbol(void 0),Gi=Symbol(void 0),Qi=Symbol(void 0);function Xi(t){return!!t&&!0===t.__v_isVNode}const Yi=({key:t})=>null!=t?t:null,Zi=({ref:t})=>null!=t?tl(t)||ci(t)||Zs(t)?{i:null,r:t}:t:null,tc=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==qi||(t=Qi);if(Xi(t)){const o=ec(t,e,!0);return n&&rc(o,n),o}l=t,Zs(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(si(e)||"__vInternal"in e)&&(e=Hs({},e));let{class:t,style:n}=e;t&&!tl(t)&&(e.class=Ls(t)),nl(n)&&(si(n)&&!Xs(n)&&(n=Hs({},n)),e.style=zs(n))}const i=tl(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:nl(t)?4:Zs(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Yi(e),ref:e&&Zi(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(rc(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=Ai(n.default),r=Ai(n.fallback)):(o=Ai(n),r=oc(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function ec(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?sc(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&Yi(l),ref:e&&e.ref?n&&r?Xs(r)?r.concat(Zi(e)):[r,Zi(e)]:Zi(e):r,scopeId:t.scopeId,children:t.children,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Hi?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ec(t.ssContent),ssFallback:t.ssFallback&&ec(t.ssFallback),el:t.el,anchor:t.anchor}}function nc(t=" ",e=0){return tc(Gi,null,t,e)}function oc(t){return null==t||"boolean"==typeof t?tc(Qi):Xs(t)?tc(Hi,null,t):"object"==typeof t?null===t.el?t:ec(t):tc(Gi,null,String(t))}function rc(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(Xs(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&Ni(1),rc(t,n()),n._c&&Ni(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else Zs(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[nc(e)]):n=8);t.children=e,t.shapeFlag|=n}function sc(...t){const e=Hs({},t[0]);for(let n=1;nlc(t,e,n)));for(const l in e)o&&Qs(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const ic=t=>t&&(t.proxy?t.proxy:ic(t.parent)),cc=Hs(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>ic(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>lc(l,e,t))),lc(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(gi.length&&gi.includes(e,_i&&e.allowRecurse?yi+1:yi)||e===Ei||(gi.push(e),ji()));var e},$nextTick:t=>Oi.bind(t.proxy),$watch:t=>Vi.bind(t)}),ac={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Ws&&Qs(o,e))return l[e]=0,o[e];if(r!==Ws&&Qs(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&Qs(a,e))return l[e]=2,s[e];if(n!==Ws&&Qs(n,e))return l[e]=3,n[e];l[e]=4}}const u=cc[e];let f,p;return u?("$attrs"===e&&bl(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Ws&&Qs(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,Qs(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Ws&&Qs(r,e))r[e]=n;else if(o!==Ws&&Qs(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Ws&&Qs(t,l)||e!==Ws&&Qs(e,l)||(i=s[0])&&Qs(i,l)||Qs(o,l)||Qs(cc,l)||Qs(r.config.globalProperties,l)}};Hs({},ac,{get(t,e){if(e!==Symbol.unscopables)return ac.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!Us(e)});let uc=null;const fc=t=>{uc=t};function pc(t,e=uc){e&&(e.effects||(e.effects=[])).push(t)}function dc(t){const e=function(t){let e,n;return Zs(t)?(e=t,n=Ks):(e=t.get,n=t.set),new fi(e,n,Zs(t)||!t.set)}(t);return pc(e.effect),e}const hc=()=>({value:"",align:"left"});var _c={name:"sb-paragraph",getDefaultData:hc,edit:Wi((()=>Rn((()=>__import__("./edit.2b327d35.js")),["./assets/edit.2b327d35.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"]))),display:Wi((()=>Rn((()=>__import__("./display.59646631.js")),["./assets/display.59646631.js","./assets/style.3e24e605.css","./assets/vendor.9babb3f5.js"])))};function vc(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const gc=vc("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl");function yc(t){if($c(t)){const e={};for(let n=0;n{if(t){const n=t.split(mc);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function kc(t){let e="";if(Ic(t))e=t;else if($c(t))for(let n=0;n{},Rc=/^on[^a-z]/,Cc=t=>Rc.test(t),Ec=Object.assign,Oc=Object.prototype.hasOwnProperty,jc=(t,e)=>Oc.call(t,e),$c=Array.isArray,Pc=t=>"[object Map]"===Tc(t),Fc=t=>"function"==typeof t,Ic=t=>"string"==typeof t,Ac=t=>"symbol"==typeof t,Mc=t=>null!==t&&"object"==typeof t,Nc=Object.prototype.toString,Tc=t=>Nc.call(t),Uc=t=>Ic(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,zc=(t,e)=>t!==e&&(t==t||e==e),Bc=new WeakMap,Vc=[];let Dc;const Lc=Symbol(""),Wc=Symbol("");function Kc(t,e=Sc){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Vc.includes(n)){qc(n);try{return Gc.push(Hc),Hc=!0,Vc.push(n),Dc=n,t()}finally{Vc.pop(),Qc(),Dc=Vc[Vc.length-1]}}};return n.id=Jc++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Jc=0;function qc(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Dc||t.allowRecurse)&&i.add(t)}))};if("clear"===e)l.forEach(c);else if("length"===n&&$c(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&c(t)}));else switch(void 0!==n&&c(l.get(n)),e){case"add":$c(t)?Uc(n)&&c(l.get("length")):(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"delete":$c(t)||(c(l.get(Lc)),Pc(t)&&c(l.get(Wc)));break;case"set":Pc(t)&&c(l.get(Lc))}i.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Zc=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(Ac)),ta=sa(),ea=sa(!1,!0),na=sa(!0),oa=sa(!0,!0),ra={};function sa(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?$a:ja).get(n))return n;const s=$c(n);if(!t&&s&&jc(ra,o))return Reflect.get(ra,o,r);const l=Reflect.get(n,o,r);if(Ac(o)?Zc.has(o):"__proto__"===o||"__v_isRef"===o)return l;if(t||Xc(n,0,o),e)return l;if(Ba(l)){return!s||!Uc(o)?l.value:l}return Mc(l)?t?Ia(l):Fa(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];ra[t]=function(...t){const n=Ua(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];ra[t]=function(...t){Gc.push(Hc),Hc=!1;const n=e.apply(this,t);return Qc(),n}}));function la(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ua(o),!$c(e)&&Ba(s)&&!Ba(o)))return s.value=o,!0;const l=$c(e)&&Uc(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Ec({},ia,{get:ea,set:la(!0)}),Ec({},ca,{get:oa});const aa=t=>Mc(t)?Fa(t):t,ua=t=>Mc(t)?Ia(t):t,fa=t=>t,pa=t=>Reflect.getPrototypeOf(t);function da(t,e,n=!1,o=!1){const r=Ua(t=t.__v_raw),s=Ua(e);e!==s&&!n&&Xc(r,0,e),!n&&Xc(r,0,s);const{has:l}=pa(r),i=n?ua:o?fa:aa;return l.call(r,e)?i(t.get(e)):l.call(r,s)?i(t.get(s)):void 0}function ha(t,e=!1){const n=this.__v_raw,o=Ua(n),r=Ua(t);return t!==r&&!e&&Xc(o,0,t),!e&&Xc(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function _a(t,e=!1){return t=t.__v_raw,!e&&Xc(Ua(t),0,Lc),Reflect.get(t,"size",t)}function va(t){t=Ua(t);const e=Ua(this),n=pa(e).has.call(e,t);return e.add(t),n||Yc(e,"add",t,t),this}function ga(t,e){e=Ua(e);const n=Ua(this),{has:o,get:r}=pa(n);let s=o.call(n,t);s||(t=Ua(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?zc(e,l)&&Yc(n,"set",t,e):Yc(n,"add",t,e),this}function ya(t){const e=Ua(this),{has:n,get:o}=pa(e);let r=n.call(e,t);r||(t=Ua(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Yc(e,"delete",t,void 0),s}function ba(){const t=Ua(this),e=0!==t.size,n=t.clear();return e&&Yc(t,"clear",void 0,void 0),n}function ma(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ua(s),i=t?ua:e?fa:aa;return!t&&Xc(l,0,Lc),s.forEach(((t,e)=>n.call(o,i(t),i(e),r)))}}function wa(t,e,n){return function(...o){const r=this.__v_raw,s=Ua(r),l=Pc(s),i="entries"===t||t===Symbol.iterator&&l,c="keys"===t&&l,a=r[t](...o),u=e?ua:n?fa:aa;return!e&&Xc(s,0,c?Wc:Lc),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:i?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function ka(t){return function(...e){return"delete"!==t&&this}}const Sa={get(t){return da(this,t)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ba,forEach:ma(!1,!1)},xa={get(t){return da(this,t,!1,!0)},get size(){return _a(this)},has:ha,add:va,set:ga,delete:ya,clear:ba,forEach:ma(!1,!0)},Ra={get(t){return da(this,t,!0)},get size(){return _a(this,!0)},has(t){return ha.call(this,t,!0)},add:ka("add"),set:ka("set"),delete:ka("delete"),clear:ka("clear"),forEach:ma(!0,!1)};function Ca(t,e){const n=e?xa:t?Ra:Sa;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(jc(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Sa[t]=wa(t,!1,!1),Ra[t]=wa(t,!0,!1),xa[t]=wa(t,!1,!0)}));const Ea={get:Ca(!1,!1)},Oa={get:Ca(!0,!1)},ja=new WeakMap,$a=new WeakMap;function Pa(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Tc(t).slice(8,-1))(t))}function Fa(t){return t&&t.__v_isReadonly?t:Aa(t,!1,ia,Ea)}function Ia(t){return Aa(t,!0,ca,Oa)}function Aa(t,e,n,o){if(!Mc(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?$a:ja,s=r.get(t);if(s)return s;const l=Pa(t);if(0===l)return t;const i=new Proxy(t,2===l?o:n);return r.set(t,i),i}function Ma(t){return Na(t)?Ma(t.__v_raw):!(!t||!t.__v_isReactive)}function Na(t){return!(!t||!t.__v_isReadonly)}function Ta(t){return Ma(t)||Na(t)}function Ua(t){return t&&Ua(t.__v_raw)||t}const za=t=>Mc(t)?Fa(t):t;function Ba(t){return Boolean(t&&!0===t.__v_isRef)}function Va(t){return function(t,e=!1){if(Ba(t))return t;return new Da(t,e)}(t)}class Da{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:za(t)}get value(){return Xc(Ua(this),0,"value"),this._value}set value(t){zc(Ua(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:za(t),Yc(Ua(this),"set","value",t))}}function La(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Ka(s,e,n)}return r}function Wa(t,e,n,o){if(Fc(t)){const s=La(t,e,n,o);return s&&(Mc(r=s)&&Fc(r.then)&&Fc(r.catch))&&s.catch((t=>{Ka(t,e,n)})),s}var r;const s=[];for(let l=0;lnull==t.id?1/0:t.id;function uu(t){qa=!1,Ja=!0,cu(t),Ha.sort(((t,e)=>au(t)-au(e)));try{for(Ga=0;Gaau(t)-au(e))),eu=0;eupu+=t;const hu={};function _u(t,e,n){return vu(t,e,n)}function vu(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Sc,i=zu){let c,a,u=!1;if(Ba(t)?(c=()=>t.value,u=!!t._shallow):Ma(t)?(c=()=>t,o=!0):c=$c(t)?()=>t.map((t=>Ba(t)?t.value:Ma(t)?yu(t):Fc(t)?La(t,i,2):void 0)):Fc(t)?e?()=>La(t,i,2):()=>{if(!i||!i.isUnmounted)return a&&a(),La(t,i,3,[f])}:xc,e&&o){const t=c;c=()=>yu(t())}const f=t=>{a=_.options.onStop=()=>{La(t,i,4)}};let p=$c(t)?[]:hu;const d=()=>{if(_.active)if(e){const t=_();(o||u||zc(t,p))&&(a&&a(),Wa(e,i,3,[t,p===hu?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>ku(d,i&&i.suspense):()=>{!i||i.isMounted?function(t){iu(t,Xa,Qa,Ya)}(d):d()};const _=Kc(c,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return function(t,e=zu){e&&(e.effects||(e.effects=[])).push(t)}(_,i),e?n?d():p=_():"post"===r?ku(_,i&&i.suspense):_(),()=>{var t;(t=_).active&&(qc(t),t.options.onStop&&t.options.onStop(),t.active=!1),i&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(i.effects,_)}}function gu(t,e,n){const o=this.proxy;return vu(Ic(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function yu(t,e=new Set){if(!Mc(t)||e.has(t))return t;if(e.add(t),Ba(t))yu(t.value,e);else if($c(t))for(let n=0;n{yu(t,e)}));else for(const n in t)yu(t[n],e);return t}function bu(t){return Fc(t)?{setup:t,name:t.name}:t}function mu(t){Fc(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:i}=t;let c,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),i)return new Promise(((e,n)=>{i(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),c=e,e))))};return bu({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=zu;if(c)return()=>wu(c,t);const e=e=>{a=null,Ka(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>wu(e,t))).catch((t=>(e(t),()=>o?$u(o,{error:t}):null)));const i=Va(!1),u=Va(),p=Va(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!i.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{i.value=!0})).catch((t=>{e(t),u.value=t})),()=>i.value&&c?wu(c,t):u.value&&o?$u(o,{error:u.value}):n&&!p.value?$u(n):void 0}})}function wu(t,{vnode:{ref:e,props:n,children:o}}){const r=$u(t,n,o);return r.ref=e,r}const ku=function(t,e){e&&e.pendingBranch?$c(t)?e.effects.push(...t):e.effects.push(t):iu(t,tu,Za,eu)},Su=Symbol(),xu=Symbol(void 0),Ru=Symbol(void 0),Cu=Symbol(void 0);function Eu(t){return!!t&&!0===t.__v_isVNode}const Ou=({key:t})=>null!=t?t:null,ju=({ref:t})=>null!=t?Ic(t)||Ba(t)||Fc(t)?{i:null,r:t}:t:null,$u=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Su||(t=Cu);if(Eu(t)){const o=Pu(t,e,!0);return n&&Au(o,n),o}l=t,Fc(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Ta(e)||"__vInternal"in e)&&(e=Ec({},e));let{class:t,style:n}=e;t&&!Ic(t)&&(e.class=kc(t)),Mc(n)&&(Ta(n)&&!$c(n)&&(n=Ec({},n)),e.style=yc(n))}const i=Ic(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Mc(t)?4:Fc(t)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ou(e),ref:e&&ju(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Au(c,n),128&i){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=fu(n.default),r=fu(n.fallback)):(o=fu(n),r=Iu(null)),{content:o,fallback:r}}(c);c.ssContent=t,c.ssFallback=e}0;return c};function Pu(t,e,n=!1){const{props:o,ref:r,patchFlag:s}=t,l=e?function(...t){const e=Ec({},t[0]);for(let n=1;nMu(t,e,n)));for(const l in e)o&&jc(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Nu=t=>t&&(t.proxy?t.proxy:Nu(t.parent)),Tu=Ec(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Nu(t.parent),$root:t=>t.root&&t.root.proxy,$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Mu(l,e,t))),Mu(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>{return e=t.update,void(Ha.length&&Ha.includes(e,Ja&&e.allowRecurse?Ga+1:Ga)||e===ru||(Ha.push(e),lu()));var e},$nextTick:t=>su.bind(t.proxy),$watch:t=>gu.bind(t)}),Uu={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:i,appContext:c}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Sc&&jc(o,e))return l[e]=0,o[e];if(r!==Sc&&jc(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&jc(a,e))return l[e]=2,s[e];if(n!==Sc&&jc(n,e))return l[e]=3,n[e];l[e]=4}}const u=Tu[e];let f,p;return u?("$attrs"===e&&Xc(t,0,e),u(t)):(f=i.__cssModules)&&(f=f[e])?f:n!==Sc&&jc(n,e)?(l[e]=3,n[e]):(p=c.config.globalProperties,jc(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Sc&&jc(r,e))r[e]=n;else if(o!==Sc&&jc(o,e))o[e]=n;else if(e in t.props)return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let i;return void 0!==n[l]||t!==Sc&&jc(t,l)||e!==Sc&&jc(e,l)||(i=s[0])&&jc(i,l)||jc(o,l)||jc(Tu,l)||jc(r.config.globalProperties,l)}};Ec({},Uu,{get(t,e){if(e!==Symbol.unscopables)return Uu.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!gc(e)});let zu=null;const Bu=()=>({src:"",alt:"",description:{id:m(),name:"sb-paragraph",data:{value:"",align:"left"}}});var Vu={name:"sb-image",getDefaultData:Bu,edit:mu((()=>Rn((()=>__import__("./edit.0be4ff4d.js")),["./assets/edit.0be4ff4d.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"]))),display:mu((()=>Rn((()=>__import__("./display.093b30ed.js")),["./assets/display.093b30ed.js","./assets/style.d3f26b5f.css","./assets/vendor.9babb3f5.js"])))};a(n({name:"App",setup(){const t=o("edit"),e=r({name:"none",id:"0",data:null});s((async()=>{const t=await fetch("./initial-data.json"),n=await t.json();e.name=n.name,e.id=n.id,e.data=n.data}));const n=l((()=>{switch(t.value){case u.Edit:return i(On,{block:e,onUpdate:t=>{e.data=t.data},customBlocks:[Ms,Ns,Vu,_c],key:"edit",mode:u.Edit},null);case u.Display:return i(On,{block:e,customBlocks:[Ms,Ns,Vu,_c],key:"display",mode:u.Display},null);case"data":return i("pre",null,[i("code",null,[JSON.stringify(e,null,2)])])}}));return()=>i("div",{id:"app"},[i("select",{value:t.value,onChange:e=>{t.value=e.target.value}},[i("option",null,[c("edit")]),i("option",null,[c("display")]),i("option",null,[c("data")])]),n.value])}})).mount("#app");export{Fa as A,Va as B,_u as C,$u as D,Fu as E,xu as F,Fe as G,k as H,Le as I,Ke as J,oo as S,ws as a,yn as b,Is as c,us as d,En as e,Cs as f,As as g,eo as h,no as i,Li as j,hc as k,ti as l,w as m,ai as n,Ti as o,zi as p,dc as q,kr as r,tc as s,ro as t,ln as u,nc as v,ls as w,sc as x,bu as y,Bu as z}; diff --git a/docs/assets/index.a48301fd.js b/docs/assets/index.a48301fd.js new file mode 100644 index 0000000..050f59e --- /dev/null +++ b/docs/assets/index.a48301fd.js @@ -0,0 +1,2 @@ +var t=Object.assign;import{d as e,a as n,r as o,b as r,o as s,c as l,e as c,f as i,g as a}from"./vendor.a029424f.js";var u,f;!function(t=".",e="__import__"){try{self[e]=new Function("u","return import(u)")}catch(n){const o=new URL(t,location),r=t=>{URL.revokeObjectURL(t.src),t.remove()};self[e]=t=>new Promise(((n,s)=>{const l=new URL(t,o);if(self[e].moduleMap[l])return n(self[e].moduleMap[l]);const c=new Blob([`import * as m from '${l}';`,`${e}.moduleMap['${l}']=m;`],{type:"text/javascript"}),i=Object.assign(document.createElement("script"),{type:"module",src:URL.createObjectURL(c),onerror(){s(new Error(`Failed to import: ${t}`)),r(i)},onload(){n(self[e].moduleMap[l]),r(i)}});document.head.appendChild(i)})),self[e].moduleMap={}}}("assets/"),(f=u||(u={})).Edit="edit",f.Display="display";const p=Symbol("Schlechtenburg mode");var d,h=new Uint8Array(16);function _(){if(!d&&!(d="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return d(h)}var v=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function g(t){return"string"==typeof t&&v.test(t)}for(var y=[],b=0;b<256;++b)y.push((b+256).toString(16).substr(1));const m=function(t,e,n){var o=(t=t||{}).random||(t.rng||_)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){n=n||0;for(var r=0;r<16;++r)e[n+r]=o[r];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(y[t[e+0]]+y[t[e+1]]+y[t[e+2]]+y[t[e+3]]+"-"+y[t[e+4]]+y[t[e+5]]+"-"+y[t[e+6]]+y[t[e+7]]+"-"+y[t[e+8]]+y[t[e+9]]+"-"+y[t[e+10]]+y[t[e+11]]+y[t[e+12]]+y[t[e+13]]+y[t[e+14]]+y[t[e+15]]).toLowerCase();if(!g(n))throw TypeError("Stringified UUID is invalid");return n}(o)},w={prop:"block",event:"update"},k={blockId:{type:String,default:m}};function S(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const x=S("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function R(t){if(T(t)){const e={};for(let n=0;n{if(t){const n=t.split(E);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function j(t){let e="";if(V(t))e=t;else if(T(t))for(let n=0;n{},P=/^on[^a-z]/,I=t=>P.test(t),A=Object.assign,M=Object.prototype.hasOwnProperty,N=(t,e)=>M.call(t,e),T=Array.isArray,B=t=>"[object Map]"===W(t),U=t=>"function"==typeof t,V=t=>"string"==typeof t,z=t=>"symbol"==typeof t,D=t=>null!==t&&"object"==typeof t,L=Object.prototype.toString,W=t=>L.call(t),K=t=>V(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,J=(t,e)=>t!==e&&(t==t||e==e),q=new WeakMap,H=[];let G;const Q=Symbol(""),X=Symbol("");function Y(t,e=F){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!H.includes(n)){tt(n);try{return nt.push(et),et=!0,H.push(n),G=n,t()}finally{H.pop(),rt(),G=H[H.length-1]}}};return n.id=Z++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Z=0;function tt(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==G||t.allowRecurse)&&c.add(t)}))};if("clear"===e)l.forEach(i);else if("length"===n&&T(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&i(t)}));else switch(void 0!==n&&i(l.get(n)),e){case"add":T(t)?K(n)&&i(l.get("length")):(i(l.get(Q)),B(t)&&i(l.get(X)));break;case"delete":T(t)||(i(l.get(Q)),B(t)&&i(l.get(X)));break;case"set":B(t)&&i(l.get(Q))}c.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const ct=S("__proto__,__v_isRef,__isVue"),it=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(z)),at=ht(),ut=ht(!1,!0),ft=ht(!0),pt=ht(!0,!0),dt={};function ht(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?zt:Vt).get(n))return n;const s=T(n);if(!t&&s&&N(dt,o))return Reflect.get(dt,o,r);const l=Reflect.get(n,o,r);if(z(o)?it.has(o):ct(o))return l;if(t||st(n,0,o),e)return l;if(Xt(l)){return!s||!K(o)?l.value:l}return D(l)?t?Wt(l):Lt(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];dt[t]=function(...t){const n=Gt(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];dt[t]=function(...t){ot();const n=e.apply(this,t);return rt(),n}}));function _t(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Gt(o),!T(e)&&Xt(s)&&!Xt(o)))return s.value=o,!0;const l=T(e)&&K(n)?Number(n)!0,deleteProperty:(t,e)=>!0},yt=A({},vt,{get:ut,set:_t(!0)});A({},gt,{get:pt});const bt=t=>D(t)?Lt(t):t,mt=t=>D(t)?Wt(t):t,wt=t=>t,kt=t=>Reflect.getPrototypeOf(t);function St(t,e,n=!1,o=!1){const r=Gt(t=t.__v_raw),s=Gt(e);e!==s&&!n&&st(r,0,e),!n&&st(r,0,s);const{has:l}=kt(r),c=n?mt:o?wt:bt;return l.call(r,e)?c(t.get(e)):l.call(r,s)?c(t.get(s)):void 0}function xt(t,e=!1){const n=this.__v_raw,o=Gt(n),r=Gt(t);return t!==r&&!e&&st(o,0,t),!e&&st(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function Rt(t,e=!1){return t=t.__v_raw,!e&&st(Gt(t),0,Q),Reflect.get(t,"size",t)}function Ct(t){t=Gt(t);const e=Gt(this);return kt(e).has.call(e,t)||(e.add(t),lt(e,"add",t,t)),this}function Et(t,e){e=Gt(e);const n=Gt(this),{has:o,get:r}=kt(n);let s=o.call(n,t);s||(t=Gt(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?J(e,l)&<(n,"set",t,e):lt(n,"add",t,e),this}function Ot(t){const e=Gt(this),{has:n,get:o}=kt(e);let r=n.call(e,t);r||(t=Gt(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&<(e,"delete",t,void 0),s}function jt(){const t=Gt(this),e=0!==t.size,n=t.clear();return e&<(t,"clear",void 0,void 0),n}function Ft(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Gt(s),c=t?mt:e?wt:bt;return!t&&st(l,0,Q),s.forEach(((t,e)=>n.call(o,c(t),c(e),r)))}}function $t(t,e,n){return function(...o){const r=this.__v_raw,s=Gt(r),l=B(s),c="entries"===t||t===Symbol.iterator&&l,i="keys"===t&&l,a=r[t](...o),u=e?mt:n?wt:bt;return!e&&st(s,0,i?X:Q),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:c?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Pt(t){return function(...e){return"delete"!==t&&this}}const It={get(t){return St(this,t)},get size(){return Rt(this)},has:xt,add:Ct,set:Et,delete:Ot,clear:jt,forEach:Ft(!1,!1)},At={get(t){return St(this,t,!1,!0)},get size(){return Rt(this)},has:xt,add:Ct,set:Et,delete:Ot,clear:jt,forEach:Ft(!1,!0)},Mt={get(t){return St(this,t,!0)},get size(){return Rt(this,!0)},has(t){return xt.call(this,t,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:Ft(!0,!1)};function Nt(t,e){const n=e?At:t?Mt:It;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(N(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{It[t]=$t(t,!1,!1),Mt[t]=$t(t,!0,!1),At[t]=$t(t,!1,!0)}));const Tt={get:Nt(!1,!1)},Bt={get:Nt(!1,!0)},Ut={get:Nt(!0,!1)},Vt=new WeakMap,zt=new WeakMap;function Dt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>W(t).slice(8,-1))(t))}function Lt(t){return t&&t.__v_isReadonly?t:Kt(t,!1,vt,Tt)}function Wt(t){return Kt(t,!0,gt,Ut)}function Kt(t,e,n,o){if(!D(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?zt:Vt,s=r.get(t);if(s)return s;const l=Dt(t);if(0===l)return t;const c=new Proxy(t,2===l?o:n);return r.set(t,c),c}function Jt(t){return qt(t)?Jt(t.__v_raw):!(!t||!t.__v_isReactive)}function qt(t){return!(!t||!t.__v_isReadonly)}function Ht(t){return Jt(t)||qt(t)}function Gt(t){return t&&Gt(t.__v_raw)||t}const Qt=t=>D(t)?Lt(t):t;function Xt(t){return Boolean(t&&!0===t.__v_isRef)}function Yt(t){return function(t,e=!1){if(Xt(t))return t;return new Zt(t,e)}(t)}class Zt{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Qt(t)}get value(){return st(Gt(this),0,"value"),this._value}set value(t){J(Gt(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Qt(t),lt(Gt(this),"set","value",t))}}class te{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=Y(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,lt(Gt(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),st(Gt(this),0,"value"),this._value}set value(t){this._setter(t)}}function ee(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){oe(s,e,n)}return r}function ne(t,e,n,o){if(U(t)){const s=ee(t,e,n,o);return s&&(D(r=s)&&U(r.then)&&U(r.catch))&&s.catch((t=>{oe(t,e,n)})),s}var r;const s=[];for(let l=0;l>>1;ke(le[t])-1?le.splice(e,0,t):le.push(t),be()}}function be(){re||se||(se=!0,_e=he.then(Se))}function me(t,e,n,o){T(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?o+1:o)||n.push(t),be()}function we(t,e=null){if(ie.length){for(ve=e,ae=[...new Set(ie)],ie.length=0,ue=0;uenull==t.id?1/0:t.id;function Se(t){se=!1,re=!0,we(t),le.sort(((t,e)=>ke(t)-ke(e)));try{for(ce=0;ceke(t)-ke(e))),de=0;deRe+=t;const Ee=(Oe="um",(t,e=on)=>function(t,e,n=on,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;ot(),rn(n);const r=ne(e,n,t,o);return rn(null),rt(),r});return o?r.unshift(s):r.push(s),s}}(Oe,t,e));var Oe;const je={};function Fe(t,e,n){return $e(t,e,n)}function $e(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=F,c=on){let i,a,u=!1;if(Xt(t)?(i=()=>t.value,u=!!t._shallow):Jt(t)?(i=()=>t,o=!0):i=T(t)?()=>t.map((t=>Xt(t)?t.value:Jt(t)?Ie(t):U(t)?ee(t,c,2,[c&&c.proxy]):void 0)):U(t)?e?()=>ee(t,c,2,[c&&c.proxy]):()=>{if(!c||!c.isUnmounted)return a&&a(),ee(t,c,3,[f])}:$,e&&o){const t=i;i=()=>Ie(t())}const f=t=>{a=_.options.onStop=()=>{ee(t,c,4)}};let p=T(t)?[]:je;const d=()=>{if(_.active)if(e){const t=_();(o||u||J(t,p))&&(a&&a(),ne(e,c,3,[t,p===je?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Te(d,c&&c.suspense):()=>{!c||c.isMounted?function(t){me(t,ae,ie,ue)}(d):d()};const _=Y(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return sn(_,c),e?n?d():p=_():"post"===r?Te(_,c&&c.suspense):_(),()=>{var t;(t=_).active&&(tt(t),t.options.onStop&&t.options.onStop(),t.active=!1),c&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(c.effects,_)}}function Pe(t,e,n){const o=this.proxy;return $e(V(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Ie(t,e=new Set){if(!D(t)||e.has(t))return t;if(e.add(t),Xt(t))Ie(t.value,e);else if(T(t))for(let n=0;n{Ie(t,e)}));else for(const n in t)Ie(t[n],e);return t}function Ae(t){return U(t)?{setup:t,name:t.name}:t}function Me(t){U(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:c}=t;let i,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise(((e,n)=>{c(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),i=e,e))))};return Ae({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=on;if(i)return()=>Ne(i,t);const e=e=>{a=null,oe(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Ne(e,t))).catch((t=>(e(t),()=>o?Ke(o,{error:t}):null)));const c=Yt(!1),u=Yt(),p=Yt(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!c.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{c.value=!0})).catch((t=>{e(t),u.value=t})),()=>c.value&&i?Ne(i,t):u.value&&o?Ke(o,{error:u.value}):n&&!p.value?Ke(n):void 0}})}function Ne(t,{vnode:{ref:e,props:n,children:o}}){const r=Ke(t,n,o);return r.ref=e,r}const Te=function(t,e){e&&e.pendingBranch?T(t)?e.effects.push(...t):e.effects.push(t):me(t,pe,fe,de)},Be=Symbol(),Ue=Symbol(void 0),Ve=Symbol(void 0),ze=Symbol(void 0);function De(t){return!!t&&!0===t.__v_isVNode}const Le=({key:t})=>null!=t?t:null,We=({ref:t})=>null!=t?V(t)||Xt(t)||U(t)?{i:null,r:t}:t:null,Ke=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Be||(t=ze);if(De(t)){const o=Je(t,e,!0);return n&&Ge(o,n),o}l=t,U(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Ht(e)||"__vInternal"in e)&&(e=A({},e));let{class:t,style:n}=e;t&&!V(t)&&(e.class=j(t)),D(n)&&(Ht(n)&&!T(n)&&(n=A({},n)),e.style=R(n))}const c=V(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:D(t)?4:U(t)?2:0,i={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Le(e),ref:e&&We(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Ge(i,n),128&c){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=xe(n.default),r=xe(n.fallback)):(o=xe(n),r=He(null)),{content:o,fallback:r}}(i);i.ssContent=t,i.ssFallback=e}0;return i};function Je(t,e,n=!1){const{props:o,ref:r,patchFlag:s,children:l}=t,c=e?Qe(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&Le(c),ref:e&&e.ref?n&&r?T(r)?r.concat(We(e)):[r,We(e)]:We(e):r,scopeId:t.scopeId,children:l,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ue?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Je(t.ssContent),ssFallback:t.ssFallback&&Je(t.ssFallback),el:t.el,anchor:t.anchor}}function qe(t=" ",e=0){return Ke(Ve,null,t,e)}function He(t){return null==t||"boolean"==typeof t?Ke(ze):T(t)?Ke(Ue,null,t):"object"==typeof t?null===t.el?t:Je(t):Ke(Ve,null,String(t))}function Ge(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(T(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&Ce(1),Ge(t,n()),n._c&&Ce(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else U(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[qe(e)]):n=8);t.children=e,t.shapeFlag|=n}function Qe(...t){const e=A({},t[0]);for(let n=1;n1)return n&&U(e)?e():e}}function Ze(t,e,n){const o=n.appContext.config.optionMergeStrategies,{mixins:r,extends:s}=e;s&&Ze(t,s,n),r&&r.forEach((e=>Ze(t,e,n)));for(const l in e)o&&N(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const tn=t=>t?4&t.vnode.shapeFlag?t.exposed?t.exposed:t.proxy:tn(t.parent):null,en=A(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>tn(t.parent),$root:t=>tn(t.root),$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Ze(l,e,t))),Ze(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>ye(t.update),$nextTick:t=>ge.bind(t.proxy),$watch:t=>Pe.bind(t)}),nn={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:c,appContext:i}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const c=l[e];if(void 0!==c)switch(c){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==F&&N(o,e))return l[e]=0,o[e];if(r!==F&&N(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&N(a,e))return l[e]=2,s[e];if(n!==F&&N(n,e))return l[e]=3,n[e];l[e]=4}}const u=en[e];let f,p;return u?("$attrs"===e&&st(t,0,e),u(t)):(f=c.__cssModules)&&(f=f[e])?f:n!==F&&N(n,e)?(l[e]=3,n[e]):(p=i.config.globalProperties,N(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==F&&N(r,e))r[e]=n;else if(o!==F&&N(o,e))o[e]=n;else if(N(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let c;return void 0!==n[l]||t!==F&&N(t,l)||e!==F&&N(e,l)||(c=s[0])&&N(c,l)||N(o,l)||N(en,l)||N(r.config.globalProperties,l)}};A({},nn,{get(t,e){if(e!==Symbol.unscopables)return nn.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!x(e)});let on=null;const rn=t=>{on=t};function sn(t,e=on){e&&(e.effects||(e.effects=[])).push(t)}function ln(t){const e=function(t){let e,n;return U(t)?(e=t,n=$):(e=t.get,n=t.set),new te(e,n,U(t)||!t.set)}(t);return sn(e.effect),e}const cn=Symbol("Schlechtenburg active block");function an(t=null){const e=Ye(cn,Yt(null)),n=ln((()=>e.value===t)),o=n=>{e.value=void 0!==n?n:t};return{activeBlockId:e,isActive:n,activate:o,requestActivation:()=>{e.value||o()}}}const un=Symbol("Schlechtenburg block library");function fn(){const t=Ye(p,Yt(u.Edit)),e=Ye(un,Lt({}));return{mode:t,customBlocks:e,getBlock:t=>e[t]}}const pn=Symbol("Schlechtenburg block dimensions"),dn=Symbol("Schlechtenburg editor dimensions");function hn(t,e){const n=Yt(null);Xe(e,n);const o=()=>{if(!t.value)return;const e=t.value.getBoundingClientRect();n.value={width:e.width,height:e.height,left:t.value.offsetLeft,top:t.value.offsetTop}},r=new ResizeObserver(o),s=new MutationObserver(o);return Fe(t,(()=>{t.value&&(r.observe(t.value),s.observe(t.value,{attributes:!0,childList:!1,subtree:!1}))})),{triggerSizeCalculation:o,dimensions:n}}function _n(){return{editorDimensions:Ye(dn,Yt(null)),blockDimensions:Ye(pn,Yt(null))}}const vn=Symbol("Schlechtenburg block tree"),gn=Symbol("Schlechtenburg block tree register"),yn=Symbol("Schlechtenburg block tree unregister");function bn(){const t=Ye(vn,Yt(null)),e=Ye(gn,(t=>{})),n=Ye(yn,(t=>{})),o=Lt({id:"",name:"",icon:"",children:[]});Xe(gn,(t=>{o.children.find((e=>e.id===t.id))||(o.children=[...o.children,t])})),Xe(yn,(({id:t})=>{o.children=o.children.filter((e=>e.id!==t))}));return Ee((()=>{o.id&&n(o)})),{blockTree:t,register:t=>{if(!t.id)throw new Error(`Cannot register a block without an id: ${JSON.stringify(t)}`);o.id=t.id,o.name=t.name,e(o)}}}const mn=Ae({name:"sb-button",inheritAttrs:!1,setup:(e,n)=>()=>{var e,o;return Ke("button",t(t({},n.attrs),{class:(n.attrs.class||"")+" sb-button"}),[null==(o=(e=n.slots).default)?void 0:o.call(e)])}});const wn=Ae({name:"sb-context-menu",props:{onClose:{type:Function,default:()=>{}},onOpen:{type:Function,default:()=>{}}},setup(t,e){const n=Yt(!1),o=()=>{n.value=!0},r=()=>{n.value=!1},s=t=>{"Escape"===t.key&&r()},l=()=>{n.value?r():o()};return Fe(n,((e,n)=>{e!==n&&(e?setTimeout((()=>{document.body.addEventListener("click",r),document.body.addEventListener("keypress",s),t.onOpen()})):(document.body.removeEventListener("click",r),document.body.removeEventListener("keypress",s),t.onClose()))})),()=>{var t,s,c,i;return Ke("div",{class:"sb-context"},[(null==(s=(t=e.slots).context)?void 0:s.call(t,{opened:n,toggle:l,close:r,open:o}))||Ke(mn,{onClick:l},{default:()=>[qe("Menu")]}),Ke("dialog",Qe({class:"sb-context-menu",open:!!n.value||void 0,onClick:t=>{t.stopPropagation()}},{onClose:r}),[(null==(i=(c=e.slots).default)?void 0:i.call(c,{opened:n,toggle:l,close:r,open:o}))||null])])}}});const kn=Ae({name:"sb-main-menu",setup(){const{blockTree:t}=bn(),{activate:e,activeBlockId:n}=an(),o=(t,r)=>{var s,l;return Ke("li",{class:{"sb-tree-block-select__block":!0,"sb-tree-block-select__block_active":n.value===t.id}},[Ke("button",{class:"sb-tree-block-select__block-name",onClick:()=>{e(t.id),r()},onMouseenter:()=>e(t.id)},[t.name]),(null==(s=t.children)?void 0:s.length)?Ke("ul",{class:"sb-tree-block-select__list"},[null==(l=t.children)?void 0:l.map((t=>o(t,r)))]):null])};return()=>t.value?Ke(wn,{class:"sb-tree-block-select"},{context:({toggle:t})=>Ke(mn,{onClick:t},{default:()=>[qe("Tree")]}),default:({close:e})=>Ke("ul",{class:"sb-tree-block-select__list sb-tree-block-select__list_base"},[o(t.value,e)])}):""}});const Sn=Ae({name:"sb-main-menu",props:{block:{type:null,required:!0}},setup:()=>()=>Ke("div",{class:"sb-main-menu"},[Ke(kn,null,null)])});const xn=Ae({name:"sb-block-toolbar",setup:()=>()=>Ke("div",{class:"sb-block-toolbar"},null)});let Rn;const Cn={},En=function(t,e){if(!e)return t();if(void 0===Rn){const t=document.createElement("link").relList;Rn=t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(e.map((t=>{if(t in Cn)return;Cn[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const o=document.createElement("link");return o.rel=e?"stylesheet":Rn,e||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),e?new Promise(((t,e)=>{o.addEventListener("load",t),o.addEventListener("error",e)})):void 0}))).then((()=>t()))};var On={name:"sb-missing-block",edit:Me((()=>En((()=>__import__("./display.82dfc9cb.js")),["./assets/display.82dfc9cb.js","./assets/display.08a50fb3.css","./assets/vendor.a029424f.js"]))),display:Me((()=>En((()=>__import__("./display.82dfc9cb.js")),["./assets/display.82dfc9cb.js","./assets/display.08a50fb3.css","./assets/vendor.a029424f.js"])))};const jn=Ae({name:"sb-block",props:{block:{type:null,required:!0},sortable:{type:String,default:null},onUpdate:{type:Function,default:()=>{}},onPrependBlock:{type:Function,default:()=>{}},onAppendBlock:{type:Function,default:()=>{}},onRemoveSelf:{type:Function,default:()=>{}},onActivatePrevious:{type:Function,default:()=>{}},onActivateNext:{type:Function,default:()=>{}}},setup(e,n){const o=Yt(null),{mode:r,getBlock:s}=fn(),{isActive:l,activate:c}=an(e.block.id),i=ln((()=>({"sb-block":!0,"sb-block_active":l.value}))),{triggerSizeCalculation:a}=hn(o,pn);Fe((()=>e.block.data),a);const{register:f}=bn();f(e.block),Fe(e.block,(()=>{f(e.block)}));const p=n=>{e.onUpdate(t(t({},e.block),{data:t(t({},e.block.data),n)}))};return()=>{var l;const a=null==(l=s(e.block.name))?void 0:l[r.value];if(!a){const t=On[r.value];return Ke(t,{name:e.block.name,blockId:e.block.id},null)}return r.value===u.Display?Ke(a,{data:e.block.data,blockId:e.block.id},null):Ke("div",{ref:o,class:i.value},[Ke("div",{class:"sb-block__edit-cover"},null),n.slots["context-toolbar"]?n.slots["context-toolbar"]():null,Ke(a,Qe({data:e.block.data,blockId:e.block.id,onUpdate:p,onPrependBlock:e.onPrependBlock,onAppendBlock:e.onAppendBlock,onRemoveSelf:e.onRemoveSelf,onActivatePrevious:e.onActivatePrevious,onActivateNext:e.onActivateNext},t({onClick:t=>{t.stopPropagation(),c()}},n.attrs)),null)])}}});const Fn=Ae({name:"sb-main",model:w,props:{customBlocks:{type:Array,default:()=>[]},block:{type:Object,required:!0},onUpdate:{type:Function,default:()=>{}},mode:{type:String,validator:t=>Object.values(u).includes(t),default:u.Edit}},setup(e){const n=Yt(null);hn(n,dn);const o=Yt(e.mode);Xe(p,o);const r=Yt(null);Xe(cn,r);const s=Yt(null);Xe(vn,s),Xe(gn,(t=>{s.value=t})),Xe(yn,(()=>{s.value=null}));const l=Kt(t({},e.customBlocks.reduce(((e,n)=>t(t({},e),{[n.name]:n})),{})),!1,yt,Bt);return Xe(un,l),()=>Ke("div",{class:"sb-main",ref:n},[o.value===u.Edit?Ke(Ue,null,[Ke(Sn,{block:e.block},null),Ke(xn,null,null)]):null,Ke(jn,{block:e.block,onUpdate:e.onUpdate},null)])}});const $n=Ae({name:"sb-modal",props:{open:{type:Boolean,default:!1},onClose:{type:Function,default:()=>{}}},setup(t,e){const n=ln((()=>({"sb-modal":!0,"sb-modal_open":t.open})));return()=>{var o,r;return Ke("div",{class:n.value},[Ke("div",{class:"sb-modal__overlay",onClick:e=>{e.stopPropagation(),t.onClose()}},[Ke("div",{class:"sb-modal__content"},[null==(r=(o=e.slots).default)?void 0:r.call(o)])])])}}});const Pn=Ae({name:"sb-block-picker",props:{onPickedBlock:{type:Function,default:()=>{}}},setup(t){const e=Yt(!1),{customBlocks:n}=fn(),o=ln((()=>Object.keys(n).map((t=>n[t]))));return()=>Ke("div",{class:"sb-block-picker"},[Ke(mn,Qe({class:"sb-block-picker__add-button"},{type:"button",onClick:t=>{e.value=!0,t.stopPropagation()}}),{default:()=>[qe("+")]}),Ke($n,Qe({open:e.value,onClose:()=>{e.value=!1}},{onClick:t=>t.stopPropagation()}),{default:()=>[...o.value.map((n=>Ke(mn,{type:"button",onClick:()=>(n=>()=>{e.value=!1,t.onPickedBlock({name:n.name,id:""+ +new Date,data:n.getDefaultData()})})(n)},{default:()=>[n.name]})))]})])}});var In="object"==typeof global&&global&&global.Object===Object&&global,An="object"==typeof self&&self&&self.Object===Object&&self,Mn=In||An||Function("return this")(),Nn=Mn.Symbol,Tn=Object.prototype,Bn=Tn.hasOwnProperty,Un=Tn.toString,Vn=Nn?Nn.toStringTag:void 0;var zn=Object.prototype.toString;var Dn=Nn?Nn.toStringTag:void 0;function Ln(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Dn&&Dn in Object(t)?function(t){var e=Bn.call(t,Vn),n=t[Vn];try{t[Vn]=void 0;var o=!0}catch(s){}var r=Un.call(t);return o&&(e?t[Vn]=n:delete t[Vn]),r}(t):function(t){return zn.call(t)}(t)}var Wn=/\s/;var Kn=/^\s+/;function Jn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Wn.test(t.charAt(e)););return e}(t)+1).replace(Kn,""):t}function qn(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var Hn=/^[-+]0x[0-9a-f]+$/i,Gn=/^0b[01]+$/i,Qn=/^0o[0-7]+$/i,Xn=parseInt;function Yn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==Ln(t)}(t))return NaN;if(qn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=qn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Jn(t);var n=Gn.test(t);return n||Qn.test(t)?Xn(t.slice(2),n?2:8):Hn.test(t)?NaN:+t}var Zn=function(){return Mn.Date.now()},to=Math.max,eo=Math.min;function no(t,e,n){var o,r,s,l,c,i,a=0,u=!1,f=!1,p=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var n=o,s=r;return o=r=void 0,a=e,l=t.apply(s,n)}function h(t){return a=t,c=setTimeout(v,e),u?d(t):l}function _(t){var n=t-i;return void 0===i||n>=e||n<0||f&&t-a>=s}function v(){var t=Zn();if(_(t))return g(t);c=setTimeout(v,function(t){var n=e-(t-i);return f?eo(n,s-(t-a)):n}(t))}function g(t){return c=void 0,p&&o?d(t):(o=r=void 0,l)}function y(){var t=Zn(),n=_(t);if(o=arguments,r=this,i=t,n){if(void 0===c)return h(i);if(f)return clearTimeout(c),c=setTimeout(v,e),d(i)}return void 0===c&&(c=setTimeout(v,e)),l}return e=Yn(e)||0,qn(n)&&(u=!!n.leading,s=(f="maxWait"in n)?to(Yn(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==c&&clearTimeout(c),a=0,o=i=r=c=void 0},y.flush=function(){return void 0===c?l:g(Zn())},y}const oo=Ae({name:"sb-block-ordering",props:{orientation:{type:String,default:null},onRemove:{type:Function,default:()=>{}},onMoveBackward:{type:Function,default:()=>{}},onMoveForward:{type:Function,default:()=>{}}},setup(t){const e=Lt({top:"",right:""}),n=ln((()=>({"sb-block-ordering":!0,[`sb-block-ordering_${t.orientation}`]:!!t.orientation}))),{editorDimensions:o,blockDimensions:r}=_n(),s=no((()=>{if(!o.value||!r.value)return;const t=o.value.width-r.value.left;e.top=`${r.value.top}px`,e.right=`${t}px`}));return Fe(o,s),Fe(r,s),Fe((()=>t.orientation),s),()=>Ke("div",{class:n.value,style:e,onClick:t=>t.stopPropagation()},[Ke(mn,{onClick:t.onMoveBackward},{default:()=>["vertical"===t.orientation?"↑":"←"]}),Ke(mn,{onClick:t.onRemove},{default:()=>[qe("x")]}),Ke(mn,{onClick:t.onMoveForward},{default:()=>["vertical"===t.orientation?"↓":"→"]})])}});const ro=Ae({name:"sb-block-placeholder",props:{onInsertBlock:{type:Function,default:()=>{}}},setup:t=>()=>Ke("div",{class:"sb-block-placeholder"},[Ke(Pn,{onPickedBlock:e=>t.onInsertBlock(e)},null)])});const so=Ae({name:"sb-toolbar",setup(t,e){const n=Lt({bottom:"",left:"",maxWidth:""}),{editorDimensions:o,blockDimensions:r}=_n(),s=no((()=>{if(!o.value||!r.value)return;const t=o.value.height-r.value.top;n.bottom=`${t}px`,n.left=`${r.value.left}px`,n.maxWidth=`${r.value.width}px`}));return Fe(o,s),Fe(r,s),()=>{var t,o;return Ke("div",{class:"sb-toolbar",style:n,onClick:t=>t.stopPropagation()},[null==(o=null==(t=e.slots)?void 0:t.default)?void 0:o.call(t)])}}});const lo=Ae({name:"sb-select",inheritAttrs:!1,setup:(t,e)=>()=>{var t,n;return Ke("div",{class:"sb-select"},[Ke("select",Qe({class:"sb-select__input"},e.attrs),[null==(n=(t=e.slots).default)?void 0:n.call(t)])])}});function co(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const io=co("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function ao(t){if(ko(t)){const e={};for(let n=0;n{if(t){const n=t.split(fo);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function ho(t){let e="";if(Ro(t))e=t;else if(ko(t))for(let n=0;n{},go=/^on[^a-z]/,yo=t=>go.test(t),bo=Object.assign,mo=Object.prototype.hasOwnProperty,wo=(t,e)=>mo.call(t,e),ko=Array.isArray,So=t=>"[object Map]"===jo(t),xo=t=>"function"==typeof t,Ro=t=>"string"==typeof t,Co=t=>"symbol"==typeof t,Eo=t=>null!==t&&"object"==typeof t,Oo=Object.prototype.toString,jo=t=>Oo.call(t),Fo=t=>Ro(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,$o=(t,e)=>t!==e&&(t==t||e==e),Po=new WeakMap,Io=[];let Ao;const Mo=Symbol(""),No=Symbol("");function To(t,e=_o){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!Io.includes(n)){Uo(n);try{return zo.push(Vo),Vo=!0,Io.push(n),Ao=n,t()}finally{Io.pop(),Do(),Ao=Io[Io.length-1]}}};return n.id=Bo++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Bo=0;function Uo(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Ao||t.allowRecurse)&&c.add(t)}))};if("clear"===e)l.forEach(i);else if("length"===n&&ko(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&i(t)}));else switch(void 0!==n&&i(l.get(n)),e){case"add":ko(t)?Fo(n)&&i(l.get("length")):(i(l.get(Mo)),So(t)&&i(l.get(No)));break;case"delete":ko(t)||(i(l.get(Mo)),So(t)&&i(l.get(No)));break;case"set":So(t)&&i(l.get(Mo))}c.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Ko=co("__proto__,__v_isRef,__isVue"),Jo=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(Co)),qo=Yo(),Ho=Yo(!1,!0),Go=Yo(!0),Qo=Yo(!0,!0),Xo={};function Yo(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Sr:kr).get(n))return n;const s=ko(n);if(!t&&s&&wo(Xo,o))return Reflect.get(Xo,o,r);const l=Reflect.get(n,o,r);if(Co(o)?Jo.has(o):Ko(o))return l;if(t||Lo(n,0,o),e)return l;if(Ir(l)){return!s||!Fo(o)?l.value:l}return Eo(l)?t?Cr(l):Rr(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];Xo[t]=function(...t){const n=$r(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];Xo[t]=function(...t){zo.push(Vo),Vo=!1;const n=e.apply(this,t);return Do(),n}}));function Zo(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=$r(o),!ko(e)&&Ir(s)&&!Ir(o)))return s.value=o,!0;const l=ko(e)&&Fo(n)?Number(n)!0,deleteProperty:(t,e)=>!0};bo({},tr,{get:Ho,set:Zo(!0)}),bo({},er,{get:Qo});const nr=t=>Eo(t)?Rr(t):t,or=t=>Eo(t)?Cr(t):t,rr=t=>t,sr=t=>Reflect.getPrototypeOf(t);function lr(t,e,n=!1,o=!1){const r=$r(t=t.__v_raw),s=$r(e);e!==s&&!n&&Lo(r,0,e),!n&&Lo(r,0,s);const{has:l}=sr(r),c=n?or:o?rr:nr;return l.call(r,e)?c(t.get(e)):l.call(r,s)?c(t.get(s)):void 0}function cr(t,e=!1){const n=this.__v_raw,o=$r(n),r=$r(t);return t!==r&&!e&&Lo(o,0,t),!e&&Lo(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function ir(t,e=!1){return t=t.__v_raw,!e&&Lo($r(t),0,Mo),Reflect.get(t,"size",t)}function ar(t){t=$r(t);const e=$r(this);return sr(e).has.call(e,t)||(e.add(t),Wo(e,"add",t,t)),this}function ur(t,e){e=$r(e);const n=$r(this),{has:o,get:r}=sr(n);let s=o.call(n,t);s||(t=$r(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?$o(e,l)&&Wo(n,"set",t,e):Wo(n,"add",t,e),this}function fr(t){const e=$r(this),{has:n,get:o}=sr(e);let r=n.call(e,t);r||(t=$r(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&Wo(e,"delete",t,void 0),s}function pr(){const t=$r(this),e=0!==t.size,n=t.clear();return e&&Wo(t,"clear",void 0,void 0),n}function dr(t,e){return function(n,o){const r=this,s=r.__v_raw,l=$r(s),c=t?or:e?rr:nr;return!t&&Lo(l,0,Mo),s.forEach(((t,e)=>n.call(o,c(t),c(e),r)))}}function hr(t,e,n){return function(...o){const r=this.__v_raw,s=$r(r),l=So(s),c="entries"===t||t===Symbol.iterator&&l,i="keys"===t&&l,a=r[t](...o),u=e?or:n?rr:nr;return!e&&Lo(s,0,i?No:Mo),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:c?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function _r(t){return function(...e){return"delete"!==t&&this}}const vr={get(t){return lr(this,t)},get size(){return ir(this)},has:cr,add:ar,set:ur,delete:fr,clear:pr,forEach:dr(!1,!1)},gr={get(t){return lr(this,t,!1,!0)},get size(){return ir(this)},has:cr,add:ar,set:ur,delete:fr,clear:pr,forEach:dr(!1,!0)},yr={get(t){return lr(this,t,!0)},get size(){return ir(this,!0)},has(t){return cr.call(this,t,!0)},add:_r("add"),set:_r("set"),delete:_r("delete"),clear:_r("clear"),forEach:dr(!0,!1)};function br(t,e){const n=e?gr:t?yr:vr;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(wo(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{vr[t]=hr(t,!1,!1),yr[t]=hr(t,!0,!1),gr[t]=hr(t,!1,!0)}));const mr={get:br(!1,!1)},wr={get:br(!0,!1)},kr=new WeakMap,Sr=new WeakMap;function xr(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>jo(t).slice(8,-1))(t))}function Rr(t){return t&&t.__v_isReadonly?t:Er(t,!1,tr,mr)}function Cr(t){return Er(t,!0,er,wr)}function Er(t,e,n,o){if(!Eo(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Sr:kr,s=r.get(t);if(s)return s;const l=xr(t);if(0===l)return t;const c=new Proxy(t,2===l?o:n);return r.set(t,c),c}function Or(t){return jr(t)?Or(t.__v_raw):!(!t||!t.__v_isReactive)}function jr(t){return!(!t||!t.__v_isReadonly)}function Fr(t){return Or(t)||jr(t)}function $r(t){return t&&$r(t.__v_raw)||t}const Pr=t=>Eo(t)?Rr(t):t;function Ir(t){return Boolean(t&&!0===t.__v_isRef)}function Ar(t){return function(t,e=!1){if(Ir(t))return t;return new Mr(t,e)}(t)}class Mr{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Pr(t)}get value(){return Lo($r(this),0,"value"),this._value}set value(t){$o($r(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Pr(t),Wo($r(this),"set","value",t))}}class Nr{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=To(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Wo($r(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),Lo($r(this),0,"value"),this._value}set value(t){this._setter(t)}}function Tr(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Ur(s,e,n)}return r}function Br(t,e,n,o){if(xo(t)){const s=Tr(t,e,n,o);return s&&(Eo(r=s)&&xo(r.then)&&xo(r.catch))&&s.catch((t=>{Ur(t,e,n)})),s}var r;const s=[];for(let l=0;l>>1;rs(Dr[t])-1?Dr.splice(e,0,t):Dr.push(t),es()}}function es(){Vr||zr||(zr=!0,Xr=Qr.then(ss))}function ns(t,e,n,o){ko(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?o+1:o)||n.push(t),es()}function os(t,e=null){if(Wr.length){for(Yr=e,Kr=[...new Set(Wr)],Wr.length=0,Jr=0;Jrnull==t.id?1/0:t.id;function ss(t){zr=!1,Vr=!0,os(t),Dr.sort(((t,e)=>rs(t)-rs(e)));try{for(Lr=0;Lrrs(t)-rs(e))),Gr=0;Grcs+=t;const as={};function us(t,e,n){return fs(t,e,n)}function fs(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=_o,c=Ms){let i,a,u=!1;if(Ir(t)?(i=()=>t.value,u=!!t._shallow):Or(t)?(i=()=>t,o=!0):i=ko(t)?()=>t.map((t=>Ir(t)?t.value:Or(t)?ds(t):xo(t)?Tr(t,c,2,[c&&c.proxy]):void 0)):xo(t)?e?()=>Tr(t,c,2,[c&&c.proxy]):()=>{if(!c||!c.isUnmounted)return a&&a(),Tr(t,c,3,[f])}:vo,e&&o){const t=i;i=()=>ds(t())}const f=t=>{a=_.options.onStop=()=>{Tr(t,c,4)}};let p=ko(t)?[]:as;const d=()=>{if(_.active)if(e){const t=_();(o||u||$o(t,p))&&(a&&a(),Br(e,c,3,[t,p===as?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>gs(d,c&&c.suspense):()=>{!c||c.isMounted?function(t){ns(t,Kr,Wr,Jr)}(d):d()};const _=To(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return Ns(_,c),e?n?d():p=_():"post"===r?gs(_,c&&c.suspense):_(),()=>{var t;(t=_).active&&(Uo(t),t.options.onStop&&t.options.onStop(),t.active=!1),c&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(c.effects,_)}}function ps(t,e,n){const o=this.proxy;return fs(Ro(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function ds(t,e=new Set){if(!Eo(t)||e.has(t))return t;if(e.add(t),Ir(t))ds(t.value,e);else if(ko(t))for(let n=0;n{ds(t,e)}));else for(const n in t)ds(t[n],e);return t}function hs(t){return xo(t)?{setup:t,name:t.name}:t}function _s(t){xo(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:c}=t;let i,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise(((e,n)=>{c(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),i=e,e))))};return hs({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=Ms;if(i)return()=>vs(i,t);const e=e=>{a=null,Ur(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>vs(e,t))).catch((t=>(e(t),()=>o?Rs(o,{error:t}):null)));const c=Ar(!1),u=Ar(),p=Ar(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!c.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{c.value=!0})).catch((t=>{e(t),u.value=t})),()=>c.value&&i?vs(i,t):u.value&&o?Rs(o,{error:u.value}):n&&!p.value?Rs(n):void 0}})}function vs(t,{vnode:{ref:e,props:n,children:o}}){const r=Rs(t,n,o);return r.ref=e,r}const gs=function(t,e){e&&e.pendingBranch?ko(t)?e.effects.push(...t):e.effects.push(t):ns(t,Hr,qr,Gr)},ys=Symbol(),bs=Symbol(void 0),ms=Symbol(void 0),ws=Symbol(void 0);function ks(t){return!!t&&!0===t.__v_isVNode}const Ss=({key:t})=>null!=t?t:null,xs=({ref:t})=>null!=t?Ro(t)||Ir(t)||xo(t)?{i:null,r:t}:t:null,Rs=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==ys||(t=ws);if(ks(t)){const o=Cs(t,e,!0);return n&&js(o,n),o}l=t,xo(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Fr(e)||"__vInternal"in e)&&(e=bo({},e));let{class:t,style:n}=e;t&&!Ro(t)&&(e.class=ho(t)),Eo(n)&&(Fr(n)&&!ko(n)&&(n=bo({},n)),e.style=ao(n))}const c=Ro(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:Eo(t)?4:xo(t)?2:0,i={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ss(e),ref:e&&xs(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(js(i,n),128&c){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=ls(n.default),r=ls(n.fallback)):(o=ls(n),r=Os(null)),{content:o,fallback:r}}(i);i.ssContent=t,i.ssFallback=e}0;return i};function Cs(t,e,n=!1){const{props:o,ref:r,patchFlag:s,children:l}=t,c=e?Fs(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&Ss(c),ref:e&&e.ref?n&&r?ko(r)?r.concat(xs(e)):[r,xs(e)]:xs(e):r,scopeId:t.scopeId,children:l,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==bs?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Cs(t.ssContent),ssFallback:t.ssFallback&&Cs(t.ssFallback),el:t.el,anchor:t.anchor}}function Es(t=" ",e=0){return Rs(ms,null,t,e)}function Os(t){return null==t||"boolean"==typeof t?Rs(ws):ko(t)?Rs(bs,null,t):"object"==typeof t?null===t.el?t:Cs(t):Rs(ms,null,String(t))}function js(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(ko(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&is(1),js(t,n()),n._c&&is(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else xo(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[Es(e)]):n=8);t.children=e,t.shapeFlag|=n}function Fs(...t){const e=bo({},t[0]);for(let n=1;n$s(t,e,n)));for(const l in e)o&&wo(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Ps=t=>t?4&t.vnode.shapeFlag?t.exposed?t.exposed:t.proxy:Ps(t.parent):null,Is=bo(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ps(t.parent),$root:t=>Ps(t.root),$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>$s(l,e,t))),$s(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>ts(t.update),$nextTick:t=>Zr.bind(t.proxy),$watch:t=>ps.bind(t)}),As={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:c,appContext:i}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const c=l[e];if(void 0!==c)switch(c){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==_o&&wo(o,e))return l[e]=0,o[e];if(r!==_o&&wo(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&wo(a,e))return l[e]=2,s[e];if(n!==_o&&wo(n,e))return l[e]=3,n[e];l[e]=4}}const u=Is[e];let f,p;return u?("$attrs"===e&&Lo(t,0,e),u(t)):(f=c.__cssModules)&&(f=f[e])?f:n!==_o&&wo(n,e)?(l[e]=3,n[e]):(p=i.config.globalProperties,wo(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==_o&&wo(r,e))r[e]=n;else if(o!==_o&&wo(o,e))o[e]=n;else if(wo(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let c;return void 0!==n[l]||t!==_o&&wo(t,l)||e!==_o&&wo(e,l)||(c=s[0])&&wo(c,l)||wo(o,l)||wo(Is,l)||wo(r.config.globalProperties,l)}};bo({},As,{get(t,e){if(e!==Symbol.unscopables)return As.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!io(e)});let Ms=null;function Ns(t,e=Ms){e&&(e.effects||(e.effects=[])).push(t)}function Ts(t){const e=function(t){let e,n;return xo(t)?(e=t,n=vo):(e=t.get,n=t.set),new Nr(e,n,xo(t)||!t.set)}(t);return Ns(e.effect),e}const Bs=()=>({orientation:"vertical",children:[]});var Us={name:"sb-layout",getDefaultData:Bs,edit:_s((()=>En((()=>__import__("./edit.85b1500c.js")),["./assets/edit.85b1500c.js","./assets/style.b876754e.css","./assets/vendor.a029424f.js"]))),display:_s((()=>En((()=>__import__("./display.a9bb8ea2.js")),["./assets/display.a9bb8ea2.js","./assets/style.b876754e.css","./assets/vendor.a029424f.js"])))};var Vs={name:"sb-heading",getDefaultData:()=>({}),edit:e((()=>En((()=>__import__("./edit.bd5075df.js")),void 0))),display:e((()=>En((()=>__import__("./edit.bd5075df.js")),void 0)))};function zs(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const Ds=zs("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function Ls(t){if(el(t)){const e={};for(let n=0;n{if(t){const n=t.split(Ks);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function qs(t){let e="";if(rl(t))e=t;else if(el(t))for(let n=0;n{},Qs=/^on[^a-z]/,Xs=t=>Qs.test(t),Ys=Object.assign,Zs=Object.prototype.hasOwnProperty,tl=(t,e)=>Zs.call(t,e),el=Array.isArray,nl=t=>"[object Map]"===il(t),ol=t=>"function"==typeof t,rl=t=>"string"==typeof t,sl=t=>"symbol"==typeof t,ll=t=>null!==t&&"object"==typeof t,cl=Object.prototype.toString,il=t=>cl.call(t),al=t=>rl(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,ul=(t,e)=>t!==e&&(t==t||e==e),fl=new WeakMap,pl=[];let dl;const hl=Symbol(""),_l=Symbol("");function vl(t,e=Hs){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!pl.includes(n)){yl(n);try{return ml.push(bl),bl=!0,pl.push(n),dl=n,t()}finally{pl.pop(),kl(),dl=pl[pl.length-1]}}};return n.id=gl++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let gl=0;function yl(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==dl||t.allowRecurse)&&c.add(t)}))};if("clear"===e)l.forEach(i);else if("length"===n&&el(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&i(t)}));else switch(void 0!==n&&i(l.get(n)),e){case"add":el(t)?al(n)&&i(l.get("length")):(i(l.get(hl)),nl(t)&&i(l.get(_l)));break;case"delete":el(t)||(i(l.get(hl)),nl(t)&&i(l.get(_l)));break;case"set":nl(t)&&i(l.get(hl))}c.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const Rl=zs("__proto__,__v_isRef,__isVue"),Cl=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(sl)),El=Pl(),Ol=Pl(!1,!0),jl=Pl(!0),Fl=Pl(!0,!0),$l={};function Pl(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?oc:nc).get(n))return n;const s=el(n);if(!t&&s&&tl($l,o))return Reflect.get($l,o,r);const l=Reflect.get(n,o,r);if(sl(o)?Cl.has(o):Rl(o))return l;if(t||Sl(n,0,o),e)return l;if(dc(l)){return!s||!al(o)?l.value:l}return ll(l)?t?lc(l):sc(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];$l[t]=function(...t){const n=fc(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];$l[t]=function(...t){wl();const n=e.apply(this,t);return kl(),n}}));function Il(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=fc(o),!el(e)&&dc(s)&&!dc(o)))return s.value=o,!0;const l=el(e)&&al(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Ys({},Al,{get:Ol,set:Il(!0)}),Ys({},Ml,{get:Fl});const Nl=t=>ll(t)?sc(t):t,Tl=t=>ll(t)?lc(t):t,Bl=t=>t,Ul=t=>Reflect.getPrototypeOf(t);function Vl(t,e,n=!1,o=!1){const r=fc(t=t.__v_raw),s=fc(e);e!==s&&!n&&Sl(r,0,e),!n&&Sl(r,0,s);const{has:l}=Ul(r),c=n?Tl:o?Bl:Nl;return l.call(r,e)?c(t.get(e)):l.call(r,s)?c(t.get(s)):void 0}function zl(t,e=!1){const n=this.__v_raw,o=fc(n),r=fc(t);return t!==r&&!e&&Sl(o,0,t),!e&&Sl(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function Dl(t,e=!1){return t=t.__v_raw,!e&&Sl(fc(t),0,hl),Reflect.get(t,"size",t)}function Ll(t){t=fc(t);const e=fc(this);return Ul(e).has.call(e,t)||(e.add(t),xl(e,"add",t,t)),this}function Wl(t,e){e=fc(e);const n=fc(this),{has:o,get:r}=Ul(n);let s=o.call(n,t);s||(t=fc(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?ul(e,l)&&xl(n,"set",t,e):xl(n,"add",t,e),this}function Kl(t){const e=fc(this),{has:n,get:o}=Ul(e);let r=n.call(e,t);r||(t=fc(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&xl(e,"delete",t,void 0),s}function Jl(){const t=fc(this),e=0!==t.size,n=t.clear();return e&&xl(t,"clear",void 0,void 0),n}function ql(t,e){return function(n,o){const r=this,s=r.__v_raw,l=fc(s),c=t?Tl:e?Bl:Nl;return!t&&Sl(l,0,hl),s.forEach(((t,e)=>n.call(o,c(t),c(e),r)))}}function Hl(t,e,n){return function(...o){const r=this.__v_raw,s=fc(r),l=nl(s),c="entries"===t||t===Symbol.iterator&&l,i="keys"===t&&l,a=r[t](...o),u=e?Tl:n?Bl:Nl;return!e&&Sl(s,0,i?_l:hl),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:c?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function Gl(t){return function(...e){return"delete"!==t&&this}}const Ql={get(t){return Vl(this,t)},get size(){return Dl(this)},has:zl,add:Ll,set:Wl,delete:Kl,clear:Jl,forEach:ql(!1,!1)},Xl={get(t){return Vl(this,t,!1,!0)},get size(){return Dl(this)},has:zl,add:Ll,set:Wl,delete:Kl,clear:Jl,forEach:ql(!1,!0)},Yl={get(t){return Vl(this,t,!0)},get size(){return Dl(this,!0)},has(t){return zl.call(this,t,!0)},add:Gl("add"),set:Gl("set"),delete:Gl("delete"),clear:Gl("clear"),forEach:ql(!0,!1)};function Zl(t,e){const n=e?Xl:t?Yl:Ql;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(tl(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Ql[t]=Hl(t,!1,!1),Yl[t]=Hl(t,!0,!1),Xl[t]=Hl(t,!1,!0)}));const tc={get:Zl(!1,!1)},ec={get:Zl(!0,!1)},nc=new WeakMap,oc=new WeakMap;function rc(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>il(t).slice(8,-1))(t))}function sc(t){return t&&t.__v_isReadonly?t:cc(t,!1,Al,tc)}function lc(t){return cc(t,!0,Ml,ec)}function cc(t,e,n,o){if(!ll(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?oc:nc,s=r.get(t);if(s)return s;const l=rc(t);if(0===l)return t;const c=new Proxy(t,2===l?o:n);return r.set(t,c),c}function ic(t){return ac(t)?ic(t.__v_raw):!(!t||!t.__v_isReactive)}function ac(t){return!(!t||!t.__v_isReadonly)}function uc(t){return ic(t)||ac(t)}function fc(t){return t&&fc(t.__v_raw)||t}const pc=t=>ll(t)?sc(t):t;function dc(t){return Boolean(t&&!0===t.__v_isRef)}function hc(t){return function(t,e=!1){if(dc(t))return t;return new _c(t,e)}(t)}class _c{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:pc(t)}get value(){return Sl(fc(this),0,"value"),this._value}set value(t){ul(fc(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:pc(t),xl(fc(this),"set","value",t))}}class vc{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=vl(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,xl(fc(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),Sl(fc(this),0,"value"),this._value}set value(t){this._setter(t)}}function gc(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){bc(s,e,n)}return r}function yc(t,e,n,o){if(ol(t)){const s=gc(t,e,n,o);return s&&(ll(r=s)&&ol(r.then)&&ol(r.catch))&&s.catch((t=>{bc(t,e,n)})),s}var r;const s=[];for(let l=0;l>>1;Bc(kc[t])-1?kc.splice(e,0,t):kc.push(t),Mc()}}function Mc(){mc||wc||(wc=!0,$c=Fc.then(Uc))}function Nc(t,e,n,o){el(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?o+1:o)||n.push(t),Mc()}function Tc(t,e=null){if(xc.length){for(Pc=e,Rc=[...new Set(xc)],xc.length=0,Cc=0;Ccnull==t.id?1/0:t.id;function Uc(t){wc=!1,mc=!0,Tc(t),kc.sort(((t,e)=>Bc(t)-Bc(e)));try{for(Sc=0;ScBc(t)-Bc(e))),jc=0;jczc+=t;const Lc=(t=>(e,n=vi)=>function(t,e,n=vi,o=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...o)=>{if(n.isUnmounted)return;wl(),gi(n);const r=yc(e,n,t,o);return gi(null),kl(),r});return o?r.unshift(s):r.push(s),s}}(t,e,n))("m"),Wc={};function Kc(t,e,n){return Jc(t,e,n)}function Jc(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=Hs,c=vi){let i,a,u=!1;if(dc(t)?(i=()=>t.value,u=!!t._shallow):ic(t)?(i=()=>t,o=!0):i=el(t)?()=>t.map((t=>dc(t)?t.value:ic(t)?Hc(t):ol(t)?gc(t,c,2,[c&&c.proxy]):void 0)):ol(t)?e?()=>gc(t,c,2,[c&&c.proxy]):()=>{if(!c||!c.isUnmounted)return a&&a(),gc(t,c,3,[f])}:Gs,e&&o){const t=i;i=()=>Hc(t())}const f=t=>{a=_.options.onStop=()=>{gc(t,c,4)}};let p=el(t)?[]:Wc;const d=()=>{if(_.active)if(e){const t=_();(o||u||ul(t,p))&&(a&&a(),yc(e,c,3,[t,p===Wc?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Yc(d,c&&c.suspense):()=>{!c||c.isMounted?function(t){Nc(t,Rc,xc,Cc)}(d):d()};const _=vl(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return yi(_,c),e?n?d():p=_():"post"===r?Yc(_,c&&c.suspense):_(),()=>{var t;(t=_).active&&(yl(t),t.options.onStop&&t.options.onStop(),t.active=!1),c&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(c.effects,_)}}function qc(t,e,n){const o=this.proxy;return Jc(rl(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Hc(t,e=new Set){if(!ll(t)||e.has(t))return t;if(e.add(t),dc(t))Hc(t.value,e);else if(el(t))for(let n=0;n{Hc(t,e)}));else for(const n in t)Hc(t[n],e);return t}function Gc(t){return ol(t)?{setup:t,name:t.name}:t}function Qc(t){ol(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:c}=t;let i,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise(((e,n)=>{c(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),i=e,e))))};return Gc({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=vi;if(i)return()=>Xc(i,t);const e=e=>{a=null,bc(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>Xc(e,t))).catch((t=>(e(t),()=>o?li(o,{error:t}):null)));const c=hc(!1),u=hc(),p=hc(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!c.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{c.value=!0})).catch((t=>{e(t),u.value=t})),()=>c.value&&i?Xc(i,t):u.value&&o?li(o,{error:u.value}):n&&!p.value?li(n):void 0}})}function Xc(t,{vnode:{ref:e,props:n,children:o}}){const r=li(t,n,o);return r.ref=e,r}const Yc=function(t,e){e&&e.pendingBranch?el(t)?e.effects.push(...t):e.effects.push(t):Nc(t,Oc,Ec,jc)},Zc=Symbol(),ti=Symbol(void 0),ei=Symbol(void 0),ni=Symbol(void 0);function oi(t){return!!t&&!0===t.__v_isVNode}const ri=({key:t})=>null!=t?t:null,si=({ref:t})=>null!=t?rl(t)||dc(t)||ol(t)?{i:null,r:t}:t:null,li=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==Zc||(t=ni);if(oi(t)){const o=ci(t,e,!0);return n&&ui(o,n),o}l=t,ol(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(uc(e)||"__vInternal"in e)&&(e=Ys({},e));let{class:t,style:n}=e;t&&!rl(t)&&(e.class=qs(t)),ll(n)&&(uc(n)&&!el(n)&&(n=Ys({},n)),e.style=Ls(n))}const c=rl(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:ll(t)?4:ol(t)?2:0,i={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ri(e),ref:e&&si(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(ui(i,n),128&c){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=Vc(n.default),r=Vc(n.fallback)):(o=Vc(n),r=ai(null)),{content:o,fallback:r}}(i);i.ssContent=t,i.ssFallback=e}0;return i};function ci(t,e,n=!1){const{props:o,ref:r,patchFlag:s,children:l}=t,c=e?fi(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&ri(c),ref:e&&e.ref?n&&r?el(r)?r.concat(si(e)):[r,si(e)]:si(e):r,scopeId:t.scopeId,children:l,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ti?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ci(t.ssContent),ssFallback:t.ssFallback&&ci(t.ssFallback),el:t.el,anchor:t.anchor}}function ii(t=" ",e=0){return li(ei,null,t,e)}function ai(t){return null==t||"boolean"==typeof t?li(ni):el(t)?li(ti,null,t):"object"==typeof t?null===t.el?t:ci(t):li(ei,null,String(t))}function ui(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if(el(e))n=16;else if("object"==typeof e){if(1&o||64&o){const n=e.default;return void(n&&(n._c&&Dc(1),ui(t,n()),n._c&&Dc(-1)))}{n=32;const t=e._;t||"__vInternal"in e||(e._ctx=null)}}else ol(e)?(e={default:e,_ctx:null},n=32):(e=String(e),64&o?(n=16,e=[ii(e)]):n=8);t.children=e,t.shapeFlag|=n}function fi(...t){const e=Ys({},t[0]);for(let n=1;npi(t,e,n)));for(const l in e)o&&tl(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const di=t=>t?4&t.vnode.shapeFlag?t.exposed?t.exposed:t.proxy:di(t.parent):null,hi=Ys(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>di(t.parent),$root:t=>di(t.root),$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>pi(l,e,t))),pi(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>Ac(t.update),$nextTick:t=>Ic.bind(t.proxy),$watch:t=>qc.bind(t)}),_i={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:c,appContext:i}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const c=l[e];if(void 0!==c)switch(c){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==Hs&&tl(o,e))return l[e]=0,o[e];if(r!==Hs&&tl(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&tl(a,e))return l[e]=2,s[e];if(n!==Hs&&tl(n,e))return l[e]=3,n[e];l[e]=4}}const u=hi[e];let f,p;return u?("$attrs"===e&&Sl(t,0,e),u(t)):(f=c.__cssModules)&&(f=f[e])?f:n!==Hs&&tl(n,e)?(l[e]=3,n[e]):(p=i.config.globalProperties,tl(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==Hs&&tl(r,e))r[e]=n;else if(o!==Hs&&tl(o,e))o[e]=n;else if(tl(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let c;return void 0!==n[l]||t!==Hs&&tl(t,l)||e!==Hs&&tl(e,l)||(c=s[0])&&tl(c,l)||tl(o,l)||tl(hi,l)||tl(r.config.globalProperties,l)}};Ys({},_i,{get(t,e){if(e!==Symbol.unscopables)return _i.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!Ds(e)});let vi=null;const gi=t=>{vi=t};function yi(t,e=vi){e&&(e.effects||(e.effects=[])).push(t)}function bi(t){const e=function(t){let e,n;return ol(t)?(e=t,n=Gs):(e=t.get,n=t.set),new vc(e,n,ol(t)||!t.set)}(t);return yi(e.effect),e}const mi=()=>({value:"",align:"left"});var wi={name:"sb-paragraph",getDefaultData:mi,edit:Qc((()=>En((()=>__import__("./edit.b0a76e09.js")),["./assets/edit.b0a76e09.js","./assets/style.3e24e605.css","./assets/vendor.a029424f.js"]))),display:Qc((()=>En((()=>__import__("./display.cf8b58ad.js")),["./assets/display.cf8b58ad.js","./assets/style.3e24e605.css","./assets/vendor.a029424f.js"])))};function ki(t,e){const n=Object.create(null),o=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}const Si=ki("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function xi(t){if(Ni(t)){const e={};for(let n=0;n{if(t){const n=t.split(Ci);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function Oi(t){let e="";if(Ui(t))e=t;else if(Ni(t))for(let n=0;n{},$i=/^on[^a-z]/,Pi=t=>$i.test(t),Ii=Object.assign,Ai=Object.prototype.hasOwnProperty,Mi=(t,e)=>Ai.call(t,e),Ni=Array.isArray,Ti=t=>"[object Map]"===Li(t),Bi=t=>"function"==typeof t,Ui=t=>"string"==typeof t,Vi=t=>"symbol"==typeof t,zi=t=>null!==t&&"object"==typeof t,Di=Object.prototype.toString,Li=t=>Di.call(t),Wi=t=>Ui(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,Ki=(t,e)=>t!==e&&(t==t||e==e),Ji=new WeakMap,qi=[];let Hi;const Gi=Symbol(""),Qi=Symbol("");function Xi(t,e=ji){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const n=function(t,e){const n=function(){if(!n.active)return e.scheduler?void 0:t();if(!qi.includes(n)){Zi(n);try{return ea.push(ta),ta=!0,qi.push(n),Hi=n,t()}finally{qi.pop(),na(),Hi=qi[qi.length-1]}}};return n.id=Yi++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,e);return e.lazy||n(),n}let Yi=0;function Zi(t){const{deps:e}=t;if(e.length){for(let n=0;n{t&&t.forEach((t=>{(t!==Hi||t.allowRecurse)&&c.add(t)}))};if("clear"===e)l.forEach(i);else if("length"===n&&Ni(t))l.forEach(((t,e)=>{("length"===e||e>=o)&&i(t)}));else switch(void 0!==n&&i(l.get(n)),e){case"add":Ni(t)?Wi(n)&&i(l.get("length")):(i(l.get(Gi)),Ti(t)&&i(l.get(Qi)));break;case"delete":Ni(t)||(i(l.get(Gi)),Ti(t)&&i(l.get(Qi)));break;case"set":Ti(t)&&i(l.get(Gi))}c.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const sa=ki("__proto__,__v_isRef,__isVue"),la=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(Vi)),ca=pa(),ia=pa(!1,!0),aa=pa(!0),ua=pa(!0,!0),fa={};function pa(t=!1,e=!1){return function(n,o,r){if("__v_isReactive"===o)return!t;if("__v_isReadonly"===o)return t;if("__v_raw"===o&&r===(t?Ta:Na).get(n))return n;const s=Ni(n);if(!t&&s&&Mi(fa,o))return Reflect.get(fa,o,r);const l=Reflect.get(n,o,r);if(Vi(o)?la.has(o):sa(o))return l;if(t||oa(n,0,o),e)return l;if(qa(l)){return!s||!Wi(o)?l.value:l}return zi(l)?t?Va(l):Ua(l):l}}["includes","indexOf","lastIndexOf"].forEach((t=>{const e=Array.prototype[t];fa[t]=function(...t){const n=Ka(this);for(let e=0,r=this.length;e{const e=Array.prototype[t];fa[t]=function(...t){ea.push(ta),ta=!1;const n=e.apply(this,t);return na(),n}}));function da(t=!1){return function(e,n,o,r){const s=e[n];if(!t&&(o=Ka(o),!Ni(e)&&qa(s)&&!qa(o)))return s.value=o,!0;const l=Ni(e)&&Wi(n)?Number(n)!0,deleteProperty:(t,e)=>!0};Ii({},ha,{get:ia,set:da(!0)}),Ii({},_a,{get:ua});const va=t=>zi(t)?Ua(t):t,ga=t=>zi(t)?Va(t):t,ya=t=>t,ba=t=>Reflect.getPrototypeOf(t);function ma(t,e,n=!1,o=!1){const r=Ka(t=t.__v_raw),s=Ka(e);e!==s&&!n&&oa(r,0,e),!n&&oa(r,0,s);const{has:l}=ba(r),c=n?ga:o?ya:va;return l.call(r,e)?c(t.get(e)):l.call(r,s)?c(t.get(s)):void 0}function wa(t,e=!1){const n=this.__v_raw,o=Ka(n),r=Ka(t);return t!==r&&!e&&oa(o,0,t),!e&&oa(o,0,r),t===r?n.has(t):n.has(t)||n.has(r)}function ka(t,e=!1){return t=t.__v_raw,!e&&oa(Ka(t),0,Gi),Reflect.get(t,"size",t)}function Sa(t){t=Ka(t);const e=Ka(this);return ba(e).has.call(e,t)||(e.add(t),ra(e,"add",t,t)),this}function xa(t,e){e=Ka(e);const n=Ka(this),{has:o,get:r}=ba(n);let s=o.call(n,t);s||(t=Ka(t),s=o.call(n,t));const l=r.call(n,t);return n.set(t,e),s?Ki(e,l)&&ra(n,"set",t,e):ra(n,"add",t,e),this}function Ra(t){const e=Ka(this),{has:n,get:o}=ba(e);let r=n.call(e,t);r||(t=Ka(t),r=n.call(e,t)),o&&o.call(e,t);const s=e.delete(t);return r&&ra(e,"delete",t,void 0),s}function Ca(){const t=Ka(this),e=0!==t.size,n=t.clear();return e&&ra(t,"clear",void 0,void 0),n}function Ea(t,e){return function(n,o){const r=this,s=r.__v_raw,l=Ka(s),c=t?ga:e?ya:va;return!t&&oa(l,0,Gi),s.forEach(((t,e)=>n.call(o,c(t),c(e),r)))}}function Oa(t,e,n){return function(...o){const r=this.__v_raw,s=Ka(r),l=Ti(s),c="entries"===t||t===Symbol.iterator&&l,i="keys"===t&&l,a=r[t](...o),u=e?ga:n?ya:va;return!e&&oa(s,0,i?Qi:Gi),{next(){const{value:t,done:e}=a.next();return e?{value:t,done:e}:{value:c?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function ja(t){return function(...e){return"delete"!==t&&this}}const Fa={get(t){return ma(this,t)},get size(){return ka(this)},has:wa,add:Sa,set:xa,delete:Ra,clear:Ca,forEach:Ea(!1,!1)},$a={get(t){return ma(this,t,!1,!0)},get size(){return ka(this)},has:wa,add:Sa,set:xa,delete:Ra,clear:Ca,forEach:Ea(!1,!0)},Pa={get(t){return ma(this,t,!0)},get size(){return ka(this,!0)},has(t){return wa.call(this,t,!0)},add:ja("add"),set:ja("set"),delete:ja("delete"),clear:ja("clear"),forEach:Ea(!0,!1)};function Ia(t,e){const n=e?$a:t?Pa:Fa;return(e,o,r)=>"__v_isReactive"===o?!t:"__v_isReadonly"===o?t:"__v_raw"===o?e:Reflect.get(Mi(n,o)&&o in e?n:e,o,r)}["keys","values","entries",Symbol.iterator].forEach((t=>{Fa[t]=Oa(t,!1,!1),Pa[t]=Oa(t,!0,!1),$a[t]=Oa(t,!1,!0)}));const Aa={get:Ia(!1,!1)},Ma={get:Ia(!0,!1)},Na=new WeakMap,Ta=new WeakMap;function Ba(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>Li(t).slice(8,-1))(t))}function Ua(t){return t&&t.__v_isReadonly?t:za(t,!1,ha,Aa)}function Va(t){return za(t,!0,_a,Ma)}function za(t,e,n,o){if(!zi(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=e?Ta:Na,s=r.get(t);if(s)return s;const l=Ba(t);if(0===l)return t;const c=new Proxy(t,2===l?o:n);return r.set(t,c),c}function Da(t){return La(t)?Da(t.__v_raw):!(!t||!t.__v_isReactive)}function La(t){return!(!t||!t.__v_isReadonly)}function Wa(t){return Da(t)||La(t)}function Ka(t){return t&&Ka(t.__v_raw)||t}const Ja=t=>zi(t)?Ua(t):t;function qa(t){return Boolean(t&&!0===t.__v_isRef)}function Ha(t){return function(t,e=!1){if(qa(t))return t;return new Ga(t,e)}(t)}class Ga{constructor(t,e=!1){this._rawValue=t,this._shallow=e,this.__v_isRef=!0,this._value=e?t:Ja(t)}get value(){return oa(Ka(this),0,"value"),this._value}set value(t){Ki(Ka(t),this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:Ja(t),ra(Ka(this),"set","value",t))}}function Qa(t,e,n,o){let r;try{r=o?t(...o):t()}catch(s){Ya(s,e,n)}return r}function Xa(t,e,n,o){if(Bi(t)){const s=Qa(t,e,n,o);return s&&(zi(r=s)&&Bi(r.then)&&Bi(r.catch))&&s.catch((t=>{Ya(t,e,n)})),s}var r;const s=[];for(let l=0;l>>1;gu(eu[t])-1?eu.splice(e,0,t):eu.push(t),hu()}}function hu(){Za||tu||(tu=!0,uu=au.then(yu))}function _u(t,e,n,o){Ni(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?o+1:o)||n.push(t),hu()}function vu(t,e=null){if(ou.length){for(fu=e,ru=[...new Set(ou)],ou.length=0,su=0;sunull==t.id?1/0:t.id;function yu(t){tu=!1,Za=!0,vu(t),eu.sort(((t,e)=>gu(t)-gu(e)));try{for(nu=0;nugu(t)-gu(e))),iu=0;iumu+=t;const ku={};function Su(t,e,n){return xu(t,e,n)}function xu(t,e,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:l}=ji,c=qu){let i,a,u=!1;if(qa(t)?(i=()=>t.value,u=!!t._shallow):Da(t)?(i=()=>t,o=!0):i=Ni(t)?()=>t.map((t=>qa(t)?t.value:Da(t)?Cu(t):Bi(t)?Qa(t,c,2,[c&&c.proxy]):void 0)):Bi(t)?e?()=>Qa(t,c,2,[c&&c.proxy]):()=>{if(!c||!c.isUnmounted)return a&&a(),Qa(t,c,3,[f])}:Fi,e&&o){const t=i;i=()=>Cu(t())}const f=t=>{a=_.options.onStop=()=>{Qa(t,c,4)}};let p=Ni(t)?[]:ku;const d=()=>{if(_.active)if(e){const t=_();(o||u||Ki(t,p))&&(a&&a(),Xa(e,c,3,[t,p===ku?void 0:p,f]),p=t)}else _()};let h;d.allowRecurse=!!e,h="sync"===r?d:"post"===r?()=>Fu(d,c&&c.suspense):()=>{!c||c.isMounted?function(t){_u(t,ru,ou,su)}(d):d()};const _=Xi(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:h});return function(t,e=qu){e&&(e.effects||(e.effects=[])).push(t)}(_,c),e?n?d():p=_():"post"===r?Fu(_,c&&c.suspense):_(),()=>{var t;(t=_).active&&(Zi(t),t.options.onStop&&t.options.onStop(),t.active=!1),c&&((t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)})(c.effects,_)}}function Ru(t,e,n){const o=this.proxy;return xu(Ui(t)?()=>o[t]:t.bind(o),e.bind(o),n,this)}function Cu(t,e=new Set){if(!zi(t)||e.has(t))return t;if(e.add(t),qa(t))Cu(t.value,e);else if(Ni(t))for(let n=0;n{Cu(t,e)}));else for(const n in t)Cu(t[n],e);return t}function Eu(t){return Bi(t)?{setup:t,name:t.name}:t}function Ou(t){Bi(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:l=!0,onError:c}=t;let i,a=null,u=0;const f=()=>{let t;return a||(t=a=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise(((e,n)=>{c(t,(()=>e((u++,a=null,f()))),(()=>n(t)),u+1)}));throw t})).then((e=>t!==a&&a?a:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),i=e,e))))};return Eu({__asyncLoader:f,name:"AsyncComponentWrapper",setup(){const t=qu;if(i)return()=>ju(i,t);const e=e=>{a=null,Ya(e,t,13,!o)};if(l&&t.suspense)return f().then((e=>()=>ju(e,t))).catch((t=>(e(t),()=>o?Bu(o,{error:t}):null)));const c=Ha(!1),u=Ha(),p=Ha(!!r);return r&&setTimeout((()=>{p.value=!1}),r),null!=s&&setTimeout((()=>{if(!c.value&&!u.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),u.value=t}}),s),f().then((()=>{c.value=!0})).catch((t=>{e(t),u.value=t})),()=>c.value&&i?ju(i,t):u.value&&o?Bu(o,{error:u.value}):n&&!p.value?Bu(n):void 0}})}function ju(t,{vnode:{ref:e,props:n,children:o}}){const r=Bu(t,n,o);return r.ref=e,r}const Fu=function(t,e){e&&e.pendingBranch?Ni(t)?e.effects.push(...t):e.effects.push(t):_u(t,cu,lu,iu)},$u=Symbol(),Pu=Symbol(void 0),Iu=Symbol(void 0),Au=Symbol(void 0);function Mu(t){return!!t&&!0===t.__v_isVNode}const Nu=({key:t})=>null!=t?t:null,Tu=({ref:t})=>null!=t?Ui(t)||qa(t)||Bi(t)?{i:null,r:t}:t:null,Bu=function(t,e=null,n=null,o=0,r=null,s=!1){t&&t!==$u||(t=Au);if(Mu(t)){const o=Uu(t,e,!0);return n&&Du(o,n),o}l=t,Bi(l)&&"__vccOpts"in l&&(t=t.__vccOpts);var l;if(e){(Wa(e)||"__vInternal"in e)&&(e=Ii({},e));let{class:t,style:n}=e;t&&!Ui(t)&&(e.class=Oi(t)),zi(n)&&(Wa(n)&&!Ni(n)&&(n=Ii({},n)),e.style=xi(n))}const c=Ui(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:zi(t)?4:Bi(t)?2:0,i={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Nu(e),ref:e&&Tu(e),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};if(Du(i,n),128&c){const{content:t,fallback:e}=function(t){const{shapeFlag:e,children:n}=t;let o,r;return 32&e?(o=bu(n.default),r=bu(n.fallback)):(o=bu(n),r=zu(null)),{content:o,fallback:r}}(i);i.ssContent=t,i.ssFallback=e}0;return i};function Uu(t,e,n=!1){const{props:o,ref:r,patchFlag:s,children:l}=t,c=e?function(...t){const e=Ii({},t[0]);for(let n=1;nLu(t,e,n)));for(const l in e)o&&Mi(o,l)?t[l]=o[l](t[l],e[l],n.proxy,l):t[l]=e[l]}const Wu=t=>t?4&t.vnode.shapeFlag?t.exposed?t.exposed:t.proxy:Wu(t.parent):null,Ku=Ii(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Wu(t.parent),$root:t=>Wu(t.root),$emit:t=>t.emit,$options:t=>function(t){const e=t.type,{__merged:n,mixins:o,extends:r}=e;if(n)return n;const s=t.appContext.mixins;if(!s.length&&!o&&!r)return e;const l={};return s.forEach((e=>Lu(l,e,t))),Lu(l,e,t),e.__merged=l}(t),$forceUpdate:t=>()=>du(t.update),$nextTick:t=>pu.bind(t.proxy),$watch:t=>Ru.bind(t)}),Ju={get({_:t},e){const{ctx:n,setupState:o,data:r,props:s,accessCache:l,type:c,appContext:i}=t;if("__v_skip"===e)return!0;let a;if("$"!==e[0]){const c=l[e];if(void 0!==c)switch(c){case 0:return o[e];case 1:return r[e];case 3:return n[e];case 2:return s[e]}else{if(o!==ji&&Mi(o,e))return l[e]=0,o[e];if(r!==ji&&Mi(r,e))return l[e]=1,r[e];if((a=t.propsOptions[0])&&Mi(a,e))return l[e]=2,s[e];if(n!==ji&&Mi(n,e))return l[e]=3,n[e];l[e]=4}}const u=Ku[e];let f,p;return u?("$attrs"===e&&oa(t,0,e),u(t)):(f=c.__cssModules)&&(f=f[e])?f:n!==ji&&Mi(n,e)?(l[e]=3,n[e]):(p=i.config.globalProperties,Mi(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:s}=t;if(r!==ji&&Mi(r,e))r[e]=n;else if(o!==ji&&Mi(o,e))o[e]=n;else if(Mi(t.props,e))return!1;return("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:s}},l){let c;return void 0!==n[l]||t!==ji&&Mi(t,l)||e!==ji&&Mi(e,l)||(c=s[0])&&Mi(c,l)||Mi(o,l)||Mi(Ku,l)||Mi(r.config.globalProperties,l)}};Ii({},Ju,{get(t,e){if(e!==Symbol.unscopables)return Ju.get(t,e,t)},has:(t,e)=>"_"!==e[0]&&!Si(e)});let qu=null;const Hu=()=>({src:"",alt:"",description:{id:m(),name:"sb-paragraph",data:{value:"",align:"left"}}});var Gu={name:"sb-image",getDefaultData:Hu,edit:Ou((()=>En((()=>__import__("./edit.79e9c821.js")),["./assets/edit.79e9c821.js","./assets/style.d3f26b5f.css","./assets/vendor.a029424f.js"]))),display:Ou((()=>En((()=>__import__("./display.54a23f84.js")),["./assets/display.54a23f84.js","./assets/style.d3f26b5f.css","./assets/vendor.a029424f.js"])))};a(n({name:"App",setup(){const t=o("edit"),e=r({name:"none",id:"0",data:null});s((async()=>{const t=await fetch("./initial-data.json"),n=await t.json();e.name=n.name,e.id=n.id,e.data=n.data}));const n=l((()=>{switch(t.value){case u.Edit:return c(Fn,{block:e,onUpdate:t=>{e.data=t.data},customBlocks:[Us,Vs,Gu,wi],key:"edit",mode:u.Edit},null);case u.Display:return c(Fn,{block:e,customBlocks:[Us,Vs,Gu,wi],key:"display",mode:u.Display},null);case"data":return c("pre",null,[c("code",null,[JSON.stringify(e,null,2)])])}}));return()=>c("div",{id:"app"},[c("select",{value:t.value,onChange:e=>{t.value=e.target.value}},[c("option",null,[i("edit")]),c("option",null,[i("display")]),c("option",null,[i("data")])]),n.value])}})).mount("#app");export{Ua as A,Ha as B,Su as C,Bu as D,Vu as E,Pu as F,Ae as G,k as H,Ke as I,qe as J,so as S,Rs as a,mn as b,Ts as c,hs as d,jn as e,Fs as f,Bs as g,oo as h,ro as i,Gc as j,mi as k,sc as l,w as m,hc as n,Lc as o,Kc as p,bi as q,Rr as r,li as s,lo as t,an as u,ii as v,us as w,fi as x,Eu as y,Hu as z}; +//# sourceMappingURL=index.a48301fd.js.map diff --git a/docs/assets/index.a48301fd.js.map b/docs/assets/index.a48301fd.js.map new file mode 100644 index 0000000..a095a6d --- /dev/null +++ b/docs/assets/index.a48301fd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.a48301fd.js","sources":["../../packages/core/lib/mode.ts","../../vite/dynamic-import-polyfill","../../packages/core/node_modules/uuid/dist/esm-browser/rng.js","../../packages/core/node_modules/uuid/dist/esm-browser/regex.js","../../packages/core/node_modules/uuid/dist/esm-browser/validate.js","../../packages/core/node_modules/uuid/dist/esm-browser/stringify.js","../../packages/core/lib/block-helpers.ts","../../packages/core/node_modules/uuid/dist/esm-browser/v4.js","../../packages/core/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../packages/core/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../packages/core/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../packages/core/lib/use-activation.ts","../../packages/core/lib/use-dynamic-blocks.ts","../../packages/core/lib/use-resize-observer.ts","../../packages/core/lib/use-block-tree.ts","../../packages/core/lib/components/Button.tsx","../../packages/core/lib/components/ContextMenu.tsx","../../packages/core/lib/components/TreeBlockSelect.tsx","../../packages/core/lib/components/MainMenu.tsx","../../packages/core/lib/components/BlockToolbar.tsx","../../vite/preload-helper","../../packages/core/lib/components/MissingBlock/index.ts","../../packages/core/lib/components/Block.tsx","../../packages/core/lib/components/Main.tsx","../../packages/core/lib/components/Modal.tsx","../../packages/core/lib/components/BlockPicker.tsx","../../packages/core/node_modules/lodash-es/_freeGlobal.js","../../packages/core/node_modules/lodash-es/_root.js","../../packages/core/node_modules/lodash-es/_Symbol.js","../../packages/core/node_modules/lodash-es/_getRawTag.js","../../packages/core/node_modules/lodash-es/_objectToString.js","../../packages/core/node_modules/lodash-es/_baseGetTag.js","../../packages/core/node_modules/lodash-es/_trimmedEndIndex.js","../../packages/core/node_modules/lodash-es/_baseTrim.js","../../packages/core/node_modules/lodash-es/isObject.js","../../packages/core/node_modules/lodash-es/toNumber.js","../../packages/core/node_modules/lodash-es/isSymbol.js","../../packages/core/node_modules/lodash-es/isObjectLike.js","../../packages/core/node_modules/lodash-es/now.js","../../packages/core/node_modules/lodash-es/debounce.js","../../packages/core/lib/components/BlockOrdering.tsx","../../packages/core/lib/components/BlockPlaceholder.tsx","../../packages/core/lib/components/Toolbar.tsx","../../packages/core/lib/components/Select.tsx","../../packages/layout/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../packages/layout/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../packages/layout/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../packages/layout/lib/util.ts","../../packages/layout/lib/index.ts","../../packages/heading/lib/index.ts","../../packages/heading/lib/util.ts","../../packages/paragraph/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../packages/paragraph/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../packages/paragraph/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../packages/paragraph/lib/util.ts","../../packages/paragraph/lib/index.ts","../../packages/image/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../packages/image/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../packages/image/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../packages/image/lib/util.ts","../../packages/image/lib/index.ts","../../src/main.ts","../../src/App.tsx"],"sourcesContent":["export enum SbMode {\n Edit = 'edit',\n Display = 'display',\n}\nexport const Mode = Symbol('Schlechtenburg mode');\n","const p = function polyfill(modulePath = '.', importFunctionName = '__import__') {\n try {\n self[importFunctionName] = new Function('u', `return import(u)`);\n }\n catch (error) {\n const baseURL = new URL(modulePath, location);\n const cleanup = (script) => {\n URL.revokeObjectURL(script.src);\n script.remove();\n };\n self[importFunctionName] = (url) => new Promise((resolve, reject) => {\n const absURL = new URL(url, baseURL);\n // If the module has already been imported, resolve immediately.\n if (self[importFunctionName].moduleMap[absURL]) {\n return resolve(self[importFunctionName].moduleMap[absURL]);\n }\n const moduleBlob = new Blob([\n `import * as m from '${absURL}';`,\n `${importFunctionName}.moduleMap['${absURL}']=m;`\n ], { type: 'text/javascript' });\n const script = Object.assign(document.createElement('script'), {\n type: 'module',\n src: URL.createObjectURL(moduleBlob),\n onerror() {\n reject(new Error(`Failed to import: ${url}`));\n cleanup(script);\n },\n onload() {\n resolve(self[importFunctionName].moduleMap[absURL]);\n cleanup(script);\n }\n });\n document.head.appendChild(script);\n });\n self[importFunctionName].moduleMap = {};\n }\n};__VITE_IS_MODERN__&&p(\"assets/\");","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import { v4 as uuidv4 } from 'uuid';\n\nexport const generateBlockId = uuidv4;\n\nexport const model = {\n prop: 'block',\n event: 'update',\n};\n\nexport const blockProps = {\n blockId: {\n type: String,\n default: generateBlockId,\n },\n};\n","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","/**\r\n * Make a map and return a function for checking if a key\r\n * is in that map.\r\n * IMPORTANT: all calls of this function must be prefixed with\r\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\r\n * So that rollup can tree-shake them if necessary.\r\n */\r\nfunction makeMap(str, expectsLowerCase) {\r\n const map = Object.create(null);\r\n const list = str.split(',');\r\n for (let i = 0; i < list.length; i++) {\r\n map[list[i]] = true;\r\n }\r\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\r\n}\n\n/**\r\n * dev only flag -> name mapping\r\n */\r\nconst PatchFlagNames = {\r\n [1 /* TEXT */]: `TEXT`,\r\n [2 /* CLASS */]: `CLASS`,\r\n [4 /* STYLE */]: `STYLE`,\r\n [8 /* PROPS */]: `PROPS`,\r\n [16 /* FULL_PROPS */]: `FULL_PROPS`,\r\n [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\r\n [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\r\n [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\r\n [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\r\n [512 /* NEED_PATCH */]: `NEED_PATCH`,\r\n [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\r\n [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\r\n [-1 /* HOISTED */]: `HOISTED`,\r\n [-2 /* BAIL */]: `BAIL`\r\n};\n\n/**\r\n * Dev only\r\n */\r\nconst slotFlagsText = {\r\n [1 /* STABLE */]: 'STABLE',\r\n [2 /* DYNAMIC */]: 'DYNAMIC',\r\n [3 /* FORWARDED */]: 'FORWARDED'\r\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\r\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\r\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\r\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n const lines = source.split(/\\r?\\n/);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + 1;\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\r\n const lineLength = lines[j].length;\r\n if (j === i) {\r\n // push underline\r\n const pad = start - (count - lineLength) + 1;\r\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\r\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\r\n }\r\n else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + '^'.repeat(length));\r\n }\r\n count += lineLength + 1;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join('\\n');\r\n}\n\n/**\r\n * On the client we only need to offer special cases for boolean attributes that\r\n * have different names from their corresponding dom properties:\r\n * - itemscope -> N/A\r\n * - allowfullscreen -> allowFullscreen\r\n * - formnovalidate -> formNoValidate\r\n * - ismap -> isMap\r\n * - nomodule -> noModule\r\n * - novalidate -> noValidate\r\n * - readonly -> readOnly\r\n */\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\r\n/**\r\n * The full list is needed during SSR to produce the correct initial markup.\r\n */\r\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\r\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\r\n `loop,open,required,reversed,scoped,seamless,` +\r\n `checked,muted,multiple,selected`);\r\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\r\nconst attrValidationCache = {};\r\nfunction isSSRSafeAttrName(name) {\r\n if (attrValidationCache.hasOwnProperty(name)) {\r\n return attrValidationCache[name];\r\n }\r\n const isUnsafe = unsafeAttrCharRE.test(name);\r\n if (isUnsafe) {\r\n console.error(`unsafe attribute name: ${name}`);\r\n }\r\n return (attrValidationCache[name] = !isUnsafe);\r\n}\r\nconst propsToAttrMap = {\r\n acceptCharset: 'accept-charset',\r\n className: 'class',\r\n htmlFor: 'for',\r\n httpEquiv: 'http-equiv'\r\n};\r\n/**\r\n * CSS properties that accept plain numbers\r\n */\r\nconst isNoUnitNumericStyleProp = /*#__PURE__*/ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,` +\r\n `border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,` +\r\n `columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,` +\r\n `grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,` +\r\n `grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,` +\r\n `line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,` +\r\n // SVG\r\n `fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,` +\r\n `stroke-miterlimit,stroke-opacity,stroke-width`);\r\n/**\r\n * Known attributes, this is used for stringification of runtime static nodes\r\n * so that we don't stringify bindings that cannot be set from HTML.\r\n * Don't also forget to allow `data-*` and `aria-*`!\r\n * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes\r\n */\r\nconst isKnownAttr = /*#__PURE__*/ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,` +\r\n `autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,` +\r\n `border,buffered,capture,challenge,charset,checked,cite,class,code,` +\r\n `codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,` +\r\n `coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,` +\r\n `disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,` +\r\n `formaction,formenctype,formmethod,formnovalidate,formtarget,headers,` +\r\n `height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,` +\r\n `ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,` +\r\n `manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,` +\r\n `open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,` +\r\n `referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,` +\r\n `selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,` +\r\n `start,step,style,summary,tabindex,target,title,translate,type,usemap,` +\r\n `value,width,wrap`);\n\nfunction normalizeStyle(value) {\r\n if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n else if (isObject(value)) {\r\n return value;\r\n }\r\n}\r\nconst listDelimiterRE = /;(?![^(]*\\))/g;\r\nconst propertyDelimiterRE = /:(.+)/;\r\nfunction parseStringStyle(cssText) {\r\n const ret = {};\r\n cssText.split(listDelimiterRE).forEach(item => {\r\n if (item) {\r\n const tmp = item.split(propertyDelimiterRE);\r\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\r\n }\r\n });\r\n return ret;\r\n}\r\nfunction stringifyStyle(styles) {\r\n let ret = '';\r\n if (!styles) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n const value = styles[key];\r\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\r\n if (isString(value) ||\r\n (typeof value === 'number' && isNoUnitNumericStyleProp(normalizedKey))) {\r\n // only render valid values\r\n ret += `${normalizedKey}:${value};`;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction normalizeClass(value) {\r\n let res = '';\r\n if (isString(value)) {\r\n res = value;\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + ' ';\r\n }\r\n }\r\n }\r\n else if (isObject(value)) {\r\n for (const name in value) {\r\n if (value[name]) {\r\n res += name + ' ';\r\n }\r\n }\r\n }\r\n return res.trim();\r\n}\n\n// These tag configs are shared between compiler-dom and runtime-dom, so they\r\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element\r\nconst HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +\r\n 'header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,' +\r\n 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +\r\n 'data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,' +\r\n 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +\r\n 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +\r\n 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +\r\n 'option,output,progress,select,textarea,details,dialog,menu,' +\r\n 'summary,template,blockquote,iframe,tfoot';\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element\r\nconst SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +\r\n 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +\r\n 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +\r\n 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +\r\n 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +\r\n 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +\r\n 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +\r\n 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +\r\n 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +\r\n 'text,textPath,title,tspan,unknown,use,view';\r\nconst VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';\r\nconst isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);\r\nconst isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);\r\nconst isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);\n\nconst escapeRE = /[\"'&<>]/;\r\nfunction escapeHtml(string) {\r\n const str = '' + string;\r\n const match = escapeRE.exec(str);\r\n if (!match) {\r\n return str;\r\n }\r\n let html = '';\r\n let escaped;\r\n let index;\r\n let lastIndex = 0;\r\n for (index = match.index; index < str.length; index++) {\r\n switch (str.charCodeAt(index)) {\r\n case 34: // \"\r\n escaped = '"';\r\n break;\r\n case 38: // &\r\n escaped = '&';\r\n break;\r\n case 39: // '\r\n escaped = ''';\r\n break;\r\n case 60: // <\r\n escaped = '<';\r\n break;\r\n case 62: // >\r\n escaped = '>';\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== index) {\r\n html += str.substring(lastIndex, index);\r\n }\r\n lastIndex = index + 1;\r\n html += escaped;\r\n }\r\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\r\n}\r\n// https://www.w3.org/TR/html52/syntax.html#comments\r\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\r\n}\n\n/**\r\n * For converting {{ interpolation }} values to displayed strings.\r\n * @private\r\n */\r\nconst toDisplayString = (val) => {\r\n return val == null\r\n ? ''\r\n : isObject(val)\r\n ? JSON.stringify(val, replacer, 2)\r\n : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => {\r\n entries[`${key} =>`] = val;\r\n return entries;\r\n }, {})\r\n };\r\n }\r\n else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()]\r\n };\r\n }\r\n else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\n\n/**\r\n * List of @babel/parser plugins that are used for template expression\r\n * transforms and SFC script transforms. By default we enable proposals slated\r\n * for ES2020. This will need to be updated as the spec moves forward.\r\n * Full list at https://babeljs.io/docs/en/next/babel-parser#plugins\r\n */\r\nconst babelParserDefaultPlugins = [\r\n 'bigInt',\r\n 'optionalChaining',\r\n 'nullishCoalescingOperator'\r\n];\r\nconst EMPTY_OBJ = (process.env.NODE_ENV !== 'production')\r\n ? Object.freeze({})\r\n : {};\r\nconst EMPTY_ARR = (process.env.NODE_ENV !== 'production') ? Object.freeze([]) : [];\r\nconst NOOP = () => { };\r\n/**\r\n * Always return false.\r\n */\r\nconst NO = () => false;\r\nconst onRE = /^on[^a-z]/;\r\nconst isOn = (key) => onRE.test(key);\r\nconst isModelListener = (key) => key.startsWith('onUpdate:');\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === '[object Map]';\r\nconst isSet = (val) => toTypeString(val) === '[object Set]';\r\nconst isDate = (val) => val instanceof Date;\r\nconst isFunction = (val) => typeof val === 'function';\r\nconst isString = (val) => typeof val === 'string';\r\nconst isSymbol = (val) => typeof val === 'symbol';\r\nconst isObject = (val) => val !== null && typeof val === 'object';\r\nconst isPromise = (val) => {\r\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n // extract \"RawType\" from strings like \"[object RawType]\"\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\r\nconst isIntegerKey = (key) => isString(key) &&\r\n key !== 'NaN' &&\r\n key[0] !== '-' &&\r\n '' + parseInt(key, 10) === key;\r\nconst isReservedProp = /*#__PURE__*/ makeMap(\r\n// the leading comma is intentional so empty string \"\" is also included\r\n',key,ref,' +\r\n 'onVnodeBeforeMount,onVnodeMounted,' +\r\n 'onVnodeBeforeUpdate,onVnodeUpdated,' +\r\n 'onVnodeBeforeUnmount,onVnodeUnmounted');\r\nconst cacheStringFunction = (fn) => {\r\n const cache = Object.create(null);\r\n return ((str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n });\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\n/**\r\n * @private\r\n */\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\n/**\r\n * @private\r\n */\r\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase());\r\n/**\r\n * @private\r\n */\r\nconst capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\r\n/**\r\n * @private\r\n */\r\nconst toHandlerKey = cacheStringFunction((str) => (str ? `on${capitalize(str)}` : ``));\r\n// compare whether a value has changed, accounting for NaN.\r\nconst hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst toNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return (_globalThis ||\r\n (_globalThis =\r\n typeof globalThis !== 'undefined'\r\n ? globalThis\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : typeof global !== 'undefined'\r\n ? global\r\n : {}));\r\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, babelParserDefaultPlugins, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, invokeArrayFns, isArray, isBooleanAttr, isDate, isFunction, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownAttr, isMap, isModelListener, isNoUnitNumericStyleProp, isObject, isOn, isPlainObject, isPromise, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, makeMap, normalizeClass, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { EMPTY_OBJ, isArray, isMap, isIntegerKey, isSymbol, extend, hasOwn, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nconst targetMap = new WeakMap();\r\nconst effectStack = [];\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nfunction isEffect(fn) {\r\n return fn && fn._isEffect === true;\r\n}\r\nfunction effect(fn, options = EMPTY_OBJ) {\r\n if (isEffect(fn)) {\r\n fn = fn.raw;\r\n }\r\n const effect = createReactiveEffect(fn, options);\r\n if (!options.lazy) {\r\n effect();\r\n }\r\n return effect;\r\n}\r\nfunction stop(effect) {\r\n if (effect.active) {\r\n cleanup(effect);\r\n if (effect.options.onStop) {\r\n effect.options.onStop();\r\n }\r\n effect.active = false;\r\n }\r\n}\r\nlet uid = 0;\r\nfunction createReactiveEffect(fn, options) {\r\n const effect = function reactiveEffect() {\r\n if (!effect.active) {\r\n return options.scheduler ? undefined : fn();\r\n }\r\n if (!effectStack.includes(effect)) {\r\n cleanup(effect);\r\n try {\r\n enableTracking();\r\n effectStack.push(effect);\r\n activeEffect = effect;\r\n return fn();\r\n }\r\n finally {\r\n effectStack.pop();\r\n resetTracking();\r\n activeEffect = effectStack[effectStack.length - 1];\r\n }\r\n }\r\n };\r\n effect.id = uid++;\r\n effect.allowRecurse = !!options.allowRecurse;\r\n effect._isEffect = true;\r\n effect.active = true;\r\n effect.raw = fn;\r\n effect.deps = [];\r\n effect.options = options;\r\n return effect;\r\n}\r\nfunction cleanup(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (!shouldTrack || activeEffect === undefined) {\r\n return;\r\n }\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = new Set()));\r\n }\r\n if (!dep.has(activeEffect)) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.options.onTrack) {\r\n activeEffect.options.onTrack({\r\n effect: activeEffect,\r\n target,\r\n type,\r\n key\r\n });\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n const effects = new Set();\r\n const add = (effectsToAdd) => {\r\n if (effectsToAdd) {\r\n effectsToAdd.forEach(effect => {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n effects.add(effect);\r\n }\r\n });\r\n }\r\n };\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n depsMap.forEach(add);\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n add(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n add(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n add(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n add(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n add(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n add(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const run = (effect) => {\r\n if ((process.env.NODE_ENV !== 'production') && effect.options.onTrigger) {\r\n effect.options.onTrigger({\r\n effect,\r\n target,\r\n key,\r\n type,\r\n newValue,\r\n oldValue,\r\n oldTarget\r\n });\r\n }\r\n if (effect.options.scheduler) {\r\n effect.options.scheduler(effect);\r\n }\r\n else {\r\n effect();\r\n }\r\n };\r\n effects.forEach(run);\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = {};\r\n['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n const method = Array.prototype[key];\r\n arrayInstrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = method.apply(arr, args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return method.apply(arr, args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n});\r\n['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n const method = Array.prototype[key];\r\n arrayInstrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = method.apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n});\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver === (isReadonly ? readonlyMap : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key)\r\n ? builtInSymbols.has(key)\r\n : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - does not apply for Array + integer key.\r\n const shouldUnwrap = !targetIsArray || !isIntegerKey(key);\r\n return shouldUnwrap ? res.value : res;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n const oldValue = target[key];\r\n if (!shallow) {\r\n value = toRaw(value);\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\r\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, rawKey);\r\n const { has } = getProto(rawTarget);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, rawKey);\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nconst mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n};\r\nconst shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n};\r\nconst readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n};\r\nconst iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\niteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n});\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: createInstrumentationGetter(true, false)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (target && target[\"__v_isReadonly\" /* IS_READONLY */]) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const proxyMap = isReadonly ? readonlyMap : reactiveMap;\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only a whitelist of value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n return ((observed && toRaw(observed[\"__v_raw\" /* RAW */])) || observed);\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\n\nconst convert = (val) => isObject(val) ? reactive(val) : val;\r\nfunction isRef(r) {\r\n return Boolean(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nclass RefImpl {\r\n constructor(_rawValue, _shallow = false) {\r\n this._rawValue = _rawValue;\r\n this._shallow = _shallow;\r\n this.__v_isRef = true;\r\n this._value = _shallow ? _rawValue : convert(_rawValue);\r\n }\r\n get value() {\r\n track(toRaw(this), \"get\" /* GET */, 'value');\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n if (hasChanged(toRaw(newVal), this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this._shallow ? newVal : convert(newVal);\r\n trigger(toRaw(this), \"set\" /* SET */, 'value', newVal);\r\n }\r\n }\r\n}\r\nfunction createRef(rawValue, shallow = false) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nfunction triggerRef(ref) {\r\n trigger(toRaw(ref), \"set\" /* SET */, 'value', (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => track(this, \"get\" /* GET */, 'value'), () => trigger(this, \"set\" /* SET */, 'value'));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key) {\r\n this._object = _object;\r\n this._key = _key;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n return this._object[this._key];\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key) {\r\n return isRef(object[key])\r\n ? object[key]\r\n : new ObjectRefImpl(object, key);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly) {\r\n this._setter = _setter;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this.effect = effect(getter, {\r\n lazy: true,\r\n scheduler: () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n trigger(toRaw(this), \"set\" /* SET */, 'value');\r\n }\r\n }\r\n });\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n if (this._dirty) {\r\n this._value = this.effect();\r\n this._dirty = false;\r\n }\r\n track(toRaw(this), \"get\" /* GET */, 'value');\r\n return this._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions) {\r\n let getter;\r\n let setter;\r\n if (isFunction(getterOrOptions)) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n return new ComputedRefImpl(getter, setter, isFunction(getterOrOptions) || !getterOrOptions.set);\r\n}\n\nexport { ITERATE_KEY, computed, customRef, effect, enableTracking, isProxy, isReactive, isReadonly, isRef, markRaw, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, shallowReactive, trigger, isReactive, effect, stop, ref, isProxy, proxyRefs, toRef, reactive, shallowReadonly, track, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, def, isReservedProp, EMPTY_ARR, isObject, capitalize, toRawType, makeMap, remove, NOOP, hasChanged, isSet, isMap, invokeArrayFns, NO, getGlobalThis, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(job) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n const jobId = getId(job);\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < jobId ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n const pos = findInsertionIndex(job);\r\n if (pos > -1) {\r\n queue.splice(pos, 0, job);\r\n }\r\n else {\r\n queue.push(job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > -1) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex]);\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex]);\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkRecursiveUpdates(seen, job);\r\n }\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n throw new Error(`Maximum recursive updates exceeded. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n const globalObject = typeof global !== 'undefined'\r\n ? global\r\n : typeof self !== 'undefined'\r\n ? self\r\n : typeof window !== 'undefined'\r\n ? window\r\n : {};\r\n globalObject.__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, component) {\r\n if (!component) {\r\n warn(`HMR API usage is out of date.\\n` +\r\n `Please upgrade vue-loader/vite/rollup-plugin-vue or other relevant ` +\r\n `dependency that handles Vue SFC compilation.`);\r\n component = {};\r\n }\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n component: isClassComponent(component) ? component.__vccOpts : component,\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n if (newRender)\r\n record.component.render = newRender;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n Array.from(record.instances).forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n // Array.from creates a snapshot which avoids the set being mutated during\r\n // updates\r\n const { component, instances } = record;\r\n if (!hmrDirtyComponents.has(component)) {\r\n // 1. Update existing comp definition to match new one\r\n newComp = isClassComponent(newComp) ? newComp.__vccOpts : newComp;\r\n extend(component, newComp);\r\n for (const key in component) {\r\n if (!(key in newComp)) {\r\n delete component[key];\r\n }\r\n }\r\n // 2. Mark component dirty. This forces the renderer to replace the component\r\n // on patch.\r\n hmrDirtyComponents.add(component);\r\n // 3. Make sure to unmark the component after the reload.\r\n queuePostFlushCb(() => {\r\n hmrDirtyComponents.delete(component);\r\n });\r\n }\r\n Array.from(instances).forEach(instance => {\r\n if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n });\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nfunction setDevtoolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n // TODO queue if devtools is undefined\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = /*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n if (!devtools)\r\n return;\r\n devtools.emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n if (!devtools)\r\n return;\r\n devtools.emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions)) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n // convert handler name to camelCase. See issue #2249\r\n let handlerName = toHandlerKey(camelize(event));\r\n let handler = props[handlerName];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handlerName = toHandlerKey(hyphenate(event));\r\n handler = props[handlerName];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n (instance.emitted = {})[handlerName] = true;\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__emits !== undefined) {\r\n return comp.__emits;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n hasExtends = true;\r\n extend(normalized, normalizeEmitsOptions(raw, appContext, true));\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__emits = null);\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n return (comp.__emits = normalized);\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n currentRenderingInstance = instance;\r\n}\r\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx } = instance;\r\n let result;\r\n currentRenderingInstance = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n let fallthroughAttrs;\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n ;\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (Component.inheritAttrs !== false && fallthroughAttrs) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & 1 /* ELEMENT */ ||\r\n shapeFlag & 6 /* COMPONENT */) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n }\r\n catch (err) {\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n currentRenderingInstance = null;\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & 6 /* COMPONENT */ ||\r\n vnode.shapeFlag & 1 /* ELEMENT */ ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl\r\n );\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n const onPending = n2.props && n2.props.onPending;\r\n if (isFunction(onPending)) {\r\n onPending();\r\n }\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n const onResolve = vnode.props && vnode.props.onResolve;\r\n if (isFunction(onResolve)) {\r\n onResolve();\r\n }\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n const onFallback = vnode.props && vnode.props.onFallback;\r\n if (isFunction(onFallback)) {\r\n onFallback();\r\n }\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n suspense.isInFallback = true;\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n let content;\r\n let fallback;\r\n if (shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n content = normalizeSuspenseSlot(children.default);\r\n fallback = normalizeSuspenseSlot(children.fallback);\r\n }\r\n else {\r\n content = normalizeSuspenseSlot(children);\r\n fallback = normalizeVNode(null);\r\n }\r\n return {\r\n content,\r\n fallback\r\n };\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n if (isFunction(s)) {\r\n s = s();\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n return normalizeVNode(s);\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nlet isRenderingCompiledSlot = 0;\r\nconst setCompiledSlotRendering = (n) => (isRenderingCompiledSlot += n);\r\n/**\r\n * Compiler runtime helper for rendering ``\r\n * @private\r\n */\r\nfunction renderSlot(slots, name, props = {}, \r\n// this is not a user-facing function, so the fallback is always generated by\r\n// the compiler and guaranteed to be a function returning an array\r\nfallback) {\r\n let slot = slots[name];\r\n if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {\r\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\r\n `function. You need to mark this component with $dynamic-slots in the ` +\r\n `parent template.`);\r\n slot = () => [];\r\n }\r\n // a compiled slot disables block tracking by default to avoid manual\r\n // invocation interfering with template-based block tracking, but in\r\n // `renderSlot` we can be sure that it's template-based so we can force\r\n // enable it.\r\n isRenderingCompiledSlot++;\r\n openBlock();\r\n const validSlotContent = slot && ensureValidVNode(slot(props));\r\n const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */\r\n ? 64 /* STABLE_FRAGMENT */\r\n : -2 /* BAIL */);\r\n isRenderingCompiledSlot--;\r\n return rendered;\r\n}\r\nfunction ensureValidVNode(vnodes) {\r\n return vnodes.some(child => {\r\n if (!isVNode(child))\r\n return true;\r\n if (child.type === Comment)\r\n return false;\r\n if (child.type === Fragment &&\r\n !ensureValidVNode(child.children))\r\n return false;\r\n return true;\r\n })\r\n ? vnodes\r\n : null;\r\n}\n\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance) {\r\n if (!ctx)\r\n return fn;\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we need to push a null block to\r\n // avoid that. This isn't necessary if rendering a compiled ``.\r\n if (!isRenderingCompiledSlot) {\r\n openBlock(true /* null block that disables tracking */);\r\n }\r\n const owner = currentRenderingInstance;\r\n setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(owner);\r\n if (!isRenderingCompiledSlot) {\r\n closeBlock();\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._c = true;\r\n return renderFnWithContext;\r\n}\n\n// SFC scoped style ID management.\r\nlet currentScopeId = null;\r\nconst scopeIdStack = [];\r\n/**\r\n * @private\r\n */\r\nfunction pushScopeId(id) {\r\n scopeIdStack.push((currentScopeId = id));\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n scopeIdStack.pop();\r\n currentScopeId = scopeIdStack[scopeIdStack.length - 1] || null;\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction withScopeId(id) {\r\n return ((fn) => withCtx(function () {\r\n pushScopeId(id);\r\n const res = fn.apply(this, arguments);\r\n popScopeId();\r\n return res;\r\n }));\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n const key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n attrs[key] = value;\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);\r\n }\r\n }\r\n else {\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n setFullProps(instance, rawProps, props, attrs);\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, undefined, instance);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key)) {\r\n delete attrs[key];\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n if ((process.env.NODE_ENV !== 'production') && rawProps) {\r\n validateProps(props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n if (rawProps) {\r\n for (const key in rawProps) {\r\n const value = rawProps[key];\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n props[camelKey] = value;\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n // Any non-declared (either as a prop or an emitted event) props are put\r\n // into a separate `attrs` object for spreading. Make sure to preserve\r\n // original key casing\r\n attrs[key] = value;\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key], instance);\r\n }\r\n }\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n setCurrentInstance(instance);\r\n value = defaultValue(props);\r\n setCurrentInstance(null);\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (!hasOwn(props, key) && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n if (!appContext.deopt && comp.__props) {\r\n return comp.__props;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n return (comp.__props = EMPTY_ARR);\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return (comp.__props = [normalized, needCastKeys]);\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n for (let i = 0, len = expectedTypes.length; i < len; i++) {\r\n if (isSameType(expectedTypes[i], type)) {\r\n return i;\r\n }\r\n }\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(props, instance) {\r\n const rawValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, rawValues[key], opt, !hasOwn(rawValues, key));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n setCurrentInstance(null);\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR\r\n!isInSSRComponentSetup && injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nconst onErrorCaptured = (hook, target = currentInstance) => {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n};\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n let getter;\r\n let forceTrigger = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = !!source._shallow;\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */, [\r\n instance && instance.proxy\r\n ]);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */, [\r\n instance && instance.proxy\r\n ]);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onInvalidate]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n const onInvalidate = (fn) => {\r\n cleanup = runner.options.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!runner.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = runner();\r\n if (deep || forceTrigger || hasChanged(newValue, oldValue)) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onInvalidate\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n runner();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job;\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const runner = effect(getter, {\r\n lazy: true,\r\n onTrack,\r\n onTrigger,\r\n scheduler\r\n });\r\n recordInstanceBoundEffect(runner, instance);\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = runner();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(runner, instance && instance.suspense);\r\n }\r\n else {\r\n runner();\r\n }\r\n return () => {\r\n stop(runner);\r\n if (instance) {\r\n remove(instance.effects, runner);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, cb, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? () => publicThis[source]\r\n : source.bind(publicThis);\r\n return doWatch(getter, cb.bind(publicThis), options, this);\r\n}\r\nfunction traverse(value, seen = new Set()) {\r\n if (!isObject(value) || seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out') {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n const instance = getCurrentInstance();\r\n const parentSuspense = instance.suspense;\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n const name = getComponentName(comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').indexOf(name) > -1;\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => withCtx((props) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(props));\r\n}, ctx);\r\nconst normalizeObjectSlots = (rawSlots, slots) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') && !isKeepAlive(instance.vnode)) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n instance.slots = children;\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nconst isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n const hook = binding.dir[name];\r\n if (hook) {\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n isCustomElement: NO,\r\n errorHandler: undefined,\r\n warnHandler: undefined\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null)\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n // global mixin with props/emits de-optimizes props/emits\r\n // normalization caching.\r\n if (mixin.props || mixin.emits) {\r\n context.deopt = true;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n return vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsUnmountApp(app);\r\n }\r\n delete app._container.__vue_app__;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if ((process.env.NODE_ENV !== 'production') && !container.hasChildNodes()) {\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type !== node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n const container = parentNode(node);\r\n const hydrateComponent = () => {\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n };\r\n // async component\r\n const loadAsync = vnode.type.__asyncLoader;\r\n if (loadAsync) {\r\n loadAsync().then(hydrateComponent);\r\n }\r\n else {\r\n hydrateComponent();\r\n }\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { props, patchFlag, shapeFlag, dirs } = vnode;\r\n // skip props & children if this is hoisted static nodes\r\n if (patchFlag !== -1 /* HOISTED */) {\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\r\n }\r\n // props\r\n if (props) {\r\n if (!optimized ||\r\n (patchFlag & 16 /* FULL_PROPS */ ||\r\n patchFlag & 32 /* HYDRATE_EVENTS */)) {\r\n for (const key in props) {\r\n if (!isReservedProp(key) && isOn(key)) {\r\n patchProp(el, key, null, props[key]);\r\n }\r\n }\r\n }\r\n else if (props.onClick) {\r\n // Fast path for click listeners (which is most often) to avoid\r\n // iterating through props.\r\n patchProp(el, 'onClick', null, props.onClick);\r\n }\r\n }\r\n // vnode / directive hooks\r\n let vnodeHooks;\r\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\r\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n }\r\n if (dirs) {\r\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\r\n }\r\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\r\n queueEffectWithSuspense(() => {\r\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\r\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\r\n }, parentSuspense);\r\n }\r\n // children\r\n if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&\r\n // skip if element has innerHTML / textContent\r\n !(props && (props.innerHTML || props.textContent))) {\r\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, optimized);\r\n let hasWarned = false;\r\n while (next) {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\r\n `server rendered element contains more child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // The SSRed DOM contains more nodes than it should. Remove them.\r\n const cur = next;\r\n next = next.nextSibling;\r\n remove(cur);\r\n }\r\n }\r\n else if (shapeFlag & 8 /* TEXT_CHILDREN */) {\r\n if (el.textContent !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\r\n `- Client: ${el.textContent}\\n` +\r\n `- Server: ${vnode.children}`);\r\n el.textContent = vnode.children;\r\n }\r\n }\r\n }\r\n return el.nextSibling;\r\n };\r\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, optimized) => {\r\n optimized = optimized || !!parentVNode.dynamicChildren;\r\n const children = parentVNode.children;\r\n const l = children.length;\r\n let hasWarned = false;\r\n for (let i = 0; i < l; i++) {\r\n const vnode = optimized\r\n ? children[i]\r\n : (children[i] = normalizeVNode(children[i]));\r\n if (node) {\r\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, optimized);\r\n }\r\n else {\r\n hasMismatch = true;\r\n if ((process.env.NODE_ENV !== 'production') && !hasWarned) {\r\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\r\n `server rendered element contains fewer child nodes than client vdom.`);\r\n hasWarned = true;\r\n }\r\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\r\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container));\r\n }\r\n }\r\n return node;\r\n };\r\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, optimized) => {\r\n const container = parentNode(node);\r\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, optimized);\r\n if (next && isComment(next) && next.data === ']') {\r\n return nextSibling((vnode.anchor = next));\r\n }\r\n else {\r\n // fragment didn't hydrate successfully, since we didn't get a end anchor\r\n // back. This should have led to node/children mismatch warnings.\r\n hasMismatch = true;\r\n // since the anchor is missing, we need to create one and insert it\r\n insert((vnode.anchor = createComment(`]`)), container, next);\r\n return next;\r\n }\r\n };\r\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, isFragment) => {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */\r\n ? `(text)`\r\n : isComment(node) && node.data === '['\r\n ? `(start of fragment)`\r\n : ``);\r\n vnode.el = null;\r\n if (isFragment) {\r\n // remove excessive fragment nodes\r\n const end = locateClosingAsyncAnchor(node);\r\n while (true) {\r\n const next = nextSibling(node);\r\n if (next && next !== end) {\r\n remove(next);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n const next = nextSibling(node);\r\n const container = parentNode(node);\r\n remove(node);\r\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container));\r\n return next;\r\n };\r\n const locateClosingAsyncAnchor = (node) => {\r\n let match = 0;\r\n while (node) {\r\n node = nextSibling(node);\r\n if (node && isComment(node)) {\r\n if (node.data === '[')\r\n match++;\r\n if (node.data === ']') {\r\n if (match === 0) {\r\n return nextSibling(node);\r\n }\r\n else {\r\n match--;\r\n }\r\n }\r\n }\r\n }\r\n return node;\r\n };\r\n return [hydrate, hydrateNode];\r\n}\n\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== undefined) {\r\n return supported;\r\n }\r\n /* eslint-disable no-restricted-globals */\r\n if (typeof window !== 'undefined' && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n }\r\n else {\r\n supported = false;\r\n }\r\n /* eslint-enable no-restricted-globals */\r\n return supported;\r\n}\n\n/**\r\n * This is only called in esm-bundler builds.\r\n * It is called when a renderer is created, in `baseCreateRenderer` so that\r\n * importing runtime-core is side-effects free.\r\n *\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_OPTIONS_API__ = true;\r\n }\r\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of Vue. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle. ` +\r\n `See http://link.vuejs.org/feature-flags for more details.`);\r\n }\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest = loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n __asyncLoader: load,\r\n name: 'AsyncComponentWrapper',\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (false )) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst prodEffectOptions = {\r\n scheduler: queueJob,\r\n // #1801, #2043 component render effects should allow recursive updates\r\n allowRecurse: true\r\n};\r\nfunction createDevEffectOptions(instance) {\r\n return {\r\n scheduler: queueJob,\r\n allowRecurse: true,\r\n onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc, e) : void 0,\r\n onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg, e) : void 0\r\n };\r\n}\r\nconst queuePostRenderEffect = queueEffectWithSuspense\r\n ;\r\nconst setRef = (rawRef, oldRawRef, parentSuspense, vnode) => {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode));\r\n return;\r\n }\r\n let value;\r\n if (!vnode || isAsyncWrapper(vnode)) {\r\n value = null;\r\n }\r\n else {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n value = vnode.component.exposed || vnode.component.proxy;\r\n }\r\n else {\r\n value = vnode.el;\r\n }\r\n }\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isString(ref)) {\r\n const doSet = () => {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n };\r\n // #1789: for non-null values, set them after render\r\n // null values means this is unmount and it should not overwrite another\r\n // ref with the same key\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n const doSet = () => {\r\n ref.value = value;\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', value, `(${typeof value})`);\r\n }\r\n};\r\n/**\r\n * The createRenderer function accepts two generic arguments:\r\n * HostNode and HostElement, corresponding to Node and Element types in the\r\n * host environment. For example, for runtime-dom, HostNode would be the DOM\r\n * `Node` interface and HostElement would be the DOM `Element` interface.\r\n *\r\n * Custom renderers can pass in the platform specific types like this:\r\n *\r\n * ``` js\r\n * const { render, createApp } = createRenderer({\r\n * patchProp,\r\n * ...nodeOps\r\n * })\r\n * ```\r\n */\r\nfunction createRenderer(options) {\r\n return baseCreateRenderer(options);\r\n}\r\n// Separate API for creating hydration-enabled renderer.\r\n// Hydration logic is only used when calling this function, making it\r\n// tree-shakable.\r\nfunction createHydrationRenderer(options) {\r\n return baseCreateRenderer(options, createHydrationFunctions);\r\n}\r\n// implementation\r\nfunction baseCreateRenderer(options, createHydrationFns) {\r\n // compile-time feature flags check\r\n {\r\n initFeatureFlags();\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__VUE__ = true;\r\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__);\r\n }\r\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;\r\n // Note: functions inside this closure should use `const xxx = () => {}`\r\n // style in order to prevent being inlined by minifiers.\r\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, optimized = false) => {\r\n // patching & not same type, unmount old tree\r\n if (n1 && !isSameVNodeType(n1, n2)) {\r\n anchor = getNextHostNode(n1);\r\n unmount(n1, parentComponent, parentSuspense, true);\r\n n1 = null;\r\n }\r\n if (n2.patchFlag === -2 /* BAIL */) {\r\n optimized = false;\r\n n2.dynamicChildren = null;\r\n }\r\n const { type, ref, shapeFlag } = n2;\r\n switch (type) {\r\n case Text:\r\n processText(n1, n2, container, anchor);\r\n break;\r\n case Comment:\r\n processCommentNode(n1, n2, container, anchor);\r\n break;\r\n case Static:\r\n if (n1 == null) {\r\n mountStaticNode(n2, container, anchor, isSVG);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n patchStaticNode(n1, n2, container, isSVG);\r\n }\r\n break;\r\n case Fragment:\r\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid VNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n // set ref\r\n if (ref != null && parentComponent) {\r\n setRef(ref, n1 && n1.ref, parentSuspense, n2);\r\n }\r\n };\r\n const processText = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\r\n }\r\n else {\r\n const el = (n2.el = n1.el);\r\n if (n2.children !== n1.children) {\r\n hostSetText(el, n2.children);\r\n }\r\n }\r\n };\r\n const processCommentNode = (n1, n2, container, anchor) => {\r\n if (n1 == null) {\r\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\r\n }\r\n else {\r\n // there's no support for dynamic comments\r\n n2.el = n1.el;\r\n }\r\n };\r\n const mountStaticNode = (n2, container, anchor, isSVG) => {\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n };\r\n /**\r\n * Dev / HMR only\r\n */\r\n const patchStaticNode = (n1, n2, container, isSVG) => {\r\n // static nodes are only patched during dev for HMR\r\n if (n2.children !== n1.children) {\r\n const anchor = hostNextSibling(n1.anchor);\r\n // remove existing\r\n removeStaticNode(n1);\r\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\r\n }\r\n else {\r\n n2.el = n1.el;\r\n n2.anchor = n1.anchor;\r\n }\r\n };\r\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostInsert(el, container, nextSibling);\r\n el = next;\r\n }\r\n hostInsert(anchor, container, nextSibling);\r\n };\r\n const removeStaticNode = ({ el, anchor }) => {\r\n let next;\r\n while (el && el !== anchor) {\r\n next = hostNextSibling(el);\r\n hostRemove(el);\r\n el = next;\r\n }\r\n hostRemove(anchor);\r\n };\r\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n isSVG = isSVG || n2.type === 'svg';\r\n if (n1 == null) {\r\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n else {\r\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, optimized);\r\n }\r\n };\r\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\r\n let el;\r\n let vnodeHook;\r\n const { type, props, shapeFlag, transition, scopeId, patchFlag, dirs } = vnode;\r\n if (!(process.env.NODE_ENV !== 'production') &&\r\n vnode.el &&\r\n hostCloneNode !== undefined &&\r\n patchFlag === -1 /* HOISTED */) {\r\n // If a vnode has non-null el, it means it's being reused.\r\n // Only static vnodes can be reused, so its mounted DOM nodes should be\r\n // exactly the same, and we can simply do a clone here.\r\n // only do this in production since cloned trees cannot be HMR updated.\r\n el = vnode.el = hostCloneNode(vnode.el);\r\n }\r\n else {\r\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is);\r\n // mount children first, since some props may rely on child content\r\n // being already rendered, e.g. `