diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 6bb7c20..14ad864 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -13,9 +13,9 @@
-
+ {
+ "associatedIndex": 7
+}
@@ -28,6 +28,8 @@
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
"RunOnceActivity.git.unshallow": "true",
"git-widget-placeholder": "main",
+ "js.debugger.nextJs.config.created.client": "true",
+ "js.debugger.nextJs.config.created.server": "true",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.standard": "true",
"node.js.detected.package.stylelint": "true",
@@ -39,7 +41,7 @@
"nodejs_package_manager_path": "npm",
"prettierjs.PrettierConfiguration.Package": "/Users/dave/projects/dave-dmg/blog/node_modules/prettier",
"settings.editor.selected.configurable": "settings.javascript.prettier",
- "ts.external.directory.path": "/Applications/WebStorm.app/Contents/plugins/javascript-plugin/jsLanguageServicesImpl/external",
+ "ts.external.directory.path": "/Users/dave/projects/dave-dmg/blog/node_modules/typescript/lib",
"vue.rearranger.settings.migration": "true"
}
}]]>
@@ -52,6 +54,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -67,6 +84,7 @@
1756802819394
+
@@ -165,9 +183,14 @@
file://$PROJECT_DIR$/src/definitions/collections/system/tags.ts
11
-
+
+ file://$PROJECT_DIR$/src/app/layout.tsx
+ 22
+
+
+
diff --git a/keystatic.config.ts b/keystatic.config.ts
new file mode 100644
index 0000000..4cfafb0
--- /dev/null
+++ b/keystatic.config.ts
@@ -0,0 +1,19 @@
+import { config } from '@keystatic/core'
+
+import { MetaPostsCollection } from '@/lib/keystatic/collections/meta/article'
+import { AuthorsCollection } from '@/lib/keystatic/collections/taxonomy/authors'
+import { TagsCollection } from '@/lib/keystatic/collections/taxonomy/tags'
+
+export default config({
+ storage: {
+ kind: 'local',
+ },
+ ui: {
+ brand: { name: 'Dave | DMG' },
+ },
+ collections: {
+ tags: TagsCollection,
+ authors: AuthorsCollection,
+ meta_posts: MetaPostsCollection,
+ },
+})
diff --git a/package-lock.json b/package-lock.json
index 88086c9..3c88a21 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,10 @@
"dependencies": {
"@fontsource/iosevka": "^5.2.5",
"@fontsource/iosevka-aile": "^5.2.5",
+ "@keystar/ui": "^0.7.19",
+ "@keystatic/core": "^0.5.48",
+ "@keystatic/next": "^5.0.4",
+ "@markdoc/markdoc": "^0.5.4",
"next": "15.5.2",
"react": "19.1.0",
"react-dom": "19.1.0"
@@ -25,10 +29,14 @@
"eslint-config-next": "15.5.2",
"eslint-plugin-mdx": "^3.6.2",
"postcss": "^8.5.6",
+ "postcss-apply": "^0.12.0",
+ "postcss-easings": "^4.0.0",
"postcss-import": "^16.1.1",
+ "postcss-mixins": "^12.1.2",
"postcss-nesting": "^13.0.2",
"postcss-preset-env": "^10.3.1",
"postcss-utilities": "^0.8.4",
+ "postcss-vertical-rhythm": "^1.1.5",
"prettier": "^3.6.2",
"prettier-plugin-organize-imports": "^4.2.0",
"stylelint": "^16.23.1",
@@ -38,11 +46,24 @@
"typescript": "^5"
}
},
+ "node_modules/@0no-co/graphql.web": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz",
+ "integrity": "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
@@ -53,16 +74,137 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
- "dev": true,
+ "node_modules/@babel/generator": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
+ "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.3",
+ "@babel/types": "^7.28.2",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz",
+ "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz",
+ "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz",
+ "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.3",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
+ "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@braintree/sanitize-url": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz",
+ "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==",
+ "license": "MIT"
+ },
"node_modules/@csstools/cascade-layer-name-parser": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz",
@@ -1301,6 +1443,115 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/@emotion/babel-plugin": {
+ "version": "11.13.5",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz",
+ "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/serialize": "^1.3.3",
+ "babel-plugin-macros": "^3.1.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@emotion/cache": {
+ "version": "11.14.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz",
+ "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/cache/node_modules/@emotion/weak-memoize": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
+ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/css": {
+ "version": "11.13.5",
+ "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.13.5.tgz",
+ "integrity": "sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/cache": "^11.13.5",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2"
+ }
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz",
+ "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz",
+ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/serialize": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz",
+ "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==",
+ "license": "MIT",
+ "dependencies": {
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/unitless": "^0.10.0",
+ "@emotion/utils": "^1.4.2",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@emotion/sheet": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz",
+ "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz",
+ "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/utils": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz",
+ "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==",
+ "license": "MIT"
+ },
+ "node_modules/@emotion/weak-memoize": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz",
+ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==",
+ "license": "MIT"
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.8.0.tgz",
@@ -1466,6 +1717,59 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/react": {
+ "version": "0.24.8",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.24.8.tgz",
+ "integrity": "sha512-AuYeDoaR8jtUlUXtZ1IJ/6jtBkGnSpJXbGNzokBL87VDJ8opMq1Bgrc0szhK482ReQY6KZsMoZCVSb4xwalkBA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/react-dom": "^2.0.1",
+ "aria-hidden": "^1.2.3",
+ "tabbable": "^6.0.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz",
+ "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.7.4"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
+ "license": "MIT"
+ },
"node_modules/@fontsource/iosevka": {
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/@fontsource/iosevka/-/iosevka-5.2.5.tgz",
@@ -1484,6 +1788,57 @@
"url": "https://github.com/sponsors/ayuhito"
}
},
+ "node_modules/@formatjs/ecma402-abstract": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.4.tgz",
+ "integrity": "sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==",
+ "license": "MIT",
+ "dependencies": {
+ "@formatjs/fast-memoize": "2.2.7",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "decimal.js": "^10.4.3",
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@formatjs/fast-memoize": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz",
+ "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@formatjs/icu-messageformat-parser": {
+ "version": "2.11.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.2.tgz",
+ "integrity": "sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==",
+ "license": "MIT",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/icu-skeleton-parser": "1.8.14",
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@formatjs/icu-skeleton-parser": {
+ "version": "1.8.14",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.14.tgz",
+ "integrity": "sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@formatjs/intl-localematcher": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.1.tgz",
+ "integrity": "sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
"node_modules/@fullhuman/postcss-purgecss": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-7.0.2.tgz",
@@ -1497,6 +1852,15 @@
"postcss": "^8.0.0"
}
},
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
"node_modules/@humanfs/core": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -1967,6 +2331,43 @@
"url": "https://opencollective.com/libvips"
}
},
+ "node_modules/@internationalized/date": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.9.0.tgz",
+ "integrity": "sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/message": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.8.tgz",
+ "integrity": "sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0",
+ "intl-messageformat": "^10.1.0"
+ }
+ },
+ "node_modules/@internationalized/number": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.5.tgz",
+ "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/string": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.7.tgz",
+ "integrity": "sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
@@ -2055,6 +2456,307 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.30",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
+ "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@juggle/resize-observer": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
+ "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@keystar/ui": {
+ "version": "0.7.19",
+ "resolved": "https://registry.npmjs.org/@keystar/ui/-/ui-0.7.19.tgz",
+ "integrity": "sha512-8yXXli2w6rzK4wYQ1LNjznV2v08SkKHdLDWCOaCffuQkULZRGU7oRZJIYTEqCRy8b6K3frbIuhqyRcKzEv+xgA==",
+ "license": "MIT AND Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/css": "^11.13.5",
+ "@floating-ui/react": "^0.24.0",
+ "@internationalized/date": "^3.8.0",
+ "@internationalized/string": "^3.2.6",
+ "@react-aria/actiongroup": "^3.7.15",
+ "@react-aria/breadcrumbs": "^3.5.23",
+ "@react-aria/button": "^3.13.0",
+ "@react-aria/calendar": "^3.8.0",
+ "@react-aria/checkbox": "^3.15.4",
+ "@react-aria/combobox": "^3.12.2",
+ "@react-aria/datepicker": "^3.14.2",
+ "@react-aria/dialog": "^3.5.24",
+ "@react-aria/dnd": "^3.9.2",
+ "@react-aria/focus": "^3.20.2",
+ "@react-aria/gridlist": "^3.12.0",
+ "@react-aria/i18n": "^3.12.8",
+ "@react-aria/interactions": "^3.25.0",
+ "@react-aria/label": "^3.7.17",
+ "@react-aria/link": "^3.8.0",
+ "@react-aria/listbox": "^3.14.3",
+ "@react-aria/live-announcer": "^3.4.2",
+ "@react-aria/menu": "^3.18.2",
+ "@react-aria/meter": "^3.4.22",
+ "@react-aria/numberfield": "^3.11.13",
+ "@react-aria/overlays": "^3.27.0",
+ "@react-aria/progress": "^3.4.22",
+ "@react-aria/radio": "^3.11.2",
+ "@react-aria/searchfield": "^3.8.3",
+ "@react-aria/select": "^3.15.4",
+ "@react-aria/selection": "^3.24.0",
+ "@react-aria/separator": "^3.4.8",
+ "@react-aria/ssr": "^3.9.8",
+ "@react-aria/switch": "^3.7.2",
+ "@react-aria/table": "^3.17.2",
+ "@react-aria/tabs": "^3.10.2",
+ "@react-aria/tag": "^3.5.2",
+ "@react-aria/textfield": "^3.17.2",
+ "@react-aria/toast": "3.0.2",
+ "@react-aria/tooltip": "^3.8.2",
+ "@react-aria/utils": "^3.28.2",
+ "@react-aria/virtualizer": "^4.1.4",
+ "@react-aria/visually-hidden": "^3.8.22",
+ "@react-stately/calendar": "^3.8.0",
+ "@react-stately/checkbox": "^3.6.13",
+ "@react-stately/collections": "^3.12.3",
+ "@react-stately/combobox": "^3.10.4",
+ "@react-stately/data": "^3.12.3",
+ "@react-stately/datepicker": "^3.14.0",
+ "@react-stately/dnd": "^3.5.3",
+ "@react-stately/form": "^3.1.3",
+ "@react-stately/layout": "^4.2.2",
+ "@react-stately/list": "^3.12.1",
+ "@react-stately/menu": "^3.9.3",
+ "@react-stately/numberfield": "^3.9.11",
+ "@react-stately/overlays": "^3.6.15",
+ "@react-stately/radio": "^3.10.12",
+ "@react-stately/searchfield": "^3.5.11",
+ "@react-stately/select": "^3.6.12",
+ "@react-stately/selection": "^3.20.1",
+ "@react-stately/table": "^3.14.1",
+ "@react-stately/tabs": "^3.8.1",
+ "@react-stately/toast": "3.1.0",
+ "@react-stately/toggle": "^3.8.3",
+ "@react-stately/tooltip": "^3.5.3",
+ "@react-stately/tree": "^3.8.9",
+ "@react-stately/utils": "^3.10.6",
+ "@react-stately/virtualizer": "^4.3.2",
+ "@react-types/actionbar": "^3.1.14",
+ "@react-types/actiongroup": "^3.4.16",
+ "@react-types/breadcrumbs": "^3.7.12",
+ "@react-types/button": "^3.12.0",
+ "@react-types/calendar": "^3.7.0",
+ "@react-types/combobox": "^3.13.4",
+ "@react-types/datepicker": "^3.12.0",
+ "@react-types/grid": "^3.3.1",
+ "@react-types/menu": "^3.10.0",
+ "@react-types/numberfield": "^3.8.10",
+ "@react-types/overlays": "^3.8.14",
+ "@react-types/radio": "^3.8.8",
+ "@react-types/select": "^3.9.11",
+ "@react-types/shared": "^3.29.0",
+ "@react-types/switch": "^3.5.10",
+ "@react-types/table": "^3.12.0",
+ "@react-types/tabs": "^3.3.14",
+ "@types/react": "^19.0.8",
+ "emery": "^1.4.1",
+ "facepaint": "^1.2.1"
+ },
+ "peerDependencies": {
+ "next": ">=14",
+ "react": "^18.2.0 || ^19.0.0",
+ "react-dom": "^18.2.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "next": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@keystatic/core": {
+ "version": "0.5.48",
+ "resolved": "https://registry.npmjs.org/@keystatic/core/-/core-0.5.48.tgz",
+ "integrity": "sha512-ar4zHMsG+YpQjIj2JT8utvAyyUN57eXTz0ibAr1MPkhTo75vQvgEzVHfBR65RZHJzmEix6iGbUYq3iJwPcVNfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@braintree/sanitize-url": "^6.0.2",
+ "@emotion/weak-memoize": "^0.3.0",
+ "@floating-ui/react": "^0.24.0",
+ "@internationalized/string": "^3.2.6",
+ "@keystar/ui": "^0.7.19",
+ "@markdoc/markdoc": "^0.4.0",
+ "@react-aria/focus": "^3.20.2",
+ "@react-aria/i18n": "^3.12.8",
+ "@react-aria/interactions": "^3.25.0",
+ "@react-aria/label": "^3.7.17",
+ "@react-aria/overlays": "^3.27.0",
+ "@react-aria/selection": "^3.24.0",
+ "@react-aria/utils": "^3.28.2",
+ "@react-aria/visually-hidden": "^3.8.22",
+ "@react-stately/collections": "^3.12.3",
+ "@react-stately/list": "^3.12.1",
+ "@react-stately/overlays": "^3.6.15",
+ "@react-stately/utils": "^3.10.6",
+ "@react-types/shared": "^3.29.0",
+ "@sindresorhus/slugify": "^1.1.2",
+ "@toeverything/y-indexeddb": "^0.10.0-canary.9",
+ "@ts-gql/tag": "^0.7.3",
+ "@types/react": "^19.0.8",
+ "@urql/core": "^5.0.4",
+ "@urql/exchange-auth": "^2.2.0",
+ "@urql/exchange-graphcache": "^7.1.2",
+ "@urql/exchange-persisted": "^4.3.0",
+ "cookie": "^1.0.0",
+ "emery": "^1.4.1",
+ "escape-string-regexp": "^4.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "graphql": "^16.6.0",
+ "idb-keyval": "^6.2.1",
+ "ignore": "^5.2.4",
+ "is-hotkey": "^0.2.0",
+ "js-yaml": "^4.1.0",
+ "lib0": "^0.2.88",
+ "lru-cache": "^10.2.0",
+ "match-sorter": "^6.3.1",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-gfm-autolink-literal": "^2.0.0",
+ "mdast-util-gfm-strikethrough": "^2.0.0",
+ "mdast-util-gfm-table": "^2.0.0",
+ "mdast-util-mdx": "^3.0.0",
+ "mdast-util-to-markdown": "^2.1.0",
+ "micromark-extension-gfm-autolink-literal": "^2.0.0",
+ "micromark-extension-gfm-strikethrough": "^2.0.0",
+ "micromark-extension-gfm-table": "^2.0.0",
+ "micromark-extension-mdxjs": "^3.0.0",
+ "minimatch": "^9.0.3",
+ "partysocket": "^0.0.22",
+ "prosemirror-commands": "^1.5.1",
+ "prosemirror-history": "^1.3.0",
+ "prosemirror-keymap": "^1.2.1",
+ "prosemirror-model": "^1.19.0",
+ "prosemirror-state": "^1.4.2",
+ "prosemirror-tables": "^1.3.4",
+ "prosemirror-transform": "^1.7.1",
+ "prosemirror-view": "^1.30.2",
+ "scroll-into-view-if-needed": "^3.0.3",
+ "slate": "^0.91.4",
+ "slate-history": "^0.86.0",
+ "slate-react": "^0.91.9",
+ "superstruct": "^1.0.4",
+ "unist-util-visit": "^5.0.0",
+ "urql": "^4.1.0",
+ "y-prosemirror": "^1.2.2",
+ "y-protocols": "^1.0.6",
+ "yjs": "^13.6.11"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0 || ^19.0.0",
+ "react-dom": "^18.2.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@keystatic/core/node_modules/@markdoc/markdoc": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@markdoc/markdoc/-/markdoc-0.4.0.tgz",
+ "integrity": "sha512-fSh4P3Y4E7oaKYc2oNzSIJVPDto7SMzAuQN1Iyx53UxzleA6QzRdNWRxmiPqtVDaDi5dELd2yICoG91csrGrAw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.7.0"
+ },
+ "optionalDependencies": {
+ "@types/markdown-it": "12.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@keystatic/core/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@keystatic/core/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "license": "ISC"
+ },
+ "node_modules/@keystatic/core/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@keystatic/next": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@keystatic/next/-/next-5.0.4.tgz",
+ "integrity": "sha512-48R0ZvjYZAyWyXQh/gTtV29Xs1f0BnB3/NBdTDHgcuWPNT5em9A5KMYsSNHDLhkKdbhlPAIV1T2/6JSzKsyBIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@types/react": "^19.0.8",
+ "chokidar": "^3.5.3",
+ "server-only": "^0.0.1"
+ },
+ "peerDependencies": {
+ "@keystatic/core": "*",
+ "next": ">=14",
+ "react": "^18.2.0 || ^19.0.0",
+ "react-dom": "^18.2.0 || ^19.0.0"
+ }
+ },
"node_modules/@keyv/serialize": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.0.tgz",
@@ -2062,6 +2764,38 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@markdoc/markdoc": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@markdoc/markdoc/-/markdoc-0.5.4.tgz",
+ "integrity": "sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.7.0"
+ },
+ "optionalDependencies": {
+ "@types/linkify-it": "^3.0.1",
+ "@types/markdown-it": "12.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@markdoc/markdoc/node_modules/@types/linkify-it": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz",
+ "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/@napi-rs/wasm-runtime": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
@@ -2653,6 +3387,1606 @@
"url": "https://opencollective.com/pkgr"
}
},
+ "node_modules/@react-aria/actiongroup": {
+ "version": "3.7.20",
+ "resolved": "https://registry.npmjs.org/@react-aria/actiongroup/-/actiongroup-3.7.20.tgz",
+ "integrity": "sha512-a70hN9dntg/m5y7x6vtFKv9zjafpje2mI79aUf5+ujnlJbMOKy/x9ETIby2jOy2W22GJnddPispY9s7QK6VO9Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/list": "^3.13.0",
+ "@react-types/actiongroup": "^3.4.20",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/breadcrumbs": {
+ "version": "3.5.28",
+ "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.28.tgz",
+ "integrity": "sha512-6S3QelpajodEzN7bm49XXW5gGoZksK++cl191W0sexq/E5hZHAEA9+CFC8pL3px13ji7qHGqKAxOP4IUVBdVpQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/link": "^3.8.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/breadcrumbs": "^3.7.16",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/button": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.14.1.tgz",
+ "integrity": "sha512-Ug06unKEYVG3OF6zKmpVR7VfLzpj7eJVuFo3TCUxwFJG7DI28pZi2TaGWnhm7qjkxfl1oz0avQiHVfDC99gSuw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/toolbar": "3.0.0-beta.20",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/toggle": "^3.9.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/calendar": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.9.1.tgz",
+ "integrity": "sha512-dCJliRIi3x3VmAZkJDNTZddq0+QoUX9NS7GgdqPPYcJIMbVPbyLWL61//0SrcCr3MuSRCoI1eQZ8PkQe/2PJZQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/calendar": "^3.8.4",
+ "@react-types/button": "^3.14.0",
+ "@react-types/calendar": "^3.7.4",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/checkbox": {
+ "version": "3.16.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.16.1.tgz",
+ "integrity": "sha512-YcG3QhuGIwqPHo4GVGVmwxPM5Ayq9CqYfZjla/KTfJILPquAJ12J7LSMpqS/Z5TlMNgIIqZ3ZdrYmjQlUY7eUg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/form": "^3.1.1",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/toggle": "^3.12.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/checkbox": "^3.7.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/toggle": "^3.9.1",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/combobox": {
+ "version": "3.13.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.13.2.tgz",
+ "integrity": "sha512-PNyqlaM19A+lKX9hwqkKTXvWDilCKaRH2RdrB/C5AfmGi3bh/IKsu66c8ohgadXB2AIdJB36EOOm3hNh8G9DqQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/listbox": "^3.14.8",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/menu": "^3.19.2",
+ "@react-aria/overlays": "^3.29.1",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/textfield": "^3.18.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/combobox": "^3.11.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/combobox": "^3.13.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/datepicker": {
+ "version": "3.15.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.15.1.tgz",
+ "integrity": "sha512-RfUOvsupON6E5ZELpBgb9qxsilkbqwzsZ78iqCDTVio+5kc5G9jVeHEIQOyHnavi/TmJoAnbmmVpEbE6M9lYJQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@internationalized/number": "^3.6.5",
+ "@internationalized/string": "^3.2.7",
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/form": "^3.1.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/spinbutton": "^3.6.18",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/datepicker": "^3.15.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/calendar": "^3.7.4",
+ "@react-types/datepicker": "^3.13.1",
+ "@react-types/dialog": "^3.5.21",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/dialog": {
+ "version": "3.5.30",
+ "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.30.tgz",
+ "integrity": "sha512-fiodaeMSTiC4qKNwnCLbNykyvfcxuz/PiU/pBNhWYd4lUrX1TauBQb0++o5/K6OHt8iB+A7/LSHRbPtyOSWE9g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/overlays": "^3.29.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/dialog": "^3.5.21",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/dnd": {
+ "version": "3.11.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.11.2.tgz",
+ "integrity": "sha512-xaIUV0zPtUTLIBoE7qlGFPfRTfyDJT78fDzawYq6FwZcjgrl8X408UDCUaKk6xSJRh9UjNn78hil1WDYTLFNWA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/string": "^3.2.7",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/overlays": "^3.29.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/dnd": "^3.7.0",
+ "@react-types/button": "^3.14.0",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/focus": {
+ "version": "3.21.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.21.1.tgz",
+ "integrity": "sha512-hmH1IhHlcQ2lSIxmki1biWzMbGgnhdxJUM0MFfzc71Rv6YAzhlx4kX3GYn4VNcjCeb6cdPv4RZ5vunV4kgMZYQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/form": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.1.1.tgz",
+ "integrity": "sha512-PjZC25UgH5orit9p56Ymbbo288F3eaDd3JUvD8SG+xgx302HhlFAOYsQLLAb4k4H03bp0gWtlUEkfX6KYcE1Tw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/grid": {
+ "version": "3.14.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.14.4.tgz",
+ "integrity": "sha512-l1FLQNKnoHpY4UClUTPUV0AqJ5bfAULEE0ErY86KznWLd+Hqzo7mHLqqDV02CDa/8mIUcdoax/MrYYIbPDlOZA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/grid": "^3.11.5",
+ "@react-stately/selection": "^3.20.5",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/gridlist": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.14.0.tgz",
+ "integrity": "sha512-8NWDaUbPe6ujI+kSvDqr2onPYWlBXiaLCQ6nfYOo+GFKxeVCsv4a2I5HAAoGf9THNQ5b8b8kJa+M0xyL1Z71XA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/grid": "^3.14.4",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/list": "^3.13.0",
+ "@react-stately/tree": "^3.9.2",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/i18n": {
+ "version": "3.12.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.12.tgz",
+ "integrity": "sha512-JN6p+Xc6Pu/qddGRoeYY6ARsrk2Oz7UiQc9nLEPOt3Ch+blJZKWwDjcpo/p6/wVZdD/2BgXS7El6q6+eMg7ibw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@internationalized/message": "^3.1.8",
+ "@internationalized/number": "^3.6.5",
+ "@internationalized/string": "^3.2.7",
+ "@react-aria/ssr": "^3.9.10",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/interactions": {
+ "version": "3.25.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.25.5.tgz",
+ "integrity": "sha512-EweYHOEvMwef/wsiEqV73KurX/OqnmbzKQa2fLxdULbec5+yDj6wVGaRHIzM4NiijIDe+bldEl5DG05CAKOAHA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/ssr": "^3.9.10",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/flags": "^3.1.2",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/label": {
+ "version": "3.7.21",
+ "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.21.tgz",
+ "integrity": "sha512-8G+059/GZahgQbrhMcCcVcrjm7W+pfzrypH/Qkjo7C1yqPGt6geeFwWeOIbiUZoI0HD9t9QvQPryd6m46UC7Tg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/landmark": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@react-aria/landmark/-/landmark-3.0.6.tgz",
+ "integrity": "sha512-dMPBqJWTDAr3Lj5hA+XYDH2PWqtFghYy+y7iq7K5sK/96cub8hZEUjhwn+HGgHsLerPp0dWt293nKupAJnf4Vw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0",
+ "use-sync-external-store": "^1.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/link": {
+ "version": "3.8.5",
+ "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.8.5.tgz",
+ "integrity": "sha512-klhV4roPp5MLRXJv1N+7SXOj82vx4gzVpuwQa3vouA+YI1my46oNzwgtkLGSTvE9OvDqYzPDj2YxFYhMywrkuw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/link": "^3.6.4",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/listbox": {
+ "version": "3.14.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.14.8.tgz",
+ "integrity": "sha512-uRgbuD9afFv0PDhQ/VXCmAwlYctIyKRzxztkqp1p/1yz/tn/hs+bG9kew9AI02PtlRO1mSc+32O+mMDXDer8hA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/list": "^3.13.0",
+ "@react-types/listbox": "^3.7.3",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/live-announcer": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.4.tgz",
+ "integrity": "sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@react-aria/menu": {
+ "version": "3.19.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.19.2.tgz",
+ "integrity": "sha512-WzDLW2MotL0L5/LEwc5oGgISf2ODuw4FnRpF0Zk+J4tKFfC88odvKz848ubBvThRXuXEvL0BHY+WqtM+j9fn3g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/overlays": "^3.29.1",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/menu": "^3.9.7",
+ "@react-stately/selection": "^3.20.5",
+ "@react-stately/tree": "^3.9.2",
+ "@react-types/button": "^3.14.0",
+ "@react-types/menu": "^3.10.4",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/meter": {
+ "version": "3.4.26",
+ "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.26.tgz",
+ "integrity": "sha512-BI+Ri0dkhx9jjf6yPbOLl69M6808Fi08KNEmserMEapy++5usB/8krh9ARuR0GZYUPFOcny0Ml0or/HqamyFvw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/progress": "^3.4.26",
+ "@react-types/meter": "^3.4.12",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/numberfield": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.12.1.tgz",
+ "integrity": "sha512-3KjxGgWiF4GRvIyqrE3nCndkkEJ68v86y0nx89TpAjdzg7gCgdXgU2Lr4BhC/xImrmlqCusw0IBUMhsEq9EQWA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/spinbutton": "^3.6.18",
+ "@react-aria/textfield": "^3.18.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/numberfield": "^3.10.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/numberfield": "^3.8.14",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/overlays": {
+ "version": "3.29.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.29.1.tgz",
+ "integrity": "sha512-Yz92XNPnbrTnxrvNrY/fXJ3iWaYNrj0q24ddvZNNKDcWak0S1/mQeUwNb+PwS2AryhFU5VQqKz5rNsM96TKmPQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/ssr": "^3.9.10",
+ "@react-aria/utils": "^3.30.1",
+ "@react-aria/visually-hidden": "^3.8.27",
+ "@react-stately/overlays": "^3.6.19",
+ "@react-types/button": "^3.14.0",
+ "@react-types/overlays": "^3.9.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/progress": {
+ "version": "3.4.26",
+ "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.26.tgz",
+ "integrity": "sha512-EJBzbE0IjXrJ19ofSyNKDnqC70flUM0Z+9heMRPLi6Uz01o6Uuz9tjyzmoPnd9Q1jnTT7dCl7ydhdYTGsWFcUg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/progress": "^3.5.15",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/radio": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.12.1.tgz",
+ "integrity": "sha512-feZdMJyNp+UX03seIX0W6gdUk8xayTY+U0Ct61eci6YXzyyZoL2PVh49ojkbyZ2UZA/eXeygpdF5sgQrKILHCA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/form": "^3.1.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/radio": "^3.11.1",
+ "@react-types/radio": "^3.9.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/searchfield": {
+ "version": "3.8.8",
+ "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.8.8.tgz",
+ "integrity": "sha512-Yn6esCYEym3Cwrh/OZt6o/RFzsG2zyCAEZf7BhWk6NWUvP6aPwHgoSDVSjDN6YnnPn4yMqkqPnZulHV4+MvE/w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/textfield": "^3.18.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/searchfield": "^3.5.15",
+ "@react-types/button": "^3.14.0",
+ "@react-types/searchfield": "^3.6.5",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/select": {
+ "version": "3.16.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.16.2.tgz",
+ "integrity": "sha512-MwsOJ6FfPxzrLP6spnYg2SUeGKNm4m5vyH6GebecLxTO1ee7/YyTNP1xkrQTqPMP9xx6uqhzFLFuCym2b6ripA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/form": "^3.1.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/listbox": "^3.14.8",
+ "@react-aria/menu": "^3.19.2",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-aria/visually-hidden": "^3.8.27",
+ "@react-stately/select": "^3.7.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/select": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/selection": {
+ "version": "3.25.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.25.1.tgz",
+ "integrity": "sha512-HG+k3rDjuhnXPdVyv9CKiebee2XNkFYeYZBxEGlK3/pFVBzndnc8BXNVrXSgtCHLs2d090JBVKl1k912BPbj0Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/selection": "^3.20.5",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/separator": {
+ "version": "3.4.12",
+ "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.12.tgz",
+ "integrity": "sha512-rvFCPdOPMQKY/Bpv2jNzXtetCuBLYSRCvpzam1LpMaEgwau5yECbId66+M2UX/cscPccKNU537SM6ei2j7RGog==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/spinbutton": {
+ "version": "3.6.18",
+ "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.18.tgz",
+ "integrity": "sha512-dnmh7sNsprhYTpqCJhcuc9QJ9C/IG/o9TkgW5a9qcd2vS+dzEgqAiJKIMbJFG9kiJymv2NwIPysF12IWix+J3A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/button": "^3.14.0",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.9.10",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz",
+ "integrity": "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/switch": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.7.7.tgz",
+ "integrity": "sha512-auV3g1qh+d/AZk7Idw2BOcYeXfCD9iDaiGmlcLJb9Eaz4nkq8vOkQxIXQFrn9Xhb+PfQzmQYKkt5N6P2ZNsw/g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/toggle": "^3.12.1",
+ "@react-stately/toggle": "^3.9.1",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/switch": "^3.5.14",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/table": {
+ "version": "3.17.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.17.7.tgz",
+ "integrity": "sha512-FxXryGTxePgh8plIxlOMwXdleGWjK52vsmbRoqz66lTIHMUMLTmmm+Y0V3lBOIoaW1rxvKcolYgS79ROnbDYBw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/grid": "^3.14.4",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/live-announcer": "^3.4.4",
+ "@react-aria/utils": "^3.30.1",
+ "@react-aria/visually-hidden": "^3.8.27",
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/flags": "^3.1.2",
+ "@react-stately/table": "^3.15.0",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/table": "^3.13.3",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/tabs": {
+ "version": "3.10.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.10.7.tgz",
+ "integrity": "sha512-iA1M6H+N+9GggsEy/6MmxpMpeOocwYgFy2EoEl3it24RVccY6iZT4AweJq96s5IYga5PILpn7VVcpssvhkPgeA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/tabs": "^3.8.5",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/tabs": "^3.3.18",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/tag": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.7.1.tgz",
+ "integrity": "sha512-VpF26ez+QmEzTK8E9tXZ4cofa1wocjnIo/Bd1LCXgLCytnHAkYGxeIRm5QbznJ0aF/9UgR1QtMqhyRrCZg9QqA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/gridlist": "^3.14.0",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/selection": "^3.25.1",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/list": "^3.13.0",
+ "@react-types/button": "^3.14.0",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/textfield": {
+ "version": "3.18.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.18.1.tgz",
+ "integrity": "sha512-8yCoirnQzbbQgdk5J5bqimEu3GhHZ9FXeMHez1OF+H+lpTwyTYQ9XgioEN3HKnVUBNEufG4lYkQMxTKJdq1v9g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/form": "^3.1.1",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/label": "^3.7.21",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/textfield": "^3.12.5",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/toast": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/toast/-/toast-3.0.2.tgz",
+ "integrity": "sha512-iaiHDE1CKYM3BbNEp3A2Ed8YAlpXUGyY6vesKISdHEZ2lJ7r+1hbcFoTNdG8HfbB8Lz5vw8Wd2o+ZmQ2tnDY9Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.8",
+ "@react-aria/interactions": "^3.25.0",
+ "@react-aria/landmark": "^3.0.2",
+ "@react-aria/utils": "^3.28.2",
+ "@react-stately/toast": "^3.1.0",
+ "@react-types/button": "^3.12.0",
+ "@react-types/shared": "^3.29.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/toggle": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.12.1.tgz",
+ "integrity": "sha512-XaFiRs1KEcIT6bTtVY/KTQxw4kinemj/UwXw2iJTu9XS43hhJ/9cvj8KzNGrKGqaxTpOYj62TnSHZbSiFViHDA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/toggle": "^3.9.1",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/toolbar": {
+ "version": "3.0.0-beta.20",
+ "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.20.tgz",
+ "integrity": "sha512-Kxvqw+TpVOE/eSi8RAQ9xjBQ2uXe8KkRvlRNQWQsrzkZDkXhzqGfQuJnBmozFxqpzSLwaVqQajHFUSvPAScT8Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/focus": "^3.21.1",
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/tooltip": {
+ "version": "3.8.7",
+ "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.8.7.tgz",
+ "integrity": "sha512-Aj7DPJYGZ9/+2ZfhkvbN7YMeA5qu4oy4LVQiMCpqNwcFzvhTAVhN7J7cS6KjA64fhd1shKm3BZ693Ez6lSpqwg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/tooltip": "^3.5.7",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/tooltip": "^3.4.20",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/utils": {
+ "version": "3.30.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.30.1.tgz",
+ "integrity": "sha512-zETcbDd6Vf9GbLndO6RiWJadIZsBU2MMm23rBACXLmpRztkrIqPEb2RVdlLaq1+GklDx0Ii6PfveVjx+8S5U6A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/ssr": "^3.9.10",
+ "@react-stately/flags": "^3.1.2",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^2.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/virtualizer": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.1.9.tgz",
+ "integrity": "sha512-LN5MfnM/fpZegzkqciipyAvPzbi4DNOGGCh98hVlpIT8IdTm0gNW1Ho2vza15EFcYgt9iinCZ9lhLT5HmE2ZtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/i18n": "^3.12.12",
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-stately/virtualizer": "^4.4.3",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-aria/visually-hidden": {
+ "version": "3.8.27",
+ "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.27.tgz",
+ "integrity": "sha512-hD1DbL3WnjPnCdlQjwe19bQVRAGJyN0Aaup+s7NNtvZUn7AjoEH78jo8TE+L8yM7z/OZUQF26laCfYqeIwWn4g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/interactions": "^3.25.5",
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/calendar": {
+ "version": "3.8.4",
+ "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.8.4.tgz",
+ "integrity": "sha512-q9mq0ydOLS5vJoHLnYfSCS/vppfjbg0XHJlAoPR+w+WpYZF4wPP453SrlX9T1DbxCEYFTpcxcMk/O8SDW3miAw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/calendar": "^3.7.4",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/checkbox": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.7.1.tgz",
+ "integrity": "sha512-ezfKRJsDuRCLtNoNOi9JXCp6PjffZWLZ/vENW/gbRDL8i46RKC/HpfJrJhvTPmsLYazxPC99Me9iq3v0VoNCsw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/collections": {
+ "version": "3.12.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.12.7.tgz",
+ "integrity": "sha512-0kQc0mI986GOCQHvRy4L0JQiotIK/KmEhR9Mu/6V0GoSdqg5QeUe4kyoNWj3bl03uQXme80v0L2jLHt+fOHHjA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/combobox": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.11.1.tgz",
+ "integrity": "sha512-ZZh+SaAmddoY+MeJr470oDYA0nGaJm4xoHCBapaBA0JNakGC/wTzF/IRz3tKQT2VYK4rumr1BJLZQydGp7zzeg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/list": "^3.13.0",
+ "@react-stately/overlays": "^3.6.19",
+ "@react-stately/select": "^3.7.1",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/combobox": "^3.13.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/data": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.14.0.tgz",
+ "integrity": "sha512-3GUsOXatYohBX2wTQHnJKVQlFfYXnt7IoDDuIaUeM8kXlF+dRSFAOAfPUSGAph6lJz2ht4dq1SEl6ZL/u+dRlQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/datepicker": {
+ "version": "3.15.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.15.1.tgz",
+ "integrity": "sha512-t64iYPms9y+MEQgOAu0XUHccbEXWVUWBHJWnYvAmILCHY8ZAOeSPAT1g4v9nzyiApcflSNXgpsvbs9BBEsrWww==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@internationalized/string": "^3.2.7",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/overlays": "^3.6.19",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/datepicker": "^3.13.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/dnd": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.7.0.tgz",
+ "integrity": "sha512-DddpCVkqt6vUPHLqe/2FHxW/gkR4tEt7W0MbFcCeCLbc9lmvzOClPwNpjmU/3UnU+vPQnwGGUeF3HvaxduUq2Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/selection": "^3.20.5",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/flags": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz",
+ "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@react-stately/form": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.2.1.tgz",
+ "integrity": "sha512-btgOPXkwvd6fdWKoepy5Ue43o2932OSkQxozsR7US1ffFLcQc3SNlADHaRChIXSG8ffPo9t0/Sl4eRzaKu3RgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/grid": {
+ "version": "3.11.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.11.5.tgz",
+ "integrity": "sha512-4cNjGYaNkcVS2wZoNHUrMRICBpkHStYw57EVemP7MjiWEVu53kzPgR1Iwmti2WFCpi1Lwu0qWNeCfzKpXW4BTg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/selection": "^3.20.5",
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/layout": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.5.0.tgz",
+ "integrity": "sha512-giN20XXxSjOG/pRSdzKkHhIFochl0Wer2aWCYceXRNSoP0dTPNU7bjn2p3n3atVRdC9iZpmwIiASO5qDf89sLQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/table": "^3.15.0",
+ "@react-stately/virtualizer": "^4.4.3",
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/table": "^3.13.3",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/list": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.13.0.tgz",
+ "integrity": "sha512-Panv8TmaY8lAl3R7CRhyUadhf2yid6VKsRDBCBB1FHQOOeL7lqIraz/oskvpabZincuaIUWqQhqYslC4a6dvuA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/selection": "^3.20.5",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/menu": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.9.7.tgz",
+ "integrity": "sha512-mfz1YoCgtje61AGxVdQaAFLlOXt9vV5dd1lQljYUPRafA/qu5Ursz4fNVlcavWW9GscebzFQErx+y0oSP7EUtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.19",
+ "@react-types/menu": "^3.10.4",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/numberfield": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.10.1.tgz",
+ "integrity": "sha512-lXABmcTneVvXYMGTgZvTCr4E+upOi7VRLL50ZzTMJqHwB/qlEQPAam3dmddQRwIsuCM3MEnL7bSZFFlSYAtkEw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/number": "^3.6.5",
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/numberfield": "^3.8.14",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/overlays": {
+ "version": "3.6.19",
+ "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.19.tgz",
+ "integrity": "sha512-swZXfDvxTYd7tKEpijEHBFFaEmbbnCvEhGlmrAz4K72cuRR9O5u+lcla8y1veGBbBSzrIdKNdBoIIJ+qQH+1TQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/overlays": "^3.9.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/radio": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.11.1.tgz",
+ "integrity": "sha512-ld9KWztI64gssg7zSZi9li21sG85Exb+wFPXtCim1TtpnEpmRtB05pXDDS3xkkIU/qOL4eMEnnLO7xlNm0CRIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/radio": "^3.9.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/searchfield": {
+ "version": "3.5.15",
+ "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.15.tgz",
+ "integrity": "sha512-6LVVvm6Z60fetYLLa4B2Q/BIY+fSSknLTw8sjlV+iDEPAknj7MqWtoLz2gSQRTFKvyO7ZCjJoar8ZU/JEqcm+w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/searchfield": "^3.6.5",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/select": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.7.1.tgz",
+ "integrity": "sha512-vZt4j9yVyOTWWJoP9plXmYaPZH2uMxbjcGMDbiShwsFiK8C2m9b3Cvy44TZehfzCWzpMVR/DYxEYuonEIGA82Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/form": "^3.2.1",
+ "@react-stately/list": "^3.13.0",
+ "@react-stately/overlays": "^3.6.19",
+ "@react-types/select": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/selection": {
+ "version": "3.20.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.20.5.tgz",
+ "integrity": "sha512-YezWUNEn2pz5mQlbhmngiX9HqQsruLSXlkrAzB1DD6aliGrUvPKufTTGCixOaB8KVeCamdiFAgx1WomNplzdQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/table": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.15.0.tgz",
+ "integrity": "sha512-KbvkrVF3sb25IPwyte9JcG5/4J7TgjHSsw7D61d/T/oUFMYPYVeolW9/2y+6u48WPkDJE8HJsurme+HbTN0FQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/flags": "^3.1.2",
+ "@react-stately/grid": "^3.11.5",
+ "@react-stately/selection": "^3.20.5",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/table": "^3.13.3",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/tabs": {
+ "version": "3.8.5",
+ "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.8.5.tgz",
+ "integrity": "sha512-gdeI+NUH3hfqrxkJQSZkt+Zw4G2DrYJRloq/SGxu/9Bu5QD/U0psU2uqxQNtavW5qTChFK+D30rCPXpKlslWAA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/list": "^3.13.0",
+ "@react-types/shared": "^3.32.0",
+ "@react-types/tabs": "^3.3.18",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/toast": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/toast/-/toast-3.1.0.tgz",
+ "integrity": "sha512-9W2+evz+EARrjkR1QPLlOL5lcNpVo6PjMAIygRSaCPJ6ftQAZ6B+7xTFGPFabWh83gwXQDUgoSwC3/vosvxZaQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0",
+ "use-sync-external-store": "^1.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/toggle": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.9.1.tgz",
+ "integrity": "sha512-L6yUdE8xZfQhw4aEFZduF8u4v0VrpYrwWEA4Tu/4qwGIPukH0wd2W21Zpw+vAiLOaDKnxel1nXX68MWnm4QXpw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/checkbox": "^3.10.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/tooltip": {
+ "version": "3.5.7",
+ "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.5.7.tgz",
+ "integrity": "sha512-GYh764BcYZz+Lclyutyir5I3elNo+vVNYzeNOKmPGZCE3p5B+/8lgZAHKxnRc9qmBlxvofnhMcuQxAPlBhoEkw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.19",
+ "@react-types/tooltip": "^3.4.20",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/tree": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.9.2.tgz",
+ "integrity": "sha512-jsT1WZZhb7GRmg1iqoib9bULsilIK5KhbE8WrcfIml8NYr4usP4DJMcIYfRuiRtPLhKtUvHSoZ5CMbinPp8PUQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-stately/collections": "^3.12.7",
+ "@react-stately/selection": "^3.20.5",
+ "@react-stately/utils": "^3.10.8",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/utils": {
+ "version": "3.10.8",
+ "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.8.tgz",
+ "integrity": "sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-stately/virtualizer": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.4.3.tgz",
+ "integrity": "sha512-kk6ZyMtOT51kZYGUjUhbgEdRBp/OR3WD+Vj9kFoCa1vbY+fGzbpcnjsvR2LDZuEq8W45ruOvdr1c7HRJG4gWxA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-aria/utils": "^3.30.1",
+ "@react-types/shared": "^3.32.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/actionbar": {
+ "version": "3.1.18",
+ "resolved": "https://registry.npmjs.org/@react-types/actionbar/-/actionbar-3.1.18.tgz",
+ "integrity": "sha512-BA5zINFIOlBohTE374uBUryBq80JzH314UGVrhRdd6pzMV9s5tk8+/VPZ9a1wCItaWA865CJvZAFF1Hz3y8ifg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/actiongroup": {
+ "version": "3.4.20",
+ "resolved": "https://registry.npmjs.org/@react-types/actiongroup/-/actiongroup-3.4.20.tgz",
+ "integrity": "sha512-D6K4zUrTdharGlG24iGJfOl0/8AjLqZCBoOHD5nXkdm0obWva1jBwtCRee2WblCazVnaDedGYDPODAwyEatFDA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/breadcrumbs": {
+ "version": "3.7.16",
+ "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.16.tgz",
+ "integrity": "sha512-4J+7b9y6z8QGZqvsBSWQfebx6aIbc+1unQqnZCAlJl9EGzlI6SGdXRsURGkOUGJCV2GqY8bSocc8AZbRXpQ0XQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/link": "^3.6.4",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/button": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.14.0.tgz",
+ "integrity": "sha512-pXt1a+ElxiZyWpX0uznyjy5Z6EHhYxPcaXpccZXyn6coUo9jmCbgg14xR7Odo+JcbfaaISzZTDO7oGLVTcHnpA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/calendar": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.7.4.tgz",
+ "integrity": "sha512-MZDyXtvdHl8CKQGYBkjYwc4ABBq6Mb4Fu7k/4boQAmMQ5Rtz29ouBCJrAs0BpR14B8ZMGzoNIolxS5RLKBmFSA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/checkbox": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.10.1.tgz",
+ "integrity": "sha512-8ZqBoGBxtn6U/znpmyutGtBBaafUzcZnbuvYjwyRSONTrqQ0IhUq6jI/jbnE9r9SslIkbMB8IS1xRh2e63qmEQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/combobox": {
+ "version": "3.13.8",
+ "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.8.tgz",
+ "integrity": "sha512-HGC3X9hmDRsjSZcFiflvJ7vbIgQ2gX/ZDxo1HVtvQqUDbgQCVakCcCdrB44aYgHFnyDiO6hyp7Y7jXtDBaEIIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/datepicker": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.13.1.tgz",
+ "integrity": "sha512-ub+g5pS3WOo5P/3FRNsQSwvlb9CuLl2m6v6KBkRXc5xqKhFd7UjvVpL6Oi/1zwwfow4itvD1t7l1XxgCo7wZ6Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@internationalized/date": "^3.9.0",
+ "@react-types/calendar": "^3.7.4",
+ "@react-types/overlays": "^3.9.1",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/dialog": {
+ "version": "3.5.21",
+ "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.21.tgz",
+ "integrity": "sha512-jF1gN4bvwYamsLjefaFDnaSKxTa3Wtvn5f7WLjNVZ8ICVoiMBMdUJXTlPQHAL4YWqtCj4hK/3uimR1E+Pwd7Xw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/overlays": "^3.9.1",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/grid": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.3.5.tgz",
+ "integrity": "sha512-hG6J2KDfmOHitkWoCa/9DvY1nTO2wgMIApcFoqLv7AWJr9CzvVqo5tIhZZCXiT1AvU2kafJxu9e7sr5GxAT2YA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/link": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.6.4.tgz",
+ "integrity": "sha512-eLpIgOPf7GW4DpdMq8UqiRJkriend1kWglz5O9qU+/FM6COtvRnQkEeRhHICUaU2NZUvMRQ30KaGUo3eeZ6b+g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/listbox": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.7.3.tgz",
+ "integrity": "sha512-ONgror9uyGmIer5XxpRRNcc8QFVWiOzINrMKyaS8G4l3aP52ZwYpRfwMAVtra8lkVNvXDmO7hthPZkB6RYdNOA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/menu": {
+ "version": "3.10.4",
+ "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.10.4.tgz",
+ "integrity": "sha512-jCFVShLq3eASiuznenjoKBv3j0Jy2KQilAjBxdEp56WkZ5D338y/oY5zR6d25u9M0QslpI0DgwC8BwU7MCsPnw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/overlays": "^3.9.1",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/meter": {
+ "version": "3.4.12",
+ "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.12.tgz",
+ "integrity": "sha512-rx+yrwdesSabPworWRMpQnuT69gm8xt58cAfTDV9eSY1Jo+lO5OPp0OIyKb+U0q/whf60wnn2hsVnXm2fBXKhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/progress": "^3.5.15"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/numberfield": {
+ "version": "3.8.14",
+ "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.14.tgz",
+ "integrity": "sha512-tlGEHJyeQSMlUoO4g9ekoELGJcqsjc/+/FAxo6YQMhQSkuIdkUKZg3UEBKzif4hLw787u80e1D0SxPUi3KO2oA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/overlays": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.9.1.tgz",
+ "integrity": "sha512-UCG3TOu8FLk4j0Pr1nlhv0opcwMoqbGEOUvsSr6ITN6Qs2y0j+KYSYQ7a4+04m3dN//8+9Wjkkid8k+V1dV2CA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/progress": {
+ "version": "3.5.15",
+ "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.15.tgz",
+ "integrity": "sha512-3SYvEyRt7vq7w0sc6wBYmkPqLMZbhH8FI3Lrnn9r3y8+69/efRjVmmJvwjm1z+c6rukszc2gCjUGTsMPQxVk2w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/radio": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.9.1.tgz",
+ "integrity": "sha512-DUCN3msm8QZ0MJrP55FmqMONaadYq6JTxihYFGMLP+NoKRnkxvXqNZ2PlkAOLGy3y4RHOnOF8O1LuJqFCCuxDw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/searchfield": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.6.5.tgz",
+ "integrity": "sha512-5hI+Hb1U0bSxrJLvEwFEQfk7n3S+GO4c5W/0WZBG00YlYDY9asr1V0oU1WRmKPJJlRpyfG6PkMHDC3jhdj89ew==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0",
+ "@react-types/textfield": "^3.12.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/select": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.10.1.tgz",
+ "integrity": "sha512-teANUr1byOzGsS/r2j7PatV470JrOhKP8En9lscfnqW5CeUghr+0NxkALnPkiEhCObi/Vu8GIcPareD0HNhtFA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/shared": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.32.0.tgz",
+ "integrity": "sha512-t+cligIJsZYFMSPFMvsJMjzlzde06tZMOIOFa1OV5Z0BcMowrb2g4mB57j/9nP28iJIRYn10xCniQts+qadrqQ==",
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/switch": {
+ "version": "3.5.14",
+ "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.14.tgz",
+ "integrity": "sha512-M8kIv97i+ejCel4Ho+Y7tDbpOehymGwPA4ChxibeyD32+deyxu5B6BXxgKiL3l+oTLQ8ihLo3sRESdPFw8vpQg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/table": {
+ "version": "3.13.3",
+ "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.13.3.tgz",
+ "integrity": "sha512-/kY/VlXN+8l9saySd6igcsDQ3x8pOVFJAWyMh6gOaOVN7HOJkTMIchmqS+ATa4nege8jZqcdzyGeAmv7mN655A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/grid": "^3.3.5",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/tabs": {
+ "version": "3.3.18",
+ "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.18.tgz",
+ "integrity": "sha512-yX/AVlGS7VXCuy2LSm8y8nxUrKVBgnLv+FrtkLqf6jUMtD4KP3k1c4+GPHeScR0HcYzCQF7gCF3Skba1RdYoug==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/textfield": {
+ "version": "3.12.5",
+ "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.12.5.tgz",
+ "integrity": "sha512-VXez8KIcop87EgIy00r+tb30xokA309TfJ32Qv5qOYB5SMqoHnb6SYvWL8Ih2PDqCo5eBiiGesSaWYrHnRIL8Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
+ "node_modules/@react-types/tooltip": {
+ "version": "3.4.20",
+ "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.20.tgz",
+ "integrity": "sha512-tF1yThwvgSgW8Gu/CLL0p92AUldHR6szlwhwW+ewT318sQlfabMGO4xlCNFdxJYtqTpEXk2rlaVrBuaC//du0w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@react-types/overlays": "^3.9.1",
+ "@react-types/shared": "^3.32.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ }
+ },
"node_modules/@rtsao/scc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
@@ -2667,6 +5001,47 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@sindresorhus/slugify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz",
+ "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/transliterate": "^0.1.1",
+ "escape-string-regexp": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@sindresorhus/transliterate": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz",
+ "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0",
+ "lodash.deburr": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@swc/helpers": {
"version": "0.5.15",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
@@ -2676,6 +5051,51 @@
"tslib": "^2.8.0"
}
},
+ "node_modules/@toeverything/y-indexeddb": {
+ "version": "0.10.0-canary.9",
+ "resolved": "https://registry.npmjs.org/@toeverything/y-indexeddb/-/y-indexeddb-0.10.0-canary.9.tgz",
+ "integrity": "sha512-3hzktNuOaXut/RgRjKNeqQura1zeYF+tSLSlWDc0rDBOrEpwD/1EOpKVCbgtl8ke7f4oinLfgBNk4HcwqaQUYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "idb": "^7.1.1",
+ "nanoid": "^5.0.1",
+ "y-provider": "0.10.0-canary.9"
+ },
+ "peerDependencies": {
+ "yjs": "^13"
+ }
+ },
+ "node_modules/@toeverything/y-indexeddb/node_modules/nanoid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz",
+ "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^18 || >=20"
+ }
+ },
+ "node_modules/@ts-gql/tag": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/@ts-gql/tag/-/tag-0.7.3.tgz",
+ "integrity": "sha512-qWBoe5TGXs7l6lrdSfqAhsZP1aW9vEoZvjy5hPsiMwQ7VB8PyK2TFmLCijLmdeKSiY7BSzff20xZZrLIMB+IKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "graphql-tag": "^2.12.6"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || 14 || 15 || 16"
+ }
+ },
"node_modules/@tybys/wasm-util": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz",
@@ -2701,7 +5121,6 @@
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/ms": "*"
@@ -2711,14 +5130,12 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/estree-jsx": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
"integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "*"
@@ -2728,7 +5145,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "*"
@@ -2741,6 +5157,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/is-hotkey": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/@types/is-hotkey/-/is-hotkey-0.1.10.tgz",
+ "integrity": "sha512-RvC8KMw5BCac1NvRRyaHgMMEtBaZ6wh0pyPTBu7izn4Sj/AX9Y4aXU5c7rX8PnM/knsuUpC1IeoBkANtxBypsQ==",
+ "license": "MIT"
+ },
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -2755,21 +5177,50 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/markdown-it": {
+ "version": "12.2.3",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
+ "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/linkify-it": "*",
+ "@types/mdurl": "*"
+ }
+ },
"node_modules/@types/mdast": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
"integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/node": {
@@ -2782,11 +5233,16 @@
"undici-types": "~6.21.0"
}
},
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+ "license": "MIT"
+ },
"node_modules/@types/react": {
"version": "19.1.12",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz",
"integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"csstype": "^3.0.2"
@@ -2813,7 +5269,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
"integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "dev": true,
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
@@ -3373,6 +5828,56 @@
"win32"
]
},
+ "node_modules/@urql/core": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.2.0.tgz",
+ "integrity": "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==",
+ "license": "MIT",
+ "dependencies": {
+ "@0no-co/graphql.web": "^1.0.13",
+ "wonka": "^6.3.2"
+ }
+ },
+ "node_modules/@urql/exchange-auth": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@urql/exchange-auth/-/exchange-auth-2.2.1.tgz",
+ "integrity": "sha512-n4xUxxjvY36GJh539sLaPFyvFzreADOv8EFQdTiXOCIRVoXXhWVVI7DjY/HNtLICfbg1+UlbvQ7sNkwaBouDHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@urql/core": "^5.1.1",
+ "wonka": "^6.3.2"
+ },
+ "peerDependencies": {
+ "@urql/core": "^5.0.0"
+ }
+ },
+ "node_modules/@urql/exchange-graphcache": {
+ "version": "7.2.4",
+ "resolved": "https://registry.npmjs.org/@urql/exchange-graphcache/-/exchange-graphcache-7.2.4.tgz",
+ "integrity": "sha512-kiKbT0ZrtyQmmgNLYR0qkZAJjWHQOtrd+6Dt9JMtm3L/A8r3D6ptcJn668BADP6J+vkxcfNFtdI+0OdmBBkRgw==",
+ "license": "MIT",
+ "dependencies": {
+ "@0no-co/graphql.web": "^1.0.13",
+ "@urql/core": "^5.1.2",
+ "wonka": "^6.3.2"
+ },
+ "peerDependencies": {
+ "@urql/core": "^5.0.0"
+ }
+ },
+ "node_modules/@urql/exchange-persisted": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@urql/exchange-persisted/-/exchange-persisted-4.3.1.tgz",
+ "integrity": "sha512-VRGYFNW0gaT7+VCR/1rCMWEP9gvnDnlAolKisysLYkv8Zeysbqx+Omw4IgIRCLjI6oHWPkH8zOhFbqA3GRQ9HQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@urql/core": "^5.1.1",
+ "wonka": "^6.3.2"
+ },
+ "peerDependencies": {
+ "@urql/core": "^5.0.0"
+ }
+ },
"node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
@@ -3387,7 +5892,6 @@
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
- "dev": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@@ -3400,7 +5904,6 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
@@ -3449,13 +5952,37 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
"license": "Python-2.0"
},
+ "node_modules/aria-hidden": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+ "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/aria-query": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
@@ -3737,6 +6264,46 @@
"node": ">= 0.4"
}
},
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/babel-plugin-macros/node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/babel-plugin-macros/node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/bail": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
@@ -3752,9 +6319,20 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
"license": "MIT"
},
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -3770,7 +6348,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
@@ -3894,12 +6471,21 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/caniuse-lite": {
"version": "1.0.30001739",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz",
@@ -3924,7 +6510,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -3952,7 +6537,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -3963,7 +6547,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
"integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -3974,7 +6557,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -3985,13 +6567,48 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/ci-info": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
@@ -4014,6 +6631,15 @@
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
"license": "MIT"
},
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
@@ -4076,6 +6702,12 @@
"node": ">=18"
}
},
+ "node_modules/compute-scroll-into-view": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz",
+ "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==",
+ "license": "MIT"
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -4099,6 +6731,21 @@
"typedarray": "^0.0.6"
}
},
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "license": "MIT"
+ },
+ "node_modules/cookie": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
+ "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/cosmiconfig": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
@@ -4276,7 +6923,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true,
"license": "MIT"
},
"node_modules/damerau-levenshtein": {
@@ -4344,7 +6990,6 @@
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -4358,11 +7003,16 @@
}
}
},
+ "node_modules/decimal.js": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+ "license": "MIT"
+ },
"node_modules/decode-named-character-reference": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
"integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
- "dev": true,
"license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
@@ -4419,7 +7069,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -4439,7 +7088,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"dequal": "^2.0.0"
@@ -4472,6 +7120,19 @@
"node": ">=8"
}
},
+ "node_modules/direction": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz",
+ "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==",
+ "license": "MIT",
+ "bin": {
+ "direction": "cli.js"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/doctrine": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
@@ -4577,6 +7238,12 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/emery": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/emery/-/emery-1.4.4.tgz",
+ "integrity": "sha512-mMoO3uGDoiw/DmZ/YekT9gEoC0IFAXNWzYVukY8+/j0Wt8un1IDraIYGx+cMbRh+fHaCDE6Ui7zFAN8ezZSsAA==",
+ "license": "MIT"
+ },
"node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
@@ -4619,7 +7286,6 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
@@ -4629,7 +7295,6 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true,
"license": "MIT"
},
"node_modules/es-abstract": {
@@ -4823,7 +7488,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -5319,7 +7983,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
"integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -5330,7 +7993,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz",
"integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
@@ -5351,6 +8013,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/event-target-shim": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-6.0.2.tgz",
+ "integrity": "sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -5358,11 +8032,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/facepaint": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/facepaint/-/facepaint-1.2.1.tgz",
+ "integrity": "sha512-oNvBekbhsm/0PNSOWca5raHNAi6dG960Bx6LJgxDPNF59WpuspgQ17bN5MKwOr7JcFdQYc7StW3VZ28DBZLavQ==",
+ "license": "MIT"
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
"license": "MIT"
},
"node_modules/fast-glob": {
@@ -5477,7 +8156,6 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -5486,6 +8164,12 @@
"node": ">=8"
}
},
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "license": "MIT"
+ },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -5580,11 +8264,24 @@
"url": "https://github.com/sponsors/rawify"
}
},
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5870,6 +8567,53 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/graphql": {
+ "version": "16.11.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz",
+ "integrity": "sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-ansi/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/has-bigints": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
@@ -5955,7 +8699,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -6025,21 +8768,41 @@
"entities": "^4.4.0"
}
},
+ "node_modules/idb": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
+ "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==",
+ "license": "ISC"
+ },
+ "node_modules/idb-keyval": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.2.tgz",
+ "integrity": "sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==",
+ "license": "Apache-2.0"
+ },
"node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 4"
}
},
+ "node_modules/immer": {
+ "version": "9.0.21",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
+ "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
"node_modules/import-fresh": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
@@ -6102,11 +8865,22 @@
"node": ">= 0.4"
}
},
+ "node_modules/intl-messageformat": {
+ "version": "10.7.16",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.16.tgz",
+ "integrity": "sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/fast-memoize": "2.2.7",
+ "@formatjs/icu-messageformat-parser": "2.11.2",
+ "tslib": "^2.8.0"
+ }
+ },
"node_modules/is-alphabetical": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -6117,7 +8891,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-alphabetical": "^2.0.0",
@@ -6189,6 +8962,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-boolean-object": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
@@ -6233,7 +9018,6 @@
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
@@ -6284,7 +9068,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -6302,7 +9085,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6357,7 +9139,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
@@ -6370,13 +9151,18 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/is-hotkey": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz",
+ "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==",
+ "license": "MIT"
+ },
"node_modules/is-map": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
@@ -6407,7 +9193,6 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -6447,7 +9232,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6612,6 +9396,16 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/isomorphic.js": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz",
+ "integrity": "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==",
+ "license": "MIT",
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
"node_modules/iterator.prototype": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
@@ -6646,18 +9440,23 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/js-base64": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+ "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -6666,6 +9465,18 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
@@ -6677,7 +9488,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true,
"license": "MIT"
},
"node_modules/json-schema-traverse": {
@@ -6794,11 +9604,31 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lib0": {
+ "version": "0.2.114",
+ "resolved": "https://registry.npmjs.org/lib0/-/lib0-0.2.114.tgz",
+ "integrity": "sha512-gcxmNFzA4hv8UYi8j43uPlQ7CGcyMJ2KQb5kZASw6SnAKAf10hK12i2fjrS3Cl/ugZa5Ui6WwIu1/6MIXiHttQ==",
+ "license": "MIT",
+ "dependencies": {
+ "isomorphic.js": "^0.2.4"
+ },
+ "bin": {
+ "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js",
+ "0gentesthtml": "bin/gentesthtml.js",
+ "0serve": "bin/0serve.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true,
"license": "MIT"
},
"node_modules/load-plugin": {
@@ -6832,6 +9662,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "license": "MIT"
+ },
+ "node_modules/lodash.deburr": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
+ "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==",
+ "license": "MIT"
+ },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -6850,7 +9692,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
"integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -6884,13 +9725,22 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
"integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/match-sorter": {
+ "version": "6.3.4",
+ "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz",
+ "integrity": "sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.8",
+ "remove-accents": "0.5.0"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -6916,7 +9766,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
"integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -6933,7 +9782,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -6946,7 +9794,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
"integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7023,7 +9870,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
"integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7059,7 +9905,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7075,7 +9920,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7110,7 +9954,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
"integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"mdast-util-from-markdown": "^2.0.0",
@@ -7128,7 +9971,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
"integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
@@ -7147,7 +9989,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
"integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
@@ -7172,7 +10013,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
"integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree-jsx": "^1.0.0",
@@ -7191,7 +10031,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
"integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7206,7 +10045,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
"integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
@@ -7228,7 +10066,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0"
@@ -7272,7 +10109,6 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
"integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7308,7 +10144,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
"integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7381,7 +10216,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
@@ -7419,7 +10253,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
"integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
@@ -7438,7 +10271,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
@@ -7488,7 +10320,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz",
"integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7515,7 +10346,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz",
"integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
@@ -7538,7 +10368,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz",
"integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"micromark-util-types": "^2.0.0"
@@ -7552,7 +10381,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz",
"integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"acorn": "^8.0.0",
@@ -7573,7 +10401,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz",
"integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
@@ -7595,7 +10422,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
"integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7617,7 +10443,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
"integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7640,7 +10465,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz",
"integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7668,7 +10492,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
"integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7689,7 +10512,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
"integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7712,7 +10534,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
"integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7735,7 +10556,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
"integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7756,7 +10576,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
"integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7776,7 +10595,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
"integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7798,7 +10616,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
"integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7819,7 +10636,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
"integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7839,7 +10655,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
"integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7862,7 +10677,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
"integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7879,7 +10693,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz",
"integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7905,7 +10718,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
"integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7922,7 +10734,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
"integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7942,7 +10753,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
"integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7962,7 +10772,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
"integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -7984,7 +10793,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
"integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -8007,7 +10815,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
"integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -8024,7 +10831,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
"integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
- "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -8098,7 +10904,6 @@
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
"license": "MIT"
},
"node_modules/nanoid": {
@@ -8264,7 +11069,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -8476,6 +11280,12 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/orderedmap": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz",
+ "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==",
+ "license": "MIT"
+ },
"node_modules/own-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
@@ -8537,7 +11347,6 @@
"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,
"license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
@@ -8550,7 +11359,6 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
"integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^2.0.0",
@@ -8570,14 +11378,12 @@
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "dev": true,
"license": "MIT"
},
"node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.0.0",
@@ -8592,6 +11398,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/partysocket": {
+ "version": "0.0.22",
+ "resolved": "https://registry.npmjs.org/partysocket/-/partysocket-0.0.22.tgz",
+ "integrity": "sha512-HmFJoVA48vfU5VaQ539YnQt+/QncV5wdlN7vEW//m8eCnOV2PKB8X08c7hI4VLrqntajaWovHhprWHgXbXgR1A==",
+ "license": "ISC",
+ "dependencies": {
+ "event-target-shim": "^6.0.2"
+ }
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -8616,7 +11431,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true,
"license": "MIT"
},
"node_modules/path-scurry": {
@@ -8640,7 +11454,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -8656,7 +11469,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -8714,6 +11526,42 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/postcss-apply": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/postcss-apply/-/postcss-apply-0.12.0.tgz",
+ "integrity": "sha512-u8qZLyA9P86cD08IhqjSVV8tf1eGiKQ4fPvjcG3Ic/eOU65EAkDQClp8We7d15TG+RIWRVPSy9v7cJ2D9OReqw==",
+ "dev": true,
+ "license": "Unlicense",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "postcss": "^7.0.14"
+ }
+ },
+ "node_modules/postcss-apply/node_modules/picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/postcss-apply/node_modules/postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
"node_modules/postcss-attribute-case-insensitive": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz",
@@ -8982,6 +11830,26 @@
"postcss": "^8.4"
}
},
+ "node_modules/postcss-easings": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-easings/-/postcss-easings-4.0.0.tgz",
+ "integrity": "sha512-KNpwHA3mTnf0UWcdwahQDaz7DDJ6QteVwdlLff98se854p6pyQW9iofwrD05vtlp33AAAxuUGCOhYwERRJGy6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
"node_modules/postcss-focus-visible": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz",
@@ -9137,6 +12005,26 @@
"postcss": "^8.0.0"
}
},
+ "node_modules/postcss-js": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
"node_modules/postcss-lab-function": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.11.tgz",
@@ -9193,6 +12081,35 @@
"postcss": "^8.4"
}
},
+ "node_modules/postcss-mixins": {
+ "version": "12.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-mixins/-/postcss-mixins-12.1.2.tgz",
+ "integrity": "sha512-90pSxmZVfbX9e5xCv7tI5RV1mnjdf16y89CJKbf/hD7GyOz1FCxcYMl8ZYA8Hc56dbApTKKmU9HfvgfWdCxlwg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "postcss-js": "^4.0.1",
+ "postcss-simple-vars": "^7.0.1",
+ "sugarss": "^5.0.0",
+ "tinyglobby": "^0.2.14"
+ },
+ "engines": {
+ "node": "^20.0 || ^22.0 || >=24.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
"node_modules/postcss-nesting": {
"version": "13.0.2",
"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz",
@@ -9498,6 +12415,23 @@
"node": ">=4"
}
},
+ "node_modules/postcss-simple-vars": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-7.0.1.tgz",
+ "integrity": "sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.1"
+ }
+ },
"node_modules/postcss-sorting": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz",
@@ -9551,6 +12485,135 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/postcss-vertical-rhythm": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/postcss-vertical-rhythm/-/postcss-vertical-rhythm-1.1.5.tgz",
+ "integrity": "sha512-PeCRcfsHRwgilzrUQCf6xECOLTyUnOXPeQCIhDeEJJhToxI+xHRS+ZT7VjfmwoFQWMii9lOrN4d7em1DLrJZsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^5.0.12"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/chalk/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-vertical-rhythm/node_modules/supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -9637,6 +12700,92 @@
"react-is": "^16.13.1"
}
},
+ "node_modules/prosemirror-commands": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz",
+ "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.10.2"
+ }
+ },
+ "node_modules/prosemirror-history": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz",
+ "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.2.2",
+ "prosemirror-transform": "^1.0.0",
+ "prosemirror-view": "^1.31.0",
+ "rope-sequence": "^1.3.0"
+ }
+ },
+ "node_modules/prosemirror-keymap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz",
+ "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.0.0",
+ "w3c-keyname": "^2.2.0"
+ }
+ },
+ "node_modules/prosemirror-model": {
+ "version": "1.25.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.3.tgz",
+ "integrity": "sha512-dY2HdaNXlARknJbrManZ1WyUtos+AP97AmvqdOQtWtrrC5g4mohVX5DTi9rXNFSk09eczLq9GuNTtq3EfMeMGA==",
+ "license": "MIT",
+ "dependencies": {
+ "orderedmap": "^2.0.0"
+ }
+ },
+ "node_modules/prosemirror-state": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz",
+ "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-transform": "^1.0.0",
+ "prosemirror-view": "^1.27.0"
+ }
+ },
+ "node_modules/prosemirror-tables": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.1.tgz",
+ "integrity": "sha512-DAgDoUYHCcc6tOGpLVPSU1k84kCUWTWnfWX3UDy2Delv4ryH0KqTD6RBI6k4yi9j9I8gl3j8MkPpRD/vWPZbug==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-keymap": "^1.2.2",
+ "prosemirror-model": "^1.25.0",
+ "prosemirror-state": "^1.4.3",
+ "prosemirror-transform": "^1.10.3",
+ "prosemirror-view": "^1.39.1"
+ }
+ },
+ "node_modules/prosemirror-transform": {
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz",
+ "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.21.0"
+ }
+ },
+ "node_modules/prosemirror-view": {
+ "version": "1.40.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.1.tgz",
+ "integrity": "sha512-pbwUjt3G7TlsQQHDiYSupWBhJswpLVB09xXm1YiJPdkjkh9Pe7Y51XdLh5VWIZmROLY8UpUpG03lkdhm9lzIBA==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.20.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.1.0"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -9775,6 +12924,18 @@
"node": ">= 6"
}
},
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
@@ -9867,6 +13028,12 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/remove-accents": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz",
+ "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==",
+ "license": "MIT"
+ },
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -9881,7 +13048,6 @@
"version": "1.22.10",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
"integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.16.0",
@@ -9902,7 +13068,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -9939,6 +13104,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/rope-sequence": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz",
+ "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==",
+ "license": "MIT"
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -10058,6 +13229,15 @@
"integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
"license": "MIT"
},
+ "node_modules/scroll-into-view-if-needed": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz",
+ "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==",
+ "license": "MIT",
+ "dependencies": {
+ "compute-scroll-into-view": "^3.0.2"
+ }
+ },
"node_modules/semver": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -10071,6 +13251,12 @@
"node": ">=10"
}
},
+ "node_modules/server-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz",
+ "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==",
+ "license": "MIT"
+ },
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -10295,6 +13481,72 @@
"node": ">=8"
}
},
+ "node_modules/slate": {
+ "version": "0.91.4",
+ "resolved": "https://registry.npmjs.org/slate/-/slate-0.91.4.tgz",
+ "integrity": "sha512-aUJ3rpjrdi5SbJ5G1Qjr3arytfRkEStTmHjBfWq2A2Q8MybacIzkScSvGJjQkdTk3djCK9C9SEOt39sSeZFwTw==",
+ "license": "MIT",
+ "dependencies": {
+ "immer": "^9.0.6",
+ "is-plain-object": "^5.0.0",
+ "tiny-warning": "^1.0.3"
+ }
+ },
+ "node_modules/slate-history": {
+ "version": "0.86.0",
+ "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.86.0.tgz",
+ "integrity": "sha512-OxObL9tbhgwvSlnKSCpGIh7wnuaqvOj5jRExGjEyCU2Ke8ctf22HjT+jw7GEi9ttLzNTUmTEU3YIzqKGeqN+og==",
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^5.0.0"
+ },
+ "peerDependencies": {
+ "slate": ">=0.65.3"
+ }
+ },
+ "node_modules/slate-react": {
+ "version": "0.91.11",
+ "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.91.11.tgz",
+ "integrity": "sha512-2nS29rc2kuTTJrEUOXGyTkFATmTEw/R9KuUXadUYiz+UVwuFOUMnBKuwJWyuIBOsFipS+06SkIayEf5CKdARRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@juggle/resize-observer": "^3.4.0",
+ "@types/is-hotkey": "^0.1.1",
+ "@types/lodash": "^4.14.149",
+ "direction": "^1.0.3",
+ "is-hotkey": "^0.1.6",
+ "is-plain-object": "^5.0.0",
+ "lodash": "^4.17.4",
+ "scroll-into-view-if-needed": "^2.2.20",
+ "tiny-invariant": "1.0.6"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0",
+ "slate": ">=0.65.3"
+ }
+ },
+ "node_modules/slate-react/node_modules/compute-scroll-into-view": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
+ "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==",
+ "license": "MIT"
+ },
+ "node_modules/slate-react/node_modules/is-hotkey": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.1.8.tgz",
+ "integrity": "sha512-qs3NZ1INIS+H+yeo7cD9pDfwYV/jqRh1JG9S9zYrNudkoUQg7OL7ziXqRKu+InFjUIDoP2o6HIkLYMh1pcWgyQ==",
+ "license": "MIT"
+ },
+ "node_modules/slate-react/node_modules/scroll-into-view-if-needed": {
+ "version": "2.2.31",
+ "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
+ "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
+ "license": "MIT",
+ "dependencies": {
+ "compute-scroll-into-view": "^1.0.20"
+ }
+ },
"node_modules/slice-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
@@ -10561,7 +13813,6 @@
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
"integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"character-entities-html4": "^2.0.0",
@@ -10907,6 +14158,44 @@
"node": ">=8"
}
},
+ "node_modules/stylis": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==",
+ "license": "MIT"
+ },
+ "node_modules/sugarss": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-5.0.1.tgz",
+ "integrity": "sha512-ctS5RYCBVvPoZAnzIaX5QSShK8ZiZxD5HUqSxlusvEMC+QZQIPCPOIJg6aceFX+K2rf4+SH89eu++h1Zmsr2nw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
+ "node_modules/superstruct": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz",
+ "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -10941,7 +14230,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -10972,6 +14260,12 @@
"url": "https://opencollective.com/synckit"
}
},
+ "node_modules/tabbable": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
+ "license": "MIT"
+ },
"node_modules/table": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz",
@@ -11013,6 +14307,18 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/tiny-invariant": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz",
+ "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==",
+ "license": "MIT"
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
+ "license": "MIT"
+ },
"node_modules/tinyglobby": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
@@ -11065,7 +14371,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
@@ -11487,7 +14792,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
@@ -11501,7 +14805,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz",
"integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
@@ -11515,7 +14818,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
@@ -11529,7 +14831,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
"integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
@@ -11545,7 +14846,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
@@ -11632,6 +14932,29 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/urql": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/urql/-/urql-4.2.2.tgz",
+ "integrity": "sha512-3GgqNa6iF7bC4hY/ImJKN4REQILcSU9VKcKL8gfELZM8mM5BnLH1BsCc8kBdnVGD1LIFOs4W3O2idNHhON1r0w==",
+ "license": "MIT",
+ "dependencies": {
+ "@urql/core": "^5.1.1",
+ "wonka": "^6.3.2"
+ },
+ "peerDependencies": {
+ "@urql/core": "^5.0.0",
+ "react": ">= 16.8.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz",
+ "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11698,7 +15021,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
"integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
@@ -11827,6 +15149,12 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/w3c-keyname": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
+ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
+ "license": "MIT"
+ },
"node_modules/walk-up-path": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz",
@@ -11939,6 +15267,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/wonka": {
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz",
+ "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==",
+ "license": "MIT"
+ },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -12060,6 +15394,58 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/y-prosemirror": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/y-prosemirror/-/y-prosemirror-1.3.7.tgz",
+ "integrity": "sha512-NpM99WSdD4Fx4if5xOMDpPtU3oAmTSjlzh5U4353ABbRHl1HtAFUx6HlebLZfyFxXN9jzKMDkVbcRjqOZVkYQg==",
+ "license": "MIT",
+ "dependencies": {
+ "lib0": "^0.2.109"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=8.0.0"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ },
+ "peerDependencies": {
+ "prosemirror-model": "^1.7.1",
+ "prosemirror-state": "^1.2.3",
+ "prosemirror-view": "^1.9.10",
+ "y-protocols": "^1.0.1",
+ "yjs": "^13.5.38"
+ }
+ },
+ "node_modules/y-protocols": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/y-protocols/-/y-protocols-1.0.6.tgz",
+ "integrity": "sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==",
+ "license": "MIT",
+ "dependencies": {
+ "lib0": "^0.2.85"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=8.0.0"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ },
+ "peerDependencies": {
+ "yjs": "^13.0.0"
+ }
+ },
+ "node_modules/y-provider": {
+ "version": "0.10.0-canary.9",
+ "resolved": "https://registry.npmjs.org/y-provider/-/y-provider-0.10.0-canary.9.tgz",
+ "integrity": "sha512-ImkLqCpxHK0lkxD12s7BE4p14NiAnQQSJGN5GONl4W4CyLBx6+tRop3yg66abg64N3JYX9EwXxnIVDziq6b8Dw==",
+ "peerDependencies": {
+ "yjs": "^13"
+ }
+ },
"node_modules/yaml": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
@@ -12073,6 +15459,23 @@
"node": ">= 14.6"
}
},
+ "node_modules/yjs": {
+ "version": "13.6.27",
+ "resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.27.tgz",
+ "integrity": "sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==",
+ "license": "MIT",
+ "dependencies": {
+ "lib0": "^0.2.99"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=8.0.0"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -12090,7 +15493,6 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
"integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
- "dev": true,
"license": "MIT",
"funding": {
"type": "github",
diff --git a/package.json b/package.json
index 254880c..5390f0f 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,10 @@
"dependencies": {
"@fontsource/iosevka": "^5.2.5",
"@fontsource/iosevka-aile": "^5.2.5",
+ "@keystar/ui": "^0.7.19",
+ "@keystatic/core": "^0.5.48",
+ "@keystatic/next": "^5.0.4",
+ "@markdoc/markdoc": "^0.5.4",
"next": "15.5.2",
"react": "19.1.0",
"react-dom": "19.1.0"
@@ -27,10 +31,14 @@
"eslint-config-next": "15.5.2",
"eslint-plugin-mdx": "^3.6.2",
"postcss": "^8.5.6",
+ "postcss-apply": "^0.12.0",
+ "postcss-easings": "^4.0.0",
"postcss-import": "^16.1.1",
+ "postcss-mixins": "^12.1.2",
"postcss-nesting": "^13.0.2",
"postcss-preset-env": "^10.3.1",
"postcss-utilities": "^0.8.4",
+ "postcss-vertical-rhythm": "^1.1.5",
"prettier": "^3.6.2",
"prettier-plugin-organize-imports": "^4.2.0",
"stylelint": "^16.23.1",
diff --git a/postcss.config.js b/postcss.config.js
index 0bf2ba7..bb43fdd 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,36 +1,40 @@
// postcss.config.js
+import { purgeCSSPlugin } from '@fullhuman/postcss-purgecss'
+import postcssApply from 'postcss-apply'
+import postcssEasing from 'postcss-easings'
import postcssImport from 'postcss-import'
+import postcssMixins from 'postcss-mixins'
+import postcssNesting from 'postcss-nesting'
import postcssPresetEnv from 'postcss-preset-env'
import postcssUtilities from 'postcss-utilities'
-import postcssNesting from 'postcss-nesting'
-import { purgeCSSPlugin } from '@fullhuman/postcss-purgecss'
const plugins = [
postcssImport(),
+ postcssApply(),
+ postcssMixins(),
+ postcssEasing(),
postcssPresetEnv({
stage: 1,
features: {
- "nesting-rules": false,
+ 'nesting-rules': false,
},
}),
+
postcssUtilities(),
postcssNesting(),
]
-if (process.env.NODE_ENV === "production") {
- console.log("Adding PurgeCSS")
+if (process.env.NODE_ENV === 'production') {
+ console.log('Adding PurgeCSS')
plugins.push(
purgeCSSPlugin({
- content: [
- "./src/**/*.{html,js,jsx,ts,tsx}", // Removed .astro, added Next.js patterns
- "./content/**/*.{md,mdx}",
- ],
- safelist: ["html", "body"],
- variables: true
+ content: ['./src/**/*.{html,js,jsx,ts,tsx}', './content/**/*.{md,mdx}'],
+ safelist: ['html', 'body'],
+ variables: true,
})
)
}
export default {
- plugins
-}
\ No newline at end of file
+ plugins,
+}
diff --git a/public/images/authors/dave-damage/avatar.png b/public/images/authors/dave-damage/avatar.png
new file mode 100644
index 0000000..ead23f0
Binary files /dev/null and b/public/images/authors/dave-damage/avatar.png differ
diff --git a/public/images/authors/dave-damage/awq_cover-default.png b/public/images/authors/dave-damage/awq_cover-default.png
new file mode 100644
index 0000000..4a61cb3
Binary files /dev/null and b/public/images/authors/dave-damage/awq_cover-default.png differ
diff --git a/public/images/content/the-metatron/the-kitchensink/pexels-jplenio-1102912.jpg b/public/images/content/the-metatron/the-kitchensink/pexels-jplenio-1102912.jpg
new file mode 100644
index 0000000..75c0a0b
Binary files /dev/null and b/public/images/content/the-metatron/the-kitchensink/pexels-jplenio-1102912.jpg differ
diff --git a/public/images/covers/the-metatron/the-kitchensink/cover.jpeg b/public/images/covers/the-metatron/the-kitchensink/cover.jpeg
new file mode 100644
index 0000000..225d6ac
Binary files /dev/null and b/public/images/covers/the-metatron/the-kitchensink/cover.jpeg differ
diff --git a/src/app/api/keystatic/[...params]/route.ts b/src/app/api/keystatic/[...params]/route.ts
new file mode 100644
index 0000000..91263c9
--- /dev/null
+++ b/src/app/api/keystatic/[...params]/route.ts
@@ -0,0 +1,6 @@
+import { makeRouteHandler } from '@keystatic/next/route-handler'
+import config from '~/keystatic.config'
+
+export const { POST, GET } = makeRouteHandler({
+ config,
+})
diff --git a/src/app/globals.css b/src/app/globals.css
index b70942e..88ac156 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,8 +1,17 @@
-@import url('../styles/base/variables.css');
-@import url('../styles/base/typography.css');
-@import url('../styles/base/lists.css');
-@import url('../styles/base/tables.css');
-@import url('../styles/base/inline.css');
-@import url('../styles/base/form.css');
-@import url('../styles/base/keyframes.css');
-@import url('../styles/base/helpers.css');
\ No newline at end of file
+@import url('../styles/settings.css');
+
+html {
+ font-size: var(--typo-size-base);
+}
+
+body {
+ font: 16px/1.5 var(--font-body);
+ font-family: var(--font-body), sans-serif;
+ font-feature-settings: "kern" 1;
+ font-weight: var(--typo-weight-regular);
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ color: var(--color-text-primary);
+
+ background-color: var(--color-surface-base);
+}
diff --git a/src/app/keystatic/[[...params]]/page.tsx b/src/app/keystatic/[[...params]]/page.tsx
new file mode 100644
index 0000000..c174313
--- /dev/null
+++ b/src/app/keystatic/[[...params]]/page.tsx
@@ -0,0 +1,3 @@
+export default function Page() {
+ return null
+}
diff --git a/src/app/keystatic/keystatic.ts b/src/app/keystatic/keystatic.ts
new file mode 100644
index 0000000..17e2abd
--- /dev/null
+++ b/src/app/keystatic/keystatic.ts
@@ -0,0 +1,6 @@
+'use client'
+
+import { makePage } from '@keystatic/next/ui/app'
+import config from '../../../keystatic.config'
+
+export default makePage(config)
diff --git a/src/app/keystatic/layout.tsx b/src/app/keystatic/layout.tsx
new file mode 100644
index 0000000..fbaf43f
--- /dev/null
+++ b/src/app/keystatic/layout.tsx
@@ -0,0 +1,18 @@
+import KeystaticApp from './keystatic'
+
+export default function KeystaticLayout({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ return (
+
+
+ Keystatic Admin
+
+
+
+
+
+ )
+}
diff --git a/src/app/the-metatron/[slug]/page.tsx b/src/app/the-metatron/[slug]/page.tsx
new file mode 100644
index 0000000..ed9ac1b
--- /dev/null
+++ b/src/app/the-metatron/[slug]/page.tsx
@@ -0,0 +1,30 @@
+import MarkdocRenderer from '@/components/Markdoc/Renderer'
+import { getArticleBySlug, getArticles } from '@/lib/content/meta/articles'
+import { notFound } from 'next/navigation'
+
+interface Props {
+ params: Promise<{
+ slug: string
+ }>
+}
+
+export async function generateStaticParams() {
+ const articles = await getArticles()
+ return articles.map(({ slug }) => ({ slug }))
+}
+
+export default async function MetaArticlePage({ params }: Props) {
+ const { slug } = await params
+ const article = await getArticleBySlug(slug)
+
+ if (!article) {
+ notFound()
+ }
+
+ return (
+
+
{article.title}
+
+
+ )
+}
diff --git a/src/components/Markdoc/DefinitionList/DefinitionList.module.css b/src/components/Markdoc/DefinitionList/DefinitionList.module.css
new file mode 100644
index 0000000..cebff85
--- /dev/null
+++ b/src/components/Markdoc/DefinitionList/DefinitionList.module.css
@@ -0,0 +1,42 @@
+/*
+
+ --el-dd-color: var(--color-text-primary);
+ --el-dd-font-family: var(--font-body);
+ --el-dd-font-size: var(--typo-size-md);
+ --el-dd-line-height: var(--typo-leading-normal);
+ --el-dd-indent: var(--spacing-tight);
+ --el-dd-vspace-base: calc(1em * var(--el-dd-line-height));
+ --el-dd-vspace-top: calc(var(--el-dd-vspace-base) * var(--vspace-compressed));
+ --el-dd-vspace-bottom: calc(var(--el-dd-vspace-base) * var(--vspace-tight));
+*/
+
+.definitionlist {
+ margin-block: var(--el-dl-vspace-top) var(--el-dl-vspace-bottom);
+ font-size: var(--el-dl-font-size);
+ line-height: var(--el-dl-line-height);
+}
+
+.definitionterm {
+ margin-block: var(--el-dt-vspace-top) var(--el-dt-vspace-bottom);
+ padding: var(--el-dt-padding);
+
+ font-family: var(--el-dt-font-family), serif;
+ font-size: var(--el-dt-font-size);
+ font-weight: var(--el-dt-font-weight);
+ line-height: var(--el-dt-line-height);
+ color: var(--el-dt-color);
+ text-transform: var(--el-dt-text-transform);
+ letter-spacing: var(--el-dt-letter-spacing);
+
+ background: var(--el-dt-background);
+}
+
+.definitiondescription {
+ margin-block: var(--el-dd-vspace-top) var(--el-dd-vspace-bottom);
+ padding: var(--el-dd-indent);
+
+ font-family: var(--el-dd-font-family), sans-serif;
+ font-size: var(--el-dd-font-size);
+ line-height: var(--el-dd-line-height);
+ color: var(--el-dd-color);
+}
\ No newline at end of file
diff --git a/src/components/Markdoc/DefinitionList/index.tsx b/src/components/Markdoc/DefinitionList/index.tsx
new file mode 100644
index 0000000..efccfd8
--- /dev/null
+++ b/src/components/Markdoc/DefinitionList/index.tsx
@@ -0,0 +1,24 @@
+import { ReactNode } from 'react'
+import styles from './DefinitionList.module.css'
+
+interface DefinitionListProps {
+ children: ReactNode
+}
+
+interface DefinitionItemProps {
+ term: string
+ children: ReactNode
+}
+
+export function DefinitionList({ children }: DefinitionListProps) {
+ return {children}
+}
+
+export function DefinitionItem({ term, children }: DefinitionItemProps) {
+ return (
+ <>
+ {term}
+ {children}
+ >
+ )
+}
diff --git a/src/components/Markdoc/Renderer/Renderer.module.css b/src/components/Markdoc/Renderer/Renderer.module.css
new file mode 100644
index 0000000..4726251
--- /dev/null
+++ b/src/components/Markdoc/Renderer/Renderer.module.css
@@ -0,0 +1,615 @@
+.content {
+ max-width: clamp(60ch, 90vw, 90ch);
+ margin: 0 auto;
+ padding: 0 var(--spacing-comfortable);
+ font-size: var(--font-size-responsive);
+
+ & h1 {
+ margin-block: var(--el-h1-vspace-top) var(--el-h1-vspace-bottom);
+ padding-bottom: var(--spacing-snug);
+ border-bottom: var(--size-4) solid var(--el-h1-color);
+
+ font-family: var(--el-h1-font-family), serif;
+ font-size: var(--el-h1-font-size);
+ font-weight: var(--el-h1-font-weight);
+ line-height: var(--el-h1-line-height);
+ color: var(--el-h1-color);
+ text-transform: var(--el-h1-text-transform);
+ letter-spacing: var(--el-h1-letter-spacing);
+
+ & + p,
+ & + ul,
+ & + ol,
+ & + blockquote {
+ margin-block:
+ calc(1em * var(--typo-leading-normal) * var(--vspace-tight))
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ }
+
+ & + h2 {
+ margin-block:
+ calc(1em * var(--el-h1-line-height) * var(--vspace-snug))
+ calc(1em * var(--el-h1-line-height) * var(--vspace-normal));
+ }
+ }
+
+ & h2 {
+ margin-block: var(--el-h2-vspace-top) var(--el-h2-vspace-bottom);
+ padding-left: var(--spacing-snug);
+ border-left: var(--size-4) solid var(--el-h2-color);
+
+ font-family: var(--el-h2-font-family), serif;
+ font-size: var(--el-h2-font-size);
+ font-weight: var(--el-h2-font-weight);
+ line-height: var(--el-h2-line-height);
+ color: var(--el-h2-color);
+ text-transform: var(--el-h2-text-transform);
+ letter-spacing: var(--el-h2-letter-spacing);
+
+ & + p,
+ & + ul,
+ & + ol,
+ & + blockquote {
+ margin-block:
+ calc(1em * var(--typo-leading-normal) * var(--vspace-tight))
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ }
+
+ & + h3 {
+ margin-block:
+ calc(1em * var(--el-h1-line-height) * var(--vspace-compressed))
+ calc(1em * var(--el-h1-line-height) * var(--vspace-snug));
+ }
+ }
+
+ & h3 {
+ margin-block: var(--el-h3-vspace-top) var(--el-h3-vspace-bottom);
+ padding: var(--spacing-tight) var(--spacing-snug);
+
+ font-family: var(--el-h3-font-family), serif;
+ font-size: var(--el-h3-font-size);
+ font-weight: var(--el-h3-font-weight);
+ line-height: var(--el-h3-line-height);
+ color: var(--color-surface-base);
+ text-transform: var(--el-h3-text-transform);
+ letter-spacing: var(--el-h3-letter-spacing);
+
+ background: var(--el-h3-color);
+ }
+
+ & h4 {
+ margin-block: var(--el-h4-vspace-top) var(--el-h4-vspace-bottom);
+ padding: var(--spacing-tight) var(--spacing-snug);
+ border-top: var(--size-3 ) solid var(--el-h4-color);
+ border-bottom: var(--size-3 ) solid var(--el-h4-color);
+
+ font-family: var(--el-h4-font-family), serif;
+ font-size: var(--el-h4-font-size);
+ font-weight: var(--el-h4-font-weight);
+ line-height: var(--el-h4-line-height);
+ text-align: center;
+ text-transform: var(--el-h4-text-transform);
+ letter-spacing: var(--el-h4-letter-spacing);
+ }
+
+ & h5 {
+ margin-block: var(--el-h5-vspace-top) var(--el-h5-vspace-bottom);
+ padding: var(--spacing-tight) var(--spacing-snug);
+
+ font-family: var(--el-h5-font-family), serif;
+ font-size: var(--el-h5-font-size);
+ font-weight: var(--el-h5-font-weight);
+ line-height: var(--el-h5-line-height);
+ color: var(--el-h5-color);
+ text-align: center;
+ text-transform: var(--el-h5-text-transform);
+ letter-spacing: var(--el-h5-letter-spacing);
+
+ &::before,
+ &::after {
+ content: "";
+ padding: 0 var(--spacing-tight);
+ line-height: 1;
+ }
+
+ &::before {
+ content: "▼";
+ }
+
+ &::after {
+ content: "▼";
+ }
+ }
+
+ & h6 {
+ margin-block: var(--el-h6-vspace-top) var(--el-h6-vspace-bottom);
+
+ font-family: var(--el-h6-font-family), serif;
+ font-size: var(--el-h6-font-size);
+ font-weight: var(--el-h6-font-weight);
+ line-height: var(--el-h6-line-height);
+ color: var(--el-h6-color);
+ text-align: center;
+ text-transform: var(--el-h6-text-transform);
+ letter-spacing: var(--el-h6-letter-spacing);
+ }
+
+ & h3,
+ & h4,
+ & h5,
+ & h6 {
+ & + p,
+ & + ul,
+ & + ol,
+ & + blockquote {
+ margin-block:
+ calc(1em * var(--typo-leading-normal) * var(--vspace-compressed))
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ }
+ }
+
+ & p {
+ margin-block: var(--el-p-vspace-top) var(--el-p-vspace-bottom);
+
+ font-family: var(--el-p-font-family), sans-serif;
+ font-size: var(--el-p-font-size);
+ font-weight: var(--el-p-font-weight);
+ line-height: var(--el-p-line-height);
+ color: var(--el-p-color);
+ text-align: var(--el-p-text-align);
+ }
+
+ & blockquote {
+ margin-block: var(--el-p-vspace-top) var(--el-p-vspace-bottom);
+ padding: var(--spacing-snug) 0 var(--spacing-snug) var(--spacing-comfortable);
+ border-left: var(--size-4) solid var(--color-text-tertiary);
+
+ font-family: var(--el-blockquote-font-family), serif;
+ font-size: var(--el-blockquote-font-size);
+ font-weight: var(--el-blockquote-font-weight);
+ font-style: var(--el-blockquote-font-style);
+ line-height: var(--el-blockquote-line-height);
+ color: var(--el-blockquote-color);
+ }
+
+ pre {
+ margin-block: var(--el-pre-vspace-top) var(--el-pre-vspace-bottom);
+ padding: var(--spacing-comfortable);
+
+ font-family: var(--el-pre-font-family), monospace;
+ font-size: var(--el-pre-font-size);
+ line-height: var(--el-pre-line-height);
+ color: var(--el-pre-color);
+
+ background: var(--el-pre-background);
+ }
+
+ ul, ol {
+ margin-block: var(--el-list-vspace-top) var(--el-list-vspace-bottom);
+ font-size: var(--el-list-font-size);
+ line-height: var(--el-list-line-height);
+ color: var(--el-list-color);
+ }
+
+ ul ul, ul ol, ol ul, ol ol {
+ margin-block: var(--el-list-nested-vspace-top) var(--el-list-nested-vspace-bottom);
+ }
+
+ li {
+ margin-block: var(--el-li-vspace-top) var(--el-li-vspace-bottom);
+
+ li {
+ margin-block: var(--el-li-nested-vspace-top) var(--el-li-nested-vspace-bottom);
+ }
+ }
+
+
+ ul {
+ padding-left: var(--el-ul-indent-l1);
+ list-style: none;
+
+ li {
+ padding-left: var(--el-ul-item-padding);
+
+ &::marker {
+ content: var(--el-ul-symbol-l1);
+ color: var(--el-ul-symbol-l1-color);
+ }
+ }
+
+ ul, ol {
+ padding-left: var(--el-ul-indent-l2);
+ }
+
+ ul li::marker {
+ content: var(--el-ul-symbol-l2);
+ color: var(--el-ul-symbol-l2-color);
+ }
+
+ ul ul, ul ol, ol ul, ol ol {
+ padding-left: var(--el-ul-indent-l3);
+ }
+
+ ul ul li::marker,
+ ol ul li::marker {
+ content: var(--el-ul-symbol-l3);
+ color: var(--el-ul-symbol-l3-color);
+ }
+
+ ul ul ul, ul ul ol, ul ol ul, ul ol ol,
+ ol ul ul, ol ul ol, ol ol ul, ol ol ol {
+ padding-left: var(--el-ul-indent-l4);
+ }
+
+ ul ul ul li::marker,
+ ul ol ul li::marker,
+ ol ul ul li::marker,
+ ol ol ul li::marker {
+ content: var(--el-ul-symbol-l4);
+ color: var(--el-ul-symbol-l4-color);
+ }
+ }
+
+ ol {
+ counter-reset: ol-l1;
+ contain: style;
+ padding-left: var(--el-ol-indent-l1);
+ list-style: none;
+
+ & > li {
+ counter-increment: ol-l1;
+ margin-left: var(--el-ol-item-indent-l1);
+ padding-left: var(--el-ol-item-padding);
+
+ &::marker {
+ content: var(--el-ol-prefix-l1) counter(ol-l1, var(--el-ol-style-l1)) var(--el-ol-suffix-l1);
+ color: var(--el-ol-marker-color-l1);
+ }
+ }
+ }
+
+ ol > li > ol {
+ counter-reset: ol-l2;
+ padding-left: var(--el-ol-indent-l2);
+
+ & > li {
+ counter-increment: ol-l2;
+ margin-left: var(--el-ol-item-indent-l2);
+
+ &::marker {
+ content: var(--el-ol-prefix-l2) counter(ol-l2, var(--el-ol-style-l2)) var(--el-ol-suffix-l2);
+ color: var(--el-ol-marker-color-l2);
+ }
+ }
+ }
+
+ ol > li > ul {
+ padding-left: var(--el-ol-indent-l2);
+ }
+
+ ol > li > ol > li > ol,
+ ol > li > ul > li > ol {
+ counter-reset: ol-l3;
+ margin-left: var(--el-ol-item-indent-l3);
+ padding-left: var(--el-ol-indent-l3);
+
+ & > li {
+ counter-increment: ol-l3;
+
+ &::marker {
+ content: var(--el-ol-prefix-l3) counter(ol-l3, var(--el-ol-style-l3)) var(--el-ol-suffix-l3);
+ color: var(--el-ol-marker-color-l3);
+ }
+ }
+ }
+
+ ol > li > ol > li > ul,
+ ol > li > ul > li > ul {
+ padding-left: var(--el-ol-indent-l3);
+ }
+
+ ol > li > ol > li > ol > li > ol,
+ ol > li > ol > li > ul > li > ol,
+ ol > li > ul > li > ol > li > ol,
+ ol > li > ul > li > ul > li > ol {
+ counter-reset: ol-l4;
+ margin-left: var(--el-ol-item-indent-l4);
+ padding-left: var(--el-ol-indent-l4);
+
+ & > li {
+ counter-increment: ol-l4;
+
+ &::marker {
+ content: var(--el-ol-prefix-l4) counter(ol-l4, var(--el-ol-style-l4)) var(--el-ol-suffix-l4);
+ color: var(--el-ol-marker-color-l4);
+ }
+ }
+ }
+
+ ol > li > ol > li > ol > li > ul,
+ ol > li > ol > li > ul > li > ul,
+ ol > li > ul > li > ol > li > ul,
+ ol > li > ul > li > ul > li > ul {
+ padding-left: var(--el-ol-indent-l4);
+ }
+
+ ol li,
+ ul li {
+ list-style-position: outside;
+ }
+
+ /* Override if you specifically need inside positioning */
+ .list-inside ol li,
+ .list-inside ul li {
+ list-style-position: inside;
+ }
+
+ table {
+ border-collapse: collapse;
+
+ width: 100%;
+ margin-block: var(--el-table-vspace-top) var(--el-table-vspace-bottom);
+ border: var(--el-table-border);
+
+ font-size: var(--el-table-font-size);
+ line-height: var(--el-table-line-height);
+
+ & thead th,
+ & th {
+ padding: var(--el-th-padding);
+
+ font-family: var(--el-th-font-family), serif;
+ font-size: var(--el-th-font-size);
+ font-weight: var(--el-th-font-weight);
+ line-height: var(--el-th-line-height);
+ color: var(--el-th-color);
+ text-transform: var(--el-th-text-transform);
+
+ background: var(--el-th-background);
+ }
+
+ & tbody td,
+ & td {
+ padding: var(--el-td-padding);
+ border: var(--el-td-border);
+
+ font-family: var(--el-td-font-family), monospace;
+ font-size: var(--el-td-font-size);
+ line-height: var(--el-td-line-height);
+ color: var(--el-td-color);
+ text-align: center;
+ }
+
+ & td:first-child,
+ & th:first-child {
+ text-align: left;
+ }
+ }
+
+ hr {
+ position: relative;
+
+ overflow: visible;
+
+ height: var(--hr-height);
+ margin-block: var(--hr-margin);
+ border: none;
+
+ background: var(--hr-color);
+
+ &::after {
+ content: var(--hr-symbol-content);
+
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+
+ padding: var(--hr-symbol-space);
+
+ font-size: var(--hr-symbol-size);
+ line-height: var(--hr-symbol-line-height);
+ color: var(--hr-symbol-color);
+
+ background: var(--hr-symbol-background);
+
+ }
+
+ }
+
+ em,
+ i {
+ padding: 0.1em 0.2em;
+
+ font-weight: var(--typo-weight-semibold);
+ font-style: normal;
+ color: var(--color-surface-base);
+ letter-spacing: var(--typo-spacing-relaxed);
+
+ background: var(--color-primary);
+
+ & * {
+ color: var(--color-text-inverse) !important;
+ }
+ }
+
+ strong,
+ b {
+ font-weight: var(--typo-weight-black);
+ text-transform: uppercase;
+ letter-spacing: var(--typo-spacing-loose);
+ }
+
+ a {
+ position: relative;
+
+ padding: 0.1em 0.2em;
+
+ font-weight: var(--typo-weight-semibold);
+ color: var(--color-text-primary);
+ text-decoration: underline;
+ text-decoration-thickness: var(--size-1);
+ text-underline-offset: 2px;
+
+ transition: color 0.5s ease-in-out, background 0.5s ease-in-out;
+
+
+ &:hover {
+ cursor: pointer;
+ color: var(--color-surface-base);
+ text-decoration: none;
+ background: var(--color-text-primary);
+ }
+
+ &:visited,
+ &:active {
+ color: var(--color-primary-emphasis);
+ }
+ }
+
+ code {
+ padding: 0.1em 0.3em;
+
+ font-family: var(--font-mono), monospace;
+ font-size: var(--typo-size-sm);
+ color: var(--color-text-inverse);
+
+ background: var(--color-surface-inverse);
+ }
+
+ kbd {
+ padding: 0.1em 0.3em;
+ border: 1px solid var(--color-text-primary);
+ border-radius: 2px;
+
+ font-family: var(--font-mono), monospace;
+ font-size: var(--typo-size-xs);
+ color: var(--color-text-inverse);
+ text-transform: uppercase;
+
+ background: var(--color-surface-inverse);
+ }
+
+ samp {
+ padding: 0.1em 0.3em;
+ border-left: var(--size-1) solid var(--color-text-tertiary);
+
+ font-family: var(--font-mono), monospace;
+ font-size: var(--typo-size-sm);
+ color: var(--color-text-primary);
+
+ background: var(--color-surface-elevated-2);
+ }
+
+ var {
+ font-family: var(--font-mono), monospace;
+ font-weight: var(--typo-weight-semibold);
+ font-style: normal;
+ color: var(--color-text-secondary);
+ }
+
+ mark {
+ padding: 0.1em 0.2em;
+ font-weight: var(--typo-weight-semibold);
+ color: var(--color-surface-base);
+ background: var(--color-primary);
+ }
+
+ small {
+ font-size: var(--typo-size-xs);
+ color: var(--color-text-tertiary);
+ }
+
+ sub, sup {
+ font-size: 0.5625em;
+ font-weight: var(--typo-weight-semibold);
+ color: var(--color-text-secondary);
+ }
+
+ del,
+ s {
+ color: var(--color-text-tertiary);
+ text-decoration: line-through;
+ text-decoration-thickness: var(--size-1);
+ }
+
+ ins {
+ font-weight: var(--typo-weight-semibold);
+ color: var(--color-text-primary);
+ text-decoration: underline;
+ text-decoration-color: var(--color-primary);
+ text-decoration-thickness: var(--size-1);
+
+ background: transparent;
+ }
+
+ abbr {
+ cursor: help;
+ text-decoration: underline dotted;
+ text-underline-offset: var(--size-1);
+ }
+
+ dfn {
+ font-weight: var(--typo-weight-bold);
+ font-style: normal;
+ color: var(--color-text-primary);
+ }
+
+ cite {
+ font-weight: var(--typo-weight-semibold);
+ font-style: normal;
+ color: var(--color-text-secondary);
+ }
+
+ q {
+ font-style: normal;
+
+ &::before {
+ content: "»";
+ }
+
+ &::after {
+ content: "«";
+ }
+ }
+
+ time {
+ font-family: var(--font-mono), monospace;
+ font-size: var(--typo-size-sm);
+ color: var(--color-text-secondary);
+ }
+
+ & article {
+ & > p:first-of-type {
+ font-size: var(--typo-size-xl);
+ font-weight: var(--typo-weight-bold);
+ line-height: 1.4;
+ letter-spacing: 0.022em;
+
+ &::first-letter {
+ float: left;
+
+ margin: 0.1em 0.1em 0 0;
+ padding: 0;
+
+ font-family: var(--font-display), serif;
+ font-size: 4em;
+ font-weight: bold;
+ line-height: 1;
+ color: var(--color-primary);
+
+ @supports (initial-letter: 4) {
+ float: none;
+
+ margin: 0;
+ padding-right: var(--spacing-snug);
+
+ font-size: inherit;
+ line-height: inherit;
+
+ initial-letter: 3;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/components/Markdoc/Renderer/index.tsx b/src/components/Markdoc/Renderer/index.tsx
new file mode 100644
index 0000000..dc5500f
--- /dev/null
+++ b/src/components/Markdoc/Renderer/index.tsx
@@ -0,0 +1,39 @@
+import {
+ DefinitionItem,
+ DefinitionList,
+} from '@/components/Markdoc/DefinitionList'
+import { tags } from '@/lib/markdoc/tags'
+import Markdoc from '@markdoc/markdoc'
+import React from 'react'
+
+import styles from './Renderer.module.css'
+
+interface ContentRendererProps {
+ content: () => Promise<{ node: any }>
+ className?: string
+}
+
+export default async function Renderer({
+ content,
+ className = 'content',
+}: ContentRendererProps) {
+ const components = {
+ DefinitionList,
+ DefinitionItem,
+ }
+ const { node } = await content()
+ const errors = Markdoc.validate(node, { tags })
+
+ if (errors.length) {
+ console.error(errors)
+ throw new Error('Invalid content')
+ }
+
+ const renderable = Markdoc.transform(node, { tags })
+
+ return (
+
+ {Markdoc.renderers.react(renderable, React, { components })}
+
+ )
+}
diff --git a/src/content/taxonomy/authors/dave-damage.json b/src/content/taxonomy/authors/dave-damage.json
new file mode 100644
index 0000000..7ff5f84
--- /dev/null
+++ b/src/content/taxonomy/authors/dave-damage.json
@@ -0,0 +1,5 @@
+{
+ "name": "Dave Damage",
+ "avatar": "/images/authors/dave-damage/avatar.png",
+ "description": "Nothing nice 2 say"
+}
diff --git a/src/content/taxonomy/authors/dave-damage/test.mdoc b/src/content/taxonomy/authors/dave-damage/test.mdoc
new file mode 100644
index 0000000..7d7243f
--- /dev/null
+++ b/src/content/taxonomy/authors/dave-damage/test.mdoc
@@ -0,0 +1,3 @@
+A just world is a sane world, but there is nothing sane about this
+
+
diff --git a/src/content/taxonomy/tags/rant-against-the-machine.json b/src/content/taxonomy/tags/rant-against-the-machine.json
new file mode 100644
index 0000000..c5def97
--- /dev/null
+++ b/src/content/taxonomy/tags/rant-against-the-machine.json
@@ -0,0 +1,4 @@
+{
+ "name": "Rant against the Machine",
+ "description": "Where we yell at clouds"
+}
diff --git a/src/content/taxonomy/tags/was-ist-was.json b/src/content/taxonomy/tags/was-ist-was.json
new file mode 100644
index 0000000..9b60541
--- /dev/null
+++ b/src/content/taxonomy/tags/was-ist-was.json
@@ -0,0 +1,4 @@
+{
+ "name": "Was ist was",
+ "description": "What & how as you anglos call it. Introductions and explanations..."
+}
diff --git a/src/content/the-metatron/the-kitchensink.mdoc b/src/content/the-metatron/the-kitchensink.mdoc
new file mode 100644
index 0000000..fd45be6
--- /dev/null
+++ b/src/content/the-metatron/the-kitchensink.mdoc
@@ -0,0 +1,177 @@
+---
+title: The Kitchensink
+summary: Where we test and style output
+cover: /images/covers/the-metatron/the-kitchensink/cover.jpeg
+coverAlt: Smiling Dude taking apart a stranded whale with a chainsaw
+publishing:
+ status: draft
+ featured: false
+ tags:
+ - rant-against-the-machine
+ - was-ist-was
+ author: dave-damage
+seo:
+ metaTitle: Dave DMG – The Kitchen Sink
+ metaDescription: Where we put our stuff to the test
+ keywords:
+ - Nope
+ noIndex: false
+---
+# Statim relictis retibus et patre
+
+Ideo dico vobis, ne solliciti sitis animæ vestræ quid manducetis, neque corpori vestro quid induamini. Nonne anima plus est quam esca, et corpus plus quam vestimentum? Respicite volatilia cæli, quoniam non serunt, *tui and trabem in* neque metunt, neque congregant in horrea et Pater vester cælestis pascit illa. Nonne vos magis pluris estis illis? Quis autem vestrum cogitans potest adjicere ad staturam suam cubitum unum? Et de vestimento quid *excidetur et* solliciti estis? Considerate lilia agri quomodo crescunt non laborant, neque nent. Dico autem vobis, quoniam nec Salomon in omni gloria sua coopertus *crescunt non* est sicut unum ex istis. Si autem fœnum agri, quod hodie est, et cras in clibanum mittitur, Deus sic vestit, quanto magis vos modicæ fidei? Nolite ergo solliciti esse, dicentes Quid manducabimus, aut quid bibemus, aut quo operiemur? hæc enim omnia gentes inquirunt. Scit enim Pater vester, quia his omnibus indigetis. Quærite ergo primum regnum Dei, et justitiam ejus et hæc omnia adjicientur.
+
+{% DefinitionList %}
+{% DefinitionItem term="Facit audiens autem jesus miratus est et" %}
+Justitiam tunc dimisit eum baptizatus
+{% /DefinitionItem %}
+
+{% DefinitionItem term="Quoniam potens est" %}
+```java
+public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+}
+```
+{% /DefinitionItem %}
+
+{% DefinitionItem term="Eis tempus stell" %}
+- Munera aurum thus et myrrham et.
+- Sed super `Continuo relictis retibus secuti sunt` candelabrum ut luceat omnibus qui in.
+- Dico vobis quia omnis qui
+- In aquis *unus scriba* **domini** pastores ==hoc== autem **ab** fugerunt et **baptizari et tu venis** venientes.
+- Neque congregant `De cælis dicens` in **hypocrit** horrea et pater vester.
+- Et ego *in clis sanctificetur nomen* homo sum sub potestate constitutus.
+- Dicentem dicens surge et accipe [Vocabitur in regno clorum dico enim vobis quia][6] puerum.
+- Vide nemini dixeris sed.
+- In diebus autem illis venit joannes
+- Antiquis non *quoniam illusus* occides **facit super** qui autem.
+{% /DefinitionItem %}
+
+{% DefinitionItem term="Assimilari eis scit" %}
+Ait Domine, non sum dignus ut intres sub tectum meum sed tantum dic verbo, et sanabitur puer meus. Nam et ego homo sum sub potestate constitutus, habens sub me milites, et dico huic Vade, et vadit et alii Veni, et venit et servo meo Fac hoc, et facit. Audiens autem Jesus miratus est, et sequentibus se dixit Amen dico vobis, non inveni tantam fidem in Israël. Dico autem vobis, quod multi ab oriente et occidente venient, et recumbent cum Abraham, et Isaac, et Jacob in regno cælorum filii autem regni ejicientur in tenebras exteriores ibi erit fletus et stridor *evangelium* dentium. Et dixit Jesus centurioni **quomodo medicis fratri tuo** Vade, et sicut credidisti, fiat tibi. Et sanatus *cum zebedo patre eorum* est puer in illa hora. Et cum venisset Jesus in domum Petri, vidit socrum ejus jacentem, et febricitantem et tetigit manum ejus, et dimisit eam febris, et surrexit, et ministrabat eis. Vespere autem facto, obtulerunt ei multos dæmonia habentes et ejiciebat spiritus verbo, et omnes male habentes curavit. Ut adimpleretur quod dictum est per Isaiam prophetam, dicentem Ipse infirmitates nostras accepit ægrotationes *malo amen si enim* nostras portavit. Videns autem Jesus turbas multas circum **quid autem empty** se, jussit ire trans fretum. Et accedens unus **operiemur hc** scriba, ait illi Magister, sequar te.
+{% /DefinitionItem %}
+
+{% DefinitionItem term="Assimilari eis scit" %}
+**Potest duobus dominis servire aut enim** *unum odio habebit,* ~~et alterum diliget aut unum sustinebit~~, ***et alterum contemnet.*** **~~Non potestis Deo servire et mammonæ.~~** *~~Erat locustæ, et mel silvestre.~~* Tunc exibat ad eum Jerosolyma, et omnis Judæa, et omnis regio circa Jordanem; et baptizabantur ab eo in Jordane, confitentes peccata sua. Videns autem multos pharisæorum, et sadducæorum, venientes ad baptismum suum, dixit eis Progenies viperarum, quis demonstravit vobis fugere a ventura ira? Facite ergo fructum dignum pœnitentiæ. Et ne velitis dicere intra vos Patrem habemus Abraham. Dico enim vobis quoniam potens est Deus de lapidibus istis suscitare filios Abrahæ. Jam enim securis ad radicem arborum posita est. Omnis ergo arbor, quæ non facit fructum bonum, excidetur, et in ignem mittetur. Ego quidem baptizo vos in aqua in pœnitentiam qui autem post me venturus est, fortior me est, cujus non sum dignus calceamenta portare ipse vos baptizabit in Spiritu Sancto, et igni. Cujus ventilabrum in manu sua et [Fundata enim erat super petram and that omnis](https://example.com/videne/qui) permundabit aream suam et congregabit triticum [Erit si ergo lumen quod in te est](https://example.com/audi/hodiee) suum in horreum, paleas autem comburet igni inextinguibili. Tunc venit Jesus a Galilæa in Jordanem ad Joannem, ut baptizaretur ab eo. Joannes autem prohibebat eum, dicens Ego a te [Procedens inde](https://example.com/intest/nisiu) debeo baptizari, et tu venis ad me? Respondens autem Jesus, dixit ei Sine modo sic enim decet nos implere.
+{% /DefinitionItem %}
+{% /DefinitionList %}
+
+### Super justos et injustos si
+
+- Ab illis grex multorum porcorum.
+- Dico vobis quia ==tunc reliquit== omnis.
+ - Sicut in cælo et in terra. Panem nostrum supersubstantialem da nobis hodie, et dimitte nobis debita nostra, sicut et nos dimittimus debitoribus nostris. Et ne nos inducas in tentationem, sed libera nos a malo. Amen. Si enim dimiseritis hominibus.
+ - Unum capillum album facere, aut nigrum. Sit autem sermo vester, est, est non, non quod autem his abundantius est, a malo est. Audistis quia dictum est Oculum pro oculo, et dentem pro dente. Ego autem dico vobis, non.
+ - Eo joannes autem prohibebat
+ - Sine modo sic enim decet nos implere omnem justitiam. Tunc dimisit eum. Baptizatus autem Jesus, confestim ascendit de aqua, et ecce aperti sunt ei cæli et vidit Spiritum Dei descendentem sicut columbam, et venientem super se. Et ecce vox de cælis dicens.Sine modo sic enim decet nos implere omnem justitiam. Tunc dimisit eum. Baptizatus autem Jesus, confestim ascendit de aqua, et ecce aperti sunt ei cæli et vidit Spiritum Dei descendentem sicut columbam, et venientem super se. Et ecce vox de cælis dicens.
+ - In manibus tollent te, ne forte offendas ad lapidem pedem tuum. Ait illi Jesus Rursum scriptum est Non tentabis Dominum Deum tuum. Iterum assumpsit eum diabolus in montem excelsum valde et ostendit ei omnia regna mundi, et gloriam eorum, et dixit ei Hæc omnia.
+ - Qualis est hic, quia venti et mare obediunt ei? Et cum venisset trans fretum in regionem Gerasenorum, occurrerunt ei duo habentes dæmonia, de monumentis exeuntes, sævi nimis, ita ut nemo posset transire per viam illam. Et ecce clamaverunt, dicentes Quid nobis et tibi, Jesu.
+ - Quia scabellum est pedum ejus neque per Jerosolymam, quia civitas est magni regis neque per caput tuum juraveris, quia non potes unum capillum album facere, aut nigrum. Sit autem sermo vester, est, est non, non quod autem his abundantius est, a malo est. Audistis quia dictum est Oculum.
+ - Enim Pater vester, quia his omnibus indigetis. Quærite ergo primum regnum Dei, et justitiam ejus et hæc omnia adjicientur vobis. Nolite ergo solliciti esse in crastinum. Crastinus enim dies sollicitus erit sibi ipsi sufficit diei malitia sua. Nolite.
+- Quæ ducit ad perditionem and multi sunt which input per eam. Quam brought angusta and via arcta is Quæ ducit ad vitam pauci sunt and that inveniunt eam! Attendite has falsis Prophetis which veniunt your ad in vestimentis ovium, intrinsecus autem sunt.
+- A diabolo et cum jejunasset quadraginta [Ubi](https://example.com/erit/abierun) diebus.
+- Usque dum dicam tibi futurum est
+- Dignus ut intres sub tectum meum
+- Ei munera aurum thus *te autem* et myrrham *omnia ergo qucumque vultis* et responso.
+- Eum et circuibat jesus totam galilam *puerum* docens.
+- Qurebant animam pueri qui consurgens accepit
+- Carcerem mittaris amen **et ecce** dico tibi non exies inde.
+
+{% table %}
+- Uxorem
+- Data filiis
+- Te
+- Prophetam dicentem
+---
+- 4917
+- 7167
+- 1356
+- 4441
+---
+- 3916
+- 3671
+- 3384
+- 1812
+---
+- 9396
+- 5812
+- 6643
+- 4856
+---
+- 3131
+- 8183
+- 8667
+- 6427
+{% /table %}
+
+Fœnum agri, quod hodie est, et cras in clibanum mittitur, Deus sic vestit, quanto magis vos modicæ fidei? Nolite ergo solliciti esse, dicentes Quid manducabimus, aut quid bibemus, aut quo operiemur? hæc enim omnia gentes inquirunt. Scit enim Pater vester, quia his omnibus indigetis. Quærite ergo [Nostra sicut et nos](https://example.com/etmitt/prius) primum regnum Dei, et justitiam ejus et hæc omnia adjicientur vobis. Nolite ergo solliciti esse in crastinum. Crastinus enim dies sollicitus erit sibi ipsi sufficit diei malitia sua. Nolite judicare, ut not judicemini. In enim judicio judicaveritis quo, judicabimini and in four mensura Mensi fueritis, remetietur vobis. Quid autem empty festucam in oculo fratris tui and [Et tinea demolitur et ubi](https://example.com/aborien/unummem) trabem in oculo tuo non-empty? Aut quomodo *non non quod autem* Medicis fratri tuo Sine ejiciam festucam of oculo tuo and ecce trabs is in oculo tuo? Hypocrita, ejice primum [Docens eos sicut potestatem habens not](https://example.com/centuri/estau) trabem of oculo tuo and tunc videbis ejicere festucam of oculo fratris tui. Nolite dare sanctum canibus neque mittatis margaritas ante *intrabit in regnum* vestras Porcos do conculcent eas pedibus am strong, and your *sitis mali nostis bona* dirumpant.
+
+> Est in cælis. Sic enim persecuti sunt prophetas, qui fuerunt ante vos. Vos estis sal terræ. **et** Quod si sal evanuerit, in quo salietur? ad nihilum valet ultra, nisi ut mittatur foras, et conculcetur ab hominibus. Vos estis lux mundi. Non potest civitas abscondi supra montem posita, neque accendunt lucernam, et ponunt eam sub modio, sed super candelabrum, ut luceat omnibus qui in domo sunt. Sic luceat lux vestra coram hominibus ut videant opera vestra bona, et glorificent Patrem vestrum, qui in cælis est. Nolite putare quoniam veni solvere legem aut prophetas non veni solvere, sed ==vester pater== adimplere. Amen quippe dico vobis, donec transeat cælum et terra, jota unum aut unus apex non præteribit a lege, donec omnia fiant. Qui ergo solverit unum de mandatis istis minimis, et docuerit sic homines, minimus vocabitur in regno cælorum qui autem fecerit et docuerit, hic magnus vocabitur in regno cælorum. Dico enim vobis, quia nisi abundaverit justitia vestra plus quam scribarum et pharisæorum, non intrabitis in regnum cælorum. Audistis quia dictum est antiquis Non occides qui autem occiderit, reus erit judicio. Ego autem dico vobis quia omnis qui irascitur fratri suo, reus erit judicio. Qui autem dixerit.
+>
+> Daemonia ejecimus and in nomine tuo virtutes multas fecimus? And tunc Confitebor illis numquam novi your Quia discedite was me who operamini iniquitatem. Omnis ergo that audit verba mea CEST and facit Others assimilabitur viro Sapienti which ædificavit domum suam petram supra, and down pluvia and venerunt flumina and flaverunt fan and irruerunt in domum illam, not cecidit Fundata enim erat super petram. And that omnis verba mea CEST audit and non facit Others similis erit viro stulto which ædificavit domum suam super arenam and down pluvia and venerunt flumina and flaverunt fan and irruerunt in domum illam and cecidit and leaking ruined illius magna. And factum is Jesus cum consummasset verba CEST, admirabantur turbæ **homines minimus vocabitur in** super doctrina jus. Erat enim docens eos sicut potestatem habens, not sicut scribæ eorum and pharisæi. Cum autem descendisset de monte, secutæ sunt eum turbæ multæ et ecce leprosus veniens, adorabat eum, dicens **et** Domine, si **no potest arbor bona** vis, potes me mundare. Et extendens Jesus manum.
+>
+> > Et accedens unus scriba, ait illi Magister, sequar te, quocumque ieris. Et dicit ei Jesus Vulpes foveas habent, et volucres cæli nidos; Filius autem hominis non habet ubi caput reclinet. Alius autem de discipulis ejus ait illi Domine, permitte me primum ire, et sepelire patrem meum. Jesus autem ait illi Sequere me, et dimitte mortuos sepelire mortuos suos. Et ascendente eo in naviculam, secuti sunt eum discipuli ejus et ecce motus magnus factus est in mari, ita ut navicula operiretur fluctibus ipse vero dormiebat. Et accesserunt ad eum discipuli `Dimiseritis` ejus, et suscitaverunt eum, dicentes Domine, salva nos perimus. Et dicit eis Jesus Quid timidi estis, modicæ fidei? Tunc surgens imperavit ventis, et mari, et facta est tranquillitas magna. Porro homines mirati sunt, dicentes Qualis est hic, quia venti et mare obediunt ei? Et cum venisset trans fretum in regionem Gerasenorum, occurrerunt ei duo habentes dæmonia, de monumentis exeuntes, sævi nimis, ita ut nemo posset transire per viam illam. Et ecce clamaverunt, dicentes Quid nobis et tibi, Jesu fili Dei? Venisti huc ante tempus torquere nos? Erat autem non longe ab illis grex multorum porcorum pascens. Dæmones autem rogabant eum, dicentes Si ejicis nos hinc.
+>
+> *— Jane Phillips*
+
+#### Quid timidi estis modic fidei
+
+1. Eleemosynam noli tuba canere.
+1. Vade in terram isral defuncti
+ 1. Facit fructum bonum [Te et in manibus tollent](https://example.com/fratres/estsi) excidetur et [Grotationes nostras portavit](https://example.com/abste/paci) in *quod* ignem.
+
+ 1. Amant in synagogis et.
+
+ 1. In terram isral audiens autem quod archelaus ==docuerit== regnaret.
+
+ - Faciat dextera tua `Venientes ad baptismum suum` ut sit.
+ 1. Venerunt flumina and flaverunt fan and irruerunt
+ - Ut videantur ab hominibus **illa die in mihi** amen dico vobis.
+
+ 1. Dignus ut intres sub tectum meum
+ 1. Ei munera aurum thus *te autem* et myrrham *omnia ergo qucumque vultis* et responso.
+ - Eum et circuibat jesus totam galilam *puerum* docens.
+ - Qurebant animam pueri qui consurgens accepit
+ - Carcerem mittaris amen **et ecce** dico tibi non exies inde.
+1. Hominibus jejunans sed [Rex judorum vidimus](https://example.com/magister/exiba) patri.
+1. Pedum ejus **nephthalim** neque per **in oculo tuo nonempty** jerosolymam.
+
+```go
+package main
+import "fmt"
+func main() {
+ fmt.Println("Hello, World!")
+}
+```
+
+That facit voluntatem Patris mei, who is in Cælis, ipse intrabit in regnum Caelorum. Multi dicent illa die in mihi Domine, Domine, in nomine tuo prophetavimus nun, and in nomine tuo Daemonia ejecimus and in nomine tuo virtutes multas fecimus? And tunc Confitebor illis numquam novi your Quia discedite was me who operamini iniquitatem. Omnis ergo that audit verba mea CEST and facit Others assimilabitur viro Sapienti which ædificavit domum suam petram supra, and down pluvia and venerunt flumina and flaverunt fan and irruerunt in domum illam, not cecidit Fundata enim erat super petram. And that omnis verba mea CEST audit and non facit Others similis erit viro stulto which ædificavit domum suam super arenam and down pluvia and venerunt flumina and flaverunt fan and irruerunt in domum illam and cecidit and leaking ruined illius magna. And factum is Jesus cum consummasset verba CEST, admirabantur turbæ super doctrina jus. Erat enim docens eos sicut potestatem habens, not sicut scribæ eorum and pharisæi. Cum autem descendisset de monte, secutæ sunt eum turbæ multæ et ecce leprosus veniens, adorabat.
+
+---
+
+##### Est in clis sic enim persecuti
+
+Ad baptismum suum, dixit eis Progenies viperarum, quis demonstravit vobis fugere a ventura ira? Facite ergo fructum dignum pœnitentiæ. Et ne velitis dicere intra vos Patrem habemus Abraham. Dico enim vobis quoniam potens est Deus de lapidibus istis suscitare filios Abrahæ. Jam enim securis ad radicem arborum posita est. Omnis ergo arbor, quæ non facit fructum bonum, excidetur, et in ignem mittetur. Ego quidem baptizo vos in aqua in pœnitentiam qui autem post me venturus est, fortior me est, cujus non sum dignus calceamenta portare ipse vos baptizabit in Spiritu Sancto, et igni. Cujus ventilabrum in manu sua et permundabit aream suam et congregabit triticum suum in horreum, paleas autem comburet igni inextinguibili. Tunc venit Jesus a Galilæa in Jordanem ad Joannem, ut baptizaretur ab eo. Joannes autem prohibebat eum, dicens Ego a te debeo baptizari, et tu venis ad me? Respondens autem Jesus, dixit ei Sine modo sic enim.
+
+
+
+Et vidit Spiritum Dei descendentem sicut columbam, et venientem super se. Et ecce vox de cælis dicens Hic est Filius meus dilectus, in quo mihi complacui. Tunc Jesus ductus est in desertum a Spiritu, ut tentaretur a diabolo. Et cum jejunasset quadraginta diebus, et quadraginta noctibus, postea esuriit. Et accedens tentator dixit ei Si Filius Dei es, dic ut lapides isti panes fiant. Qui respondens dixit Scriptum est Non in solo pane vivit homo, sed in omni verbo, quod procedit de ore Dei. Tunc assumpsit eum diabolus in sanctam civitatem, et statuit eum super pinnaculum templi, et dixit ei Si Filius Dei es, mitte te deorsum. Scriptum est enim Quia angelis suis mandavit de te, et in manibus tollent te, ne forte offendas ad lapidem pedem tuum. Ait illi Jesus Rursum scriptum est Non tentabis Dominum Deum tuum. Iterum assumpsit eum diabolus in montem excelsum valde et ostendit ei omnia regna mundi, et.
+
+###### Via spatiosa is qu ducit ad
+
+In omni verbo, quod procedit de ore Dei. Tunc assumpsit eum diabolus in sanctam civitatem, et statuit eum super pinnaculum templi, et dixit ei Si Filius Dei es, mitte te deorsum. Scriptum est enim Quia angelis suis mandavit de te, et in manibus tollent te, ne forte offendas ad lapidem pedem tuum. Ait illi Jesus Rursum scriptum est Non tentabis Dominum Deum tuum. Iterum assumpsit eum diabolus in montem excelsum valde et ostendit ei omnia regna mundi, et gloriam eorum, et dixit ei Hæc omnia tibi dabo, si cadens adoraveris me. Tunc dicit ei Jesus Vade Satana Scriptum est enim Dominum Deum tuum *ad* adorabis, et illi soli servies. Tunc reliquit eum diabolus et ecce angeli accesserunt, et ministrabant ei. Cum autem audisset Jesus quod Joannes traditus esset, secessit in Galilæam et, relicta civitate Nazareth, venit, et habitavit in Capharnaum maritima, in finibus Zabulon et Nephthalim ut adimpleretur quod *quia his omnibus* dictum est per Isaiam prophetam Terra Zabulon, et terra Nephthalim, via maris trans Jordanem, alilæa gentium *ait illi* populus.
+
+Congregant in horrea et Pater vester cælestis pascit illa. Nonne vos magis pluris estis illis? Quis autem vestrum cogitans potest adjicere ad staturam suam cubitum unum? Et de vestimento quid solliciti estis? Considerate lilia agri quomodo crescunt non laborant, neque nent. Dico autem vobis, quoniam nec Salomon in omni gloria sua *reddet tibi* coopertus est sicut unum ex istis. Si autem fœnum agri, quod hodie est, et cras in clibanum mittitur, Deus sic vestit, quanto magis vos modicæ fidei? Nolite ergo solliciti esse, dicentes Quid manducabimus, aut quid bibemus, aut quo operiemur? hæc enim omnia gentes inquirunt. Scit enim Pater vester, quia his omnibus indigetis. Quærite ergo primum regnum Dei, et justitiam ejus et hæc omnia adjicientur vobis. Nolite ergo solliciti esse in *est* crastinum. Crastinus enim dies sollicitus erit sibi ipsi sufficit diei malitia sua. Nolite judicare, ut not judicemini. In enim judicio judicaveritis quo, judicabimini and in four mensura *videantur ab* Mensi fueritis, remetietur vobis. Quid autem empty festucam in oculo.
+
+Homines and your facite illis. CEST is enim lex and Prophetae. Per INTRATE angustam portam quia carried lata and via spatiosa is Quæ ducit ad perditionem and multi sunt which input per eam. Quam brought angusta and via arcta is Quæ ducit ad vitam pauci sunt and that inveniunt eam! Attendite has falsis Prophetis which veniunt your ad in vestimentis ovium, intrinsecus autem sunt lupi raptors has fructibus eorum cognoscetis eos. Numquid colligunt of Spinas uvas, aut Tribulis ficus? Sic omnis arbor bona fructus bonos facit mala autem arbor malos fructus facit. No potest arbor bona malos fructus facere neque arbor mala bonos fructus facere. Omnis arbor, Quae not facit fructum bonum, excidetur and in ignem mittetur. Igitur ex fructibus eorum cognoscetis eos. Non omnis who dicit mihi, Domine, Domine, intrabit in regnum Caelorum sed that facit voluntatem Patris mei, who is in Cælis, ipse intrabit in regnum Caelorum. Multi dicent illa die in mihi Domine, Domine, in nomine tuo prophetavimus **fratri suo reus** nun, and in nomine tuo Daemonia ejecimus and in nomine tuo virtutes multas fecimus? And tunc Confitebor illis numquam novi your Quia discedite was me who `Ipsi possidebunt terram. Beati qui` operamini iniquitatem. Omnis ergo **intrinsecus autem sunt lupi** that audit *vulpes **alteram et ei qui** foveas* verba mea CEST *judex tradat* and facit.
+
+Vobis fugere a ventura ira? Facite ergo fructum dignum pœnitentiæ. Et ne velitis dicere intra vos Patrem habemus Abraham. Dico enim vobis quoniam potens est Deus de lapidibus istis suscitare filios Abrahæ. Jam enim securis ad radicem arborum posita est. Omnis ergo arbor, quæ non facit fructum bonum, excidetur, et in ignem mittetur. Ego quidem baptizo vos in aqua in pœnitentiam qui autem post me venturus est, fortior me est, cujus non sum dignus calceamenta portare ipse vos baptizabit in Spiritu Sancto, et igni. Cujus ventilabrum in manu sua et permundabit aream suam et congregabit triticum suum in horreum, paleas autem comburet igni inextinguibili. Tunc venit Jesus a Galilæa in Jordanem ad Joannem, ut baptizaretur ab eo. Joannes autem prohibebat eum, dicens Ego a te debeo baptizari, et tu venis ad me? Respondens autem Jesus, dixit ei Sine modo sic enim decet nos implere omnem justitiam. Tunc dimisit eum. Baptizatus autem Jesus, confestim ascendit de aqua.
+
+Pater vester cælestis delicta vestra. Si autem non dimiseritis hominibus nec Pater vester dimittet vobis peccata vestra. Cum autem jejunatis, nolite fieri sicut hypocritæ, tristes. Exterminant enim facies suas, ut appareant hominibus jejunantes. Amen dico vobis, quia receperunt mercedem suam. Tu autem, cum jejunas, unge caput tuum, et faciem tuam lava, ne videaris hominibus jejunans, sed Patri tuo, qui est in abscondito et Pater tuus, qui videt in abscondito, reddet tibi. Nolite thesaurizare vobis thesauros in terra ubi ærugo, et tinea demolitur et ubi fures effodiunt, et furantur. Thesaurizate autem vobis thesauros in cælo, ubi neque ærugo, neque tinea demolitur, et ubi fures non effodiunt, nec furantur. Ubi enim est thesaurus tuus, ibi est et cor tuum. Lucerna corporis tui est oculus tuus. Si oculus tuus fuerit simplex, totum corpus tuum lucidum erit. Si autem oculus tuus fuerit nequam, totum corpus tuum tenebrosum erit. Si ergo lumen, quod in te est, tenebræ sunt ipsæ tenebræ quantæ erunt? Nemo potest duobus dominis servire aut enim unum odio habebit, et alterum diliget aut unum sustinebit, et alterum contemnet. Non potestis Deo servire et mammonæ. Ideo dico vobis, ne solliciti sitis animæ vestræ quid manducetis, neque corpori vestro quid.
+
+Omnem infirmitatem in populo. Et abiit opinio ejus in totam Syriam, et obtulerunt ei omnes male habentes, variis languoribus, et tormentis comprehensos, et qui dæmonia habebant, et lunaticos, et paralyticos, et curavit eos et secutæ sunt eum turbæ multæ de Galilæa, et Decapoli, et de Jerosolymis, et de Judæa, et de trans Jordanem. Videns autem Jesus turbas, ascendit in montem, et cum sedisset, accesserunt ad eum discipuli ejus, et aperiens os suum docebat eos dicens Beati pauperes spiritu quoniam ipsorum est regnum cælorum. Beati mites quoniam ipsi possidebunt terram. Beati qui lugent quoniam ipsi consolabuntur. Beati qui esuriunt et sitiunt justitiam quoniam ipsi saturabuntur. Beati misericordes quoniam ipsi misericordiam consequentur. Beati mundo corde quoniam ipsi Deum videbunt. Beati pacifici quoniam filii Dei vocabuntur. Beati qui persecutionem patiuntur propter justitiam quoniam ipsorum est regnum cælorum. Beati estis cum maledixerint vobis, et persecuti vos fuerint, et dixerint omne malum adversum vos mentientes, propter.
+
+Ejus nocte, et secessit in Ægyptum et erat ibi usque ad obitum Herodis ut adimpleretur quod dictum est a Domino per prophetam dicentem Ex Ægypto vocavi filium meum. Tunc Herodes videns quoniam illusus esset a magis, iratus est valde, et mittens occidit omnes pueros, qui erant in Bethlehem, et in omnibus finibus ejus, a bimatu et infra secundum tempus, quod exquisierat a magis. Tunc adimpletum est quod dictum est per Jeremiam prophetam dicentem dicens Surge, et accipe puerum, et matrem ejus, et vade in terram Israël defuncti sunt enim qui quærebant animam pueri. Qui consurgens, accepit puerum, et matrem ejus, et venit in terram Israël. Audiens autem quod Archelaus regnaret in Judæa pro Herode patre suo, timuit illo ire et admonitus in somnis, secessit in partes Galilææ. Et veniens habitavit in civitate quæ vocatur Nazareth ut adimpleretur quod dictum est per prophetas Quoniam Nazaræus vocabitur. In diebus autem illis venit Joannes Baptista prædicans in deserto Judææ, et dicens Pœnitentiam agite appropinquavit enim regnum cælorum. Hic est enim, qui dictus est per Isaiam prophetam dicentem Vox clamantis in deserto Parate viam Domini; rectas.
+
+Ipsi consolabuntur. Beati qui esuriunt et sitiunt justitiam quoniam ipsi saturabuntur. Beati misericordes quoniam ipsi misericordiam consequentur. Beati mundo corde quoniam ipsi Deum videbunt. Beati pacifici quoniam filii Dei vocabuntur. Beati qui persecutionem patiuntur propter justitiam quoniam ipsorum est regnum cælorum. Beati estis cum maledixerint vobis, et persecuti vos fuerint, et dixerint omne malum adversum vos mentientes, propter me gaudete, et exsultate, quoniam merces vestra copiosa est in cælis. Sic enim persecuti sunt prophetas, qui fuerunt ante vos. Vos estis sal terræ. Quod si sal evanuerit, in quo salietur? ad nihilum valet ultra, nisi ut mittatur foras, et conculcetur ab hominibus. Vos estis lux ==four== mundi. Non potest civitas abscondi supra montem posita, neque accendunt lucernam, et ponunt eam sub modio, sed super candelabrum, ut luceat omnibus qui in domo sunt. Sic luceat lux vestra coram hominibus ut videant opera vestra bona, et glorificent Patrem vestrum, qui in cælis est. Nolite putare quoniam veni solvere legem aut prophetas non veni solvere, sed adimplere. Amen quippe dico vobis, donec transeat cælum et terra, jota unum aut unus apex non præteribit a lege, donec omnia fiant. Qui ergo solverit unum de mandatis istis minimis, et docuerit sic homines, minimus vocabitur.
diff --git a/src/lib/content/base.ts b/src/lib/content/base.ts
new file mode 100644
index 0000000..336a916
--- /dev/null
+++ b/src/lib/content/base.ts
@@ -0,0 +1,6 @@
+import { createReader } from '@keystatic/core/reader'
+import { cache } from 'react'
+import keystaticConfig from '~/keystatic.config'
+
+export const reader = createReader(process.cwd(), keystaticConfig)
+export { cache }
diff --git a/src/lib/content/meta/articles.ts b/src/lib/content/meta/articles.ts
new file mode 100644
index 0000000..b702adc
--- /dev/null
+++ b/src/lib/content/meta/articles.ts
@@ -0,0 +1,9 @@
+import { cache, reader } from '@/lib/content/base'
+
+export const getArticles = cache(async () =>
+ reader.collections['meta_posts'].all()
+)
+
+export const getArticleBySlug = cache(async (slug: string) =>
+ reader.collections['meta_posts'].read(slug)
+)
diff --git a/src/lib/content/taxonomy/authors.ts b/src/lib/content/taxonomy/authors.ts
new file mode 100644
index 0000000..ceb5d60
--- /dev/null
+++ b/src/lib/content/taxonomy/authors.ts
@@ -0,0 +1,7 @@
+import { cache, reader } from '@/lib/content/base'
+
+export const getAuthors = cache(async () => reader.collections['authors'].all())
+
+export const getAuthorBySlug = cache(async (slug: string) =>
+ reader.collections['authors'].read(slug)
+)
diff --git a/src/lib/content/taxonomy/tags.ts b/src/lib/content/taxonomy/tags.ts
new file mode 100644
index 0000000..e8b0a45
--- /dev/null
+++ b/src/lib/content/taxonomy/tags.ts
@@ -0,0 +1,7 @@
+import { cache, reader } from '@/lib/content/base'
+
+export const getTags = cache(async () => reader.collections['tags'].all())
+
+export const getTagBySlug = cache(async (slug: string) =>
+ reader.collections['tags'].read(slug)
+)
diff --git a/src/lib/keystatic/collections/meta/article.ts b/src/lib/keystatic/collections/meta/article.ts
new file mode 100644
index 0000000..9e49412
--- /dev/null
+++ b/src/lib/keystatic/collections/meta/article.ts
@@ -0,0 +1,12 @@
+import { createArticleFields } from '@/lib/keystatic/fields/article'
+import { collection } from '@keystatic/core'
+
+export const MetaPostsCollection = collection({
+ label: 'Meta – Posts',
+ slugField: 'title',
+ path: 'src/content/the-metatron/*',
+ format: { contentField: 'content' },
+ schema: {
+ ...createArticleFields('the-metatron'),
+ },
+})
diff --git a/src/lib/keystatic/collections/taxonomy/authors.ts b/src/lib/keystatic/collections/taxonomy/authors.ts
new file mode 100644
index 0000000..1f34147
--- /dev/null
+++ b/src/lib/keystatic/collections/taxonomy/authors.ts
@@ -0,0 +1,26 @@
+import { collection, fields } from '@keystatic/core'
+
+export const AuthorsCollection = collection({
+ label: 'Authors',
+ slugField: 'name',
+ path: 'src/content/taxonomy/authors/*',
+ format: { data: 'json' },
+ schema: {
+ name: fields.slug({ name: { label: 'Name' } }),
+ avatar: fields.image({
+ label: 'Avatar',
+ directory: 'public/images/authors',
+ publicPath: '/images/authors',
+ }),
+ description: fields.text({ label: 'Description', multiline: true }),
+ test: fields.markdoc({
+ label: 'Test',
+ options: {
+ image: {
+ directory: 'public/images/authors',
+ publicPath: '/images/authors',
+ },
+ },
+ }),
+ },
+})
diff --git a/src/lib/keystatic/collections/taxonomy/tags.ts b/src/lib/keystatic/collections/taxonomy/tags.ts
new file mode 100644
index 0000000..f4f9252
--- /dev/null
+++ b/src/lib/keystatic/collections/taxonomy/tags.ts
@@ -0,0 +1,13 @@
+import { collection, fields } from '@keystatic/core'
+
+export const TagsCollection = collection({
+ label: 'Tags',
+ slugField: 'name',
+ path: 'src/content/taxonomy/tags/*',
+ format: { data: 'json' },
+ schema: {
+ name: fields.slug({ name: { label: 'Name' } }),
+ icon: fields.image({ label: 'Icon' }),
+ description: fields.text({ label: 'Description', multiline: true }),
+ },
+})
diff --git a/src/lib/keystatic/components/DefinitionList.ts b/src/lib/keystatic/components/DefinitionList.ts
new file mode 100644
index 0000000..48738f6
--- /dev/null
+++ b/src/lib/keystatic/components/DefinitionList.ts
@@ -0,0 +1,19 @@
+import { fileTextIcon } from '@keystar/ui/icon/icons/fileTextIcon'
+import { fields } from '@keystatic/core'
+import { repeating, wrapper } from '@keystatic/core/content-components'
+
+export const definitionListComponents = {
+ DefinitionList: repeating({
+ label: 'Definition List',
+ icon: fileTextIcon,
+ children: ['DefinitionItem'],
+ schema: {},
+ }),
+ DefinitionItem: wrapper({
+ label: 'Definition Item',
+ forSpecificLocations: true,
+ schema: {
+ term: fields.text({ label: 'Term' }),
+ },
+ }),
+}
diff --git a/src/lib/keystatic/fields/article.ts b/src/lib/keystatic/fields/article.ts
new file mode 100644
index 0000000..219ac86
--- /dev/null
+++ b/src/lib/keystatic/fields/article.ts
@@ -0,0 +1,18 @@
+import { createContentField } from '@/lib/keystatic/fields/content'
+import { fields } from '@keystatic/core'
+import { createPublishingField } from './publishing'
+import { createSeoField } from './seo'
+
+export const createArticleFields = (imageSubfolder: string) => ({
+ title: fields.slug({ name: { label: 'Title' } }),
+ summary: fields.text({ label: 'Summary', multiline: true }),
+ cover: fields.image({
+ label: 'Cover Image',
+ directory: `public/images/covers/${imageSubfolder}`,
+ publicPath: `/images/covers/${imageSubfolder}`,
+ }),
+ coverAlt: fields.text({ label: 'Cover Alt Text' }),
+ publishing: createPublishingField(),
+ seo: createSeoField(),
+ content: createContentField(imageSubfolder),
+})
diff --git a/src/lib/keystatic/fields/content.ts b/src/lib/keystatic/fields/content.ts
new file mode 100644
index 0000000..88647dd
--- /dev/null
+++ b/src/lib/keystatic/fields/content.ts
@@ -0,0 +1,16 @@
+import { definitionListComponents } from '@/lib/keystatic/components/DefinitionList'
+import { fields } from '@keystatic/core'
+
+export const createContentField = (imageSubfolder: string) =>
+ fields.markdoc({
+ label: 'Content',
+ options: {
+ image: {
+ directory: `public/images/content/${imageSubfolder}`,
+ publicPath: `/images/content/${imageSubfolder}`,
+ },
+ },
+ components: {
+ ...definitionListComponents,
+ },
+ })
diff --git a/src/lib/keystatic/fields/publishing.ts b/src/lib/keystatic/fields/publishing.ts
new file mode 100644
index 0000000..4712641
--- /dev/null
+++ b/src/lib/keystatic/fields/publishing.ts
@@ -0,0 +1,41 @@
+import type { ComponentSchema } from '@keystatic/core'
+import { fields } from '@keystatic/core'
+
+export const createPublishingField = (): ComponentSchema =>
+ fields.object(
+ {
+ publishDate: fields.date({ label: 'Publish Date' }),
+ editDate: fields.date({ label: 'Edit Date' }),
+ status: fields.select({
+ label: 'Status',
+ options: [
+ { label: 'Draft', value: 'draft' },
+ { label: 'Published', value: 'published' },
+ { label: 'Archived', value: 'archived' },
+ ],
+ defaultValue: 'draft',
+ }),
+ featured: fields.checkbox({
+ label: 'Featured',
+ description: 'Show on Homepage',
+ }),
+ tags: fields.array(
+ fields.relationship({
+ label: 'Tags',
+ collection: 'tags',
+ }),
+ {
+ label: 'Tags',
+ itemLabel: (props) => props.value || 'Select Tag',
+ }
+ ),
+ author: fields.relationship({
+ label: 'Author',
+ collection: 'authors',
+ }),
+ },
+ {
+ label: 'Publishing',
+ layout: [4, 4, 4, 12, 12, 12],
+ }
+ )
diff --git a/src/lib/keystatic/fields/seo.ts b/src/lib/keystatic/fields/seo.ts
new file mode 100644
index 0000000..b921192
--- /dev/null
+++ b/src/lib/keystatic/fields/seo.ts
@@ -0,0 +1,26 @@
+import type { ComponentSchema } from '@keystatic/core'
+import { fields } from '@keystatic/core'
+export const createSeoField = (): ComponentSchema =>
+ fields.object(
+ {
+ metaTitle: fields.text({
+ label: 'Meta Title',
+ validation: { length: { max: 60 } },
+ }),
+ metaDescription: fields.text({
+ label: 'Meta Description',
+ multiline: true,
+ validation: { length: { max: 160 } },
+ }),
+ keywords: fields.array(fields.text({ label: 'Keyword' }), {
+ label: 'SEO Keywords',
+ }),
+ noIndex: fields.checkbox({
+ label: 'No Index',
+ description: 'Prevent search engines from indexing',
+ }),
+ },
+ {
+ label: 'SEO Settings',
+ }
+ )
diff --git a/src/lib/markdoc/tags.ts b/src/lib/markdoc/tags.ts
new file mode 100644
index 0000000..229ceff
--- /dev/null
+++ b/src/lib/markdoc/tags.ts
@@ -0,0 +1,13 @@
+import { Config } from '@markdoc/markdoc'
+
+export const tags: Config['tags'] = {
+ DefinitionList: {
+ render: 'DefinitionList', // String
+ },
+ DefinitionItem: {
+ render: 'DefinitionItem', // String
+ attributes: {
+ term: { type: String, required: true },
+ },
+ },
+}
diff --git a/src/styles/base/form.css b/src/styles/base/form.css
deleted file mode 100644
index 8d061a7..0000000
--- a/src/styles/base/form.css
+++ /dev/null
@@ -1,330 +0,0 @@
-input,
-select,
-textarea {
- margin: var(--spacing-snug) 0;
-}
-
-input[type="text"],
-input[type="email"],
-input[type="password"],
-input[type="url"],
-input[type="tel"],
-input[type="search"],
-input[type="number"] {
- width: 100%;
- padding: var(--spacing-tight) var(--spacing-snug);
- border: none;
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
- font-family: var(--font-mono), monospace;
- color: var(--color-text-primary);
-
- background: transparent;
-
- transition: all 0.2s ease;
-}
-
-input:focus {
- border-bottom-color: var(--color-text-primary);
- color: var(--color-surface-base);
- background: var(--color-text-primary);
- outline: none;
-}
-
-input[type="time"],
-input[type="date"],
-input[type="datetime-local"],
-input[type="week"],
-input[type="month"] {
- width: 100%;
- margin: var(--spacing-snug) 0;
- padding: var(--spacing-tight) var(--spacing-snug);
- border: none;
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-md);
- color: var(--color-text-primary);
-
- background: transparent;
-
- transition: all 0.2s ease;
-
- &:active,
- &:focus-within {
- border-bottom-color: var(--color-text-primary);
- color: var(--color-surface-base);
- background: var(--color-text-primary);
- outline: none;
- }
-}
-
-textarea {
- resize: vertical; /* only allow vertical resizing */
-
- width: 100%;
- min-height: var(--size-32);
- margin: var(--spacing-snug) 0;
- padding: var(--spacing-tight) var(--spacing-snug);
- border: none;
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-md);
- color: var(--color-surface-base);
-
- background: var(--color-text-primary);
-}
-
-legend {
- width: 100%;
- margin: var(--spacing-snug) 0;
- padding: var(--spacing-snug) var(--spacing-comfortable);
- border: none;
-
- font-family: var(--font-display), serif;
- font-size: var(--typo-size-xl);
- font-weight: var(--typo-weight-black);
- color: var(--color-surface-base);
- text-align: center;
- text-transform: uppercase;
- letter-spacing: 0.035em;
-
- background: var(--color-text-primary);
-}
-
-input[type="checkbox"] {
- cursor: pointer;
-
- position: relative;
-
- width: var(--size-6);
- height: var(--size-6);
-
- appearance: none;
- background: var(--color-text-primary);
-
- &:checked {
- &::after {
- content: "✔";
-
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-
- font-size: 0.9rem;
- font-weight: bold;
- color: var(--color-surface-base);
- }
- }
-}
-
-input[type="radio"] {
- cursor: pointer;
-
- position: relative;
-
- width: var(--size-6);
- height: var(--size-6);
- border-radius: 50%;
-
- appearance: none;
- background: var(--color-text-primary);
-
- &:checked {
- &::after {
- content: "";
-
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-
- width: var(--size-2);
- height: var(--size-2);
- border-radius: 50%;
-
- background: var(--color-surface-base);
- }
- }
-}
-
-input[type="color"] {
- cursor: pointer;
-
- width: var(--size-10);
- height: var(--size-10);
- padding: 0;
- border: var(--size-2) solid var(--color-text-primary);
-
- appearance: none;
- background: transparent;
-
- &::-webkit-color-swatch {
- border: none;
- border-radius: 0;
- }
-
- &::-webkit-color-swatch-wrapper {
- padding: var(--size-0);
- border: none;
- }
-}
-
-input[type="file"],
-input[type="image"]{
- cursor: pointer;
-
- padding: 0;
- border: none;
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- color: var(--color-text-primary);
-
- background: transparent;
-
- &::file-selector-button {
- cursor: pointer;
-
- margin-right: var(--spacing-snug);
- padding: var(--spacing-tight) var(--spacing-snug);
- border: none;
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- font-weight: var(--typo-weight-bold);
- color: var(--color-surface-base);
-
- background: var(--color-text-primary);
- }
-
- &:focus {
- border-bottom-color: var(--color-text-primary);
- outline: none;
- }
-}
-
-input[type="range"] {
- cursor: pointer;
-
- width: 100%;
- height: var(--size-2);
-
- appearance: none;
- background: var(--color-text-secondary);
-
- &::-webkit-slider-thumb {
- cursor: pointer;
-
- width: 1rem;
- height: 1rem;
- border: none;
-
- appearance: none;
- background: var(--color-text-primary);
- }
-
- &::-moz-range-thumb {
- cursor: pointer;
-
- width: 1rem;
- height: 1rem;
- border: none;
- border-radius: 0;
-
- background: var(--color-text-primary);
- }
-}
-
-input[type="hidden"] {
- display: none;
-}
-
-input[type="image"] {
- cursor: pointer;
- max-width: 100%;
- height: auto;
- border: var(--size-2) solid var(--color-text-primary);
-
- &:hover {
- opacity: 0.8;
- }
-
- &:focus {
- outline: none;
- box-shadow: 0 0 0 2px var(--color-text-primary);
- }
-
-
-}
-
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-button {
- cursor: pointer;
-
- padding: var(--spacing-snug) var(--spacing-comfortable);
- border: var(--size-2) solid var(--color-text-primary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- font-weight: var(--typo-weight-bold);
- color: var(--color-text-primary);
- text-transform: uppercase;
-
- background: var(--color-surface-base);
-
- transition: all 0.2s ease;
-
- &:focus {
- outline: none;
- box-shadow: 0 0 0 2px var(--color-text-primary);
- }
-
- &:hover {
- color: var(--color-surface-base);
- background: var(--color-text-primary);
- }
-}
-
-select {
- cursor: pointer;
-
- padding: var(--spacing-tight) var(--spacing-snug);
- padding-right: calc(var(--spacing-snug) + 1.5rem);
- border: none;
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-md);
- color: var(--color-text-primary);
-
- appearance: none;
- background: transparent;
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
- background-repeat: no-repeat;
- background-position: right var(--spacing-snug) center;
- background-size: 1rem;
-
- &:focus {
- border-bottom-color: var(--color-text-primary);
- color: var(--color-surface-base);
- background-color: var(--color-text-primary);
- outline: none;
- }
-
- & optgroup {
- font-weight: var(--typo-weight-bold);
- color: var(--color-text-primary);
- background: var(--color-surface-elevated-2);
- }
-
- & option {
- font-weight: var(--typo-weight-regular);
- color: var(--color-text-primary);
- background: var(--color-surface-base);
- }
-}
diff --git a/src/styles/base/helpers.css b/src/styles/base/helpers.css
deleted file mode 100644
index fa00b05..0000000
--- a/src/styles/base/helpers.css
+++ /dev/null
@@ -1,28 +0,0 @@
-.content {
- max-width: clamp(60ch, 90vw, 90ch);
- margin: 0 auto;
- padding: 0 var(--spacing-comfortable);
- font-size: clamp(1rem, 2.5vw, 1.25rem);
-}
-
-@keyframes slide-down {
- from {
- max-height: 2em;
- }
-
- to {
- max-height: 500px;
- }
-}
-
-@keyframes scale-up-ver-top {
- 0% {
- transform-origin: 100% 0%;
- transform: scaleY(0.4);
- }
-
- 100% {
- transform-origin: 100% 0%;
- transform: scaleY(1);
- }
-}
\ No newline at end of file
diff --git a/src/styles/base/inline.css b/src/styles/base/inline.css
deleted file mode 100644
index d6f3348..0000000
--- a/src/styles/base/inline.css
+++ /dev/null
@@ -1,156 +0,0 @@
-em,
-i {
- padding: 0.1em 0.2em;
-
- font-weight: var(--typo-weight-semibold);
- font-style: normal;
- color: var(--color-surface-base);
- letter-spacing: var(--typo-spacing-relaxed);
-
- background: var(--color-primary)
-}
-
-strong,
-b {
- font-weight: var(--typo-weight-black);
- letter-spacing: var(--typo-spacing-loose);
-}
-
-a {
- position: relative;
-
- padding: 0.1em 0.2em;
-
- font-weight: var(--typo-weight-semibold);
- color: var(--color-text-primary);
- text-decoration: underline;
- text-decoration-thickness: var(--size-1);
- text-underline-offset: 2px;
-
- transition: color 0.5s ease-in-out, background 0.5s ease-in-out;
-
-
- &:hover {
- cursor: pointer;
- color: var(--color-surface-base);
- text-decoration: none;
- background: var(--color-text-primary);
- }
-
- &:visited,
- &:active {
- color: var(--color-primary-emphasis);
- }
-}
-
-code {
- padding: 0.1em 0.3em;
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- color: var(--color-surface-base);
-
- background: var(--color-text-primary);
-}
-
-kbd {
- padding: 0.1em 0.3em;
- border: 1px solid var(--color-text-primary);
- border-radius: 2px;
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-xs);
- color: var(--color-surface-base);
- text-transform: uppercase;
-
- background: var(--color-text-secondary);
-}
-
-samp {
- padding: 0.1em 0.3em;
- border-left: var(--size-1) solid var(--color-text-tertiary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- color: var(--color-text-primary);
-
- background: var(--color-surface-elevated-2);
-}
-
-var {
- font-family: var(--font-mono), monospace;
- font-weight: var(--typo-weight-semibold);
- font-style: normal;
- color: var(--color-text-secondary);
-}
-
-mark {
- padding: 0.1em 0.2em;
- font-weight: var(--typo-weight-semibold);
- color: var(--color-surface-base);
- background: var(--color-primary);
-}
-
-small {
- font-size: var(--typo-size-xs);
- color: var(--color-text-tertiary);
-}
-
-sub, sup {
- font-size: 0.5625em;
- font-weight: var(--typo-weight-semibold);
- color: var(--color-text-secondary);
-}
-
-del,
-s {
- color: var(--color-text-tertiary);
- text-decoration: line-through;
- text-decoration-thickness: var(--size-1);
-}
-
-ins {
- font-weight: var(--typo-weight-semibold);
- color: var(--color-text-primary);
- text-decoration: underline;
- text-decoration-color: var(--color-primary);
- text-decoration-thickness: var(--size-1);
-
- background: transparent;
-}
-
-abbr {
- cursor: help;
- text-decoration: underline dotted;
- text-underline-offset: var(--size-1);
-}
-
-dfn {
- font-weight: var(--typo-weight-bold);
- font-style: normal;
- color: var(--color-text-primary);
-}
-
-cite {
- font-weight: var(--typo-weight-semibold);
- font-style: normal;
- color: var(--color-text-secondary);
-}
-
-q {
- font-style: normal;
-
- &::before {
- content: "»";
- }
-
- &::after {
- content: "«";
- }
-}
-
-time {
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- color: var(--color-text-secondary);
-}
\ No newline at end of file
diff --git a/src/styles/base/keyframes.css b/src/styles/base/keyframes.css
deleted file mode 100644
index 4245122..0000000
--- a/src/styles/base/keyframes.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@keyframes line-up {
- 0% {
- transform-origin: 50% 100%;
- transform: scale3d(1, 0.045, 1);
- }
-
- 50% {
- transform-origin: 50% 100%;
- transform: scale3d(1, 1, 1);
- }
-
- 51% {
- transform-origin: 50% 0%;
- transform: scale3d(1, 1, 1);
- }
-
- 100% {
- transform-origin: 50% 0%;
- transform: scale3d(1, 0.045, 1);
- }
-}
\ No newline at end of file
diff --git a/src/styles/base/lists.css b/src/styles/base/lists.css
deleted file mode 100644
index 012fc32..0000000
--- a/src/styles/base/lists.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ul {
- padding-left: var(--element-list-indent-l1);
-
- & li {
- padding-left: var(--spacing-snug);
-
- &::marker {
- content: var(--element-ul-symbol-l1);
- color: var(--color-text-tertiary);
- }
- }
-
- & ul {
- padding-left: var(--element-list-indent-l2);
-
- & li::marker {
- content: var(--element-ul-symbol-l2);
- }
-
- & ul {
- padding-left: var(--element-list-indent-l3);
-
- & li::marker {
- content: var(--element-ul-symbol-l3);
- }
-
- & ul {
- padding-left: var(--element-list-indent-l4);
-
- & li::marker {
- content: var(--element-ul-symbol-l4);
- }
- }
- }
- }
-}
-
-ol {
- counter-reset: ol-counter-l1;
- padding-left: var(--element-list-indent-l1);
-
- & li {
- counter-increment: ol-counter-l1;
- padding-left: var(--spacing-comfortable);
-
- &::marker {
- content: var(--element-ol-prefix-l1) counter(ol-counter-l1, var(--element-ol-style-l1)) var(--element-ol-suffix-l1);
- color: var(--color-text-tertiary);
- }
- }
-
- & ol {
- counter-reset: ol-counter-l2;
- padding-left: var(--element-list-indent-l2);
-
- & li {
- counter-increment: ol-counter-l2;
-
- &::marker {
- content: var(--element-ol-prefix-l2) counter(ol-counter-l2, var(--element-ol-style-l2)) var(--element-ol-suffix-l2);
- }
- }
-
- & ol {
- counter-reset: ol-counter-l3;
- padding-left: var(--element-list-indent-l3);
-
- & li {
- counter-increment: ol-counter-l3;
-
- &::marker {
- content: var(--element-ol-prefix-l3) counter(ol-counter-l3, var(--element-ol-style-l3)) var(--element-ol-suffix-l3);
- }
- }
-
- & ol {
- counter-reset: ol-counter-l4;
- padding-left: var(--element-list-indent-l4);
-
- & li {
- counter-increment: ol-counter-l4;
-
- &::marker {
- content: var(--element-ol-prefix-l4) counter(ol-counter-l4, var(--element-ol-style-l4)) var(--element-ol-suffix-l4);
- }
- }
- }
- }
- }
-}
-
-dt {
- padding: var(--spacing-snug);
-
- font-family: var(--font-display), serif;
- font-size: var(--typo-size-lg);
- font-weight: var(--typo-weight-black);
- line-height: 1.5385;
- color: var(--color-surface-base);
- text-transform: uppercase;
- letter-spacing: 0.035em;
-
- background: var(--color-text-secondary);
-}
-
-dd {
- margin: 0 0 var(--spacing-snug) 0;
- padding: var(--spacing-snug);
-
- & p {
- margin-bottom: 0;
- }
-}
\ No newline at end of file
diff --git a/src/styles/base/tables.css b/src/styles/base/tables.css
deleted file mode 100644
index ec75974..0000000
--- a/src/styles/base/tables.css
+++ /dev/null
@@ -1,44 +0,0 @@
-table {
- border-collapse: collapse;
-
- width: 100%;
- margin: var(--spacing-comfortable) 0;
- border: var(--size-2) solid var(--color-text-primary);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
-
- & thead th,
- & th {
- font-family: var(--font-display), serif;
- font-weight: var(--typo-weight-black);
- color: var(--color-surface-base);
- text-align: center;
- text-transform: uppercase;
-
- background: var(--color-text-primary);
- }
-
- & tbody td,
- & td {
- padding: var(--spacing-snug) var(--spacing-cozy);
- border: var(--size-1) solid var(--color-text-primary);
- text-align: center;
- background: var(--color-surface-base)
- }
-
- & td:first-child,
- & th:first-child {
- text-align: left;
- }
-
- & tfoot td {
- padding: var(--spacing-snug) var(--spacing-cozy);
- border: var(--size-px) solid var(--color-text-primary);
-
- font-weight: var(--typo-weight-bold);
- color: var(--color-surface-base);
-
- background: var(--color-text-secondary);
- }
-}
\ No newline at end of file
diff --git a/src/styles/base/typography.css b/src/styles/base/typography.css
deleted file mode 100644
index 86fc2dc..0000000
--- a/src/styles/base/typography.css
+++ /dev/null
@@ -1,254 +0,0 @@
-html {
- font-size: var(--typo-size-base);
-}
-
-body {
- font-family: var(--font-body), sans-serif;
- font-feature-settings: "kern" 1;
- font-weight: var(--typo-weight-regular);
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- line-height: var(--typo-leading-comfortable);
- color: var(--color-text-primary);
-
- background-color: var(--color-surface-base);
-}
-
-h1,h2,h3,h4,h5,h6 {
- font-family: var(--font-display), serif;
-}
-
-h1 {
- margin-bottom: var(--spacing-cozy);
- padding-bottom: var(--spacing-snug);
- border-bottom: var(--size-4) solid var(--color-text-primary);
-
- font-size: var(--typo-size-6xl);
- font-weight: var(--typo-weight-black);
- line-height: 1.125;
- text-transform: uppercase;
- letter-spacing: -0.0137em;
-}
-
-h2 {
- margin: var(--spacing-relaxed) 0 var(--spacing-cozy) 0;
- padding-left: var(--spacing-cozy);
- border-left: var(--size-4) solid var(--color-text-primary);
-
- font-size: var(--typo-size-5xl);
- font-weight: var(--typo-weight-black);
- line-height: 1.1765;
- text-transform: uppercase;
- letter-spacing: -0.0096em;
-}
-
-h3 {
- margin: var(--spacing-comfortable) 0 var(--spacing-cozy) 0;
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
-
- font-size: var(--typo-size-4xl);
- font-weight: var(--typo-weight-extrabold);
- line-height: 1.2;
- color: var(--color-text-secondary);
- text-transform: uppercase;
- letter-spacing: -0.004em;
-}
-
-h4 {
- margin: var(--spacing-comfortable) 0 var(--spacing-snug) 0;
- padding: var(--spacing-tight) var(--spacing-snug);
-
- font-size: var(--typo-size-3xl);
- font-weight: var(--typo-weight-bold);
- line-height: 1.125;
- color: var(--color-surface-base);
- text-transform: uppercase;
- letter-spacing: 0.0025em;
-
- background: var(--color-text-primary);
-
-}
-
-h5 {
- position: relative;
-
- margin: var(--spacing-cozy) 0 var(--spacing-snug) 0;
- border-top: var(--size-2) solid var(--color-text-secondary);
- border-bottom: var(--size-2) solid var(--color-text-secondary);
-
- font-size: var(--typo-size-2xl);
- font-weight: var(--typo-weight-extrabold);
- line-height: 1.28;
- color: var(--color-text-secondary);
- text-align: center;
- text-transform: uppercase;
- letter-spacing: 0.05em;
-}
-
-h6 {
- margin: var(--spacing-cozy) 0 var(--spacing-snug) 0;
-
- font-size: var(--typo-size-xl);
- font-weight: var(--typo-weight-black);
- text-align: center;
- text-transform: uppercase;
- letter-spacing: 0.035em;
-
- /* &::after {
- content: "▼";
- display: block;
- font-size: 1.25em;
- } */
-}
-
-p {
- margin: var(--spacing-cozy) 0;
- font-size: var(--typo-size-md);
- line-height: var(--typo-leading-normal);
- text-align: justify;
-}
-
-h1 + p {
- font-size: var(--typo-size-xl);
- font-weight: var(--typo-weight-bold);
- line-height: 1.4;
- letter-spacing: 0.022em;
-}
-
-blockquote {
- margin: var(--spacing-comfortable) 0;
- padding: var(--spacing-snug) 0 var(--spacing-snug) var(--spacing-comfortable);
- border-left: var(--size-4) solid var(--color-text-tertiary);
- color: var(--color-text-tertiary);
-
- & p {
- margin-top: 0;
- }
-}
-
-pre {
- overflow-x: auto;
-
- margin: var(--spacing-comfortable) 0;
- padding: var(--spacing-comfortable);
-
- font-family: var(--font-mono), monospace;
- font-size: var(--typo-size-sm);
- line-height: 1.5385;
- color: var(--color-surface-base);
-
- background: var(--color-text-primary);
-}
-
-hr {
- position: relative;
-
- overflow: visible;
-
- height: var(--size-4);
- margin: var(--spacing-relaxed) 0;
- border: none;
-
- background-color: var(--color-text-primary);
-
- &::after {
- content: "▼";
-
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-
- padding: 0 var(--spacing-snug);
-
- font-size: var(--typo-size-4xl);
- line-height: var(--typo-leading-compressed);
- color: var(--color-text-primary);
-
- background-color: var(--color-surface-base);
- }
-}
-
-figure {
- margin: var(--spacing-relaxed) 0;
- padding: var(--spacing-comfortable) 0;
- border-top: var(--size-3) solid var(--color-text-primary);
- border-bottom: var(--size-3) solid var(--color-text-primary);
-
- & blockquote {
- position: relative;
-
- margin: var(--spacing-comfortable) 0;
- padding: var(--spacing-snug) 0 var(--spacing-comfortable) var(--spacing-comfortable);
- border: none;
-
- font-size: var(--typo-size-lg);
- font-weight: var(--typo-weight-extrabold);
- line-height: var(--typo-leading-loose);
- color: var(--color-text-tertiary);
-
- &::before {
- content: "";
-
- position: absolute;
- bottom: calc(var(--size-1)*-1);
- left: 50%;
- transform: translateX(-50%);
-
- width: var(--size-16);
- height: var(--size-2);
-
- background: var(--color-text-tertiary);
- }
-
- & p {
- margin: 0;
- text-align: center;
- }
- }
-
- & figcaption {
- margin-top: var(--spacing-snug);
-
- font-size: var(--typo-size-xs);
- color: var(--color-text-tertiary);
- text-align: center;
- text-transform: uppercase;
- letter-spacing: 0.074em;
- }
-}
-
-
-details {
- overflow: hidden;
-
- & summary {
- padding: var(--spacing-snug) 0;
-
- font-family: var(--font-display), serif;
- font-size: var(--typo-size-lg);
- font-weight: var(--typo-weight-black);
- line-height: 1.5385;
- color: var(--color-surface-base);
- text-transform: uppercase;
- letter-spacing: 0.035em;
-
- background: var(--color-text-secondary);
-
- &::marker {
- content: "🞃";
- position: absolute;
- right: 0;
- font-family: var(--font-body), sans-serif
- }
- }
-
- &[open] {
- summary {
- &::marker {
- content: "🞁";
- }
- }
- }
-}
diff --git a/src/styles/base/variables.css b/src/styles/base/variables.css
deleted file mode 100644
index f091d7d..0000000
--- a/src/styles/base/variables.css
+++ /dev/null
@@ -1,293 +0,0 @@
-:root {
- /* === TYPOGRAPHY === */
-
- /* == Font Families == */
- --font-display: 'Geist Variable';
- --font-body: 'Iosevka Aile';
- --font-mono: 'Iosevka';
-
- /* == Font Sizes == */
- --typo-size-base: 16px;
- --typo-size-6xl: 4em; /* 64px */
- --typo-size-5xl: 3.1875em; /* 51px */
- --typo-size-4xl: 2.5em; /* 40px */
- --typo-size-3xl: 2em; /* 32px */
- --typo-size-2xl: 1.5625em; /* 25px */
- --typo-size-xl: 1.25em; /* 20px */
- --typo-size-lg: 1.125em; /* 18px */
- --typo-size-md: 1em; /* 16px */
- --typo-size-sm: 0.875em; /* 14px */
- --typo-size-xs: 0.8125em; /* 13px */
- --typo-size-2xs: 0.625em; /* 10px */
-
- /* == Line Height == */
- --typo-leading-compressed: 1.0; /* 1.0 - very tight */
- --typo-leading-tight: 1.125; /* 1.125 - tight */
- --typo-leading-snug: 1.25; /* 1.25 - snug */
- --typo-leading-cozy: 1.375; /* 1.375 - cozy */
- --typo-leading-normal: 1.5; /* 1.5 - normal */
- --typo-leading-relaxed: 1.625; /* 1.625 - relaxed */
- --typo-leading-comfortable: 1.75; /* 1.75 - comfortable */
- --typo-leading-loose: 1.875; /* 1.875 - loose */
- --typo-leading-spacious: 2.0; /* 2.0 - very loose */
-
- /* == Letter Spacing == */
- --typo-spacing-tightest: -0.05em; /* -0.05em - very tight */
- --typo-spacing-tighter: -0.025em; /* -0.025em - tight */
- --typo-spacing-tight: -0.0125em; /* -0.0125em - slightly tight */
- --typo-spacing-normal: 0em; /* 0 - normal */
- --typo-spacing-relaxed: 0.025em; /* 0.025em - slightly loose */
- --typo-spacing-comfortable: 0.05em; /* 0.05em - comfortable */
- --typo-spacing-loose: 0.1em; /* 0.1em - loose */
- --typo-spacing-looser: 0.15em; /* 0.15em - very loose */
- --typo-spacing-loosest: 0.2em; /* 0.2em - extremely loose */
-
- /* == Font Weight == */
- --typo-weight-thin: 100;
- --typo-weight-extralight: 200;
- --typo-weight-light: 300;
- --typo-weight-regular: 400;
- --typo-weight-medium: 500;
- --typo-weight-semibold: 600;
- --typo-weight-bold: 700;
- --typo-weight-extrabold: 800;
- --typo-weight-black: 900;
-
- /* === SPACING === */
-
- /* == Base Size Units == */
- --size-0: 0;
- --size-px: 1px;
- --size-05: 0.125rem; /* 2px */
- --size-1: 0.25rem; /* 4px */
- --size-2: 0.5rem; /* 8px */
- --size-3: 0.75rem; /* 12px */
- --size-4: 1rem; /* 16px */
- --size-5: 1.25rem; /* 20px */
- --size-6: 1.5rem; /* 24px */
- --size-8: 2rem; /* 32px */
- --size-10: 2.5rem; /* 40px */
- --size-12: 3rem; /* 48px */
- --size-16: 4rem; /* 64px */
- --size-20: 5rem; /* 80px */
- --size-24: 6rem; /* 96px */
- --size-32: 8rem; /* 128px */
- --size-40: 10rem; /* 160px */
- --size-48: 12rem; /* 192px */
- --size-64: 16rem; /* 256px */
- --size-80: 20rem; /* 320px */
- --size-96: 24rem; /* 384px */
- --size-128: 32rem; /* 512px */
- --size-160: 40rem; /* 640px */
- --size-192: 48rem; /* 768px */
- --size-256: 64rem; /* 1024px */
- --size-320: 80rem; /* 1280px */
- --size-384: 96rem; /* 1536px */
- --size-360: 90rem; /* 1440px */
- --size-400: 100rem; /* 1600px */
- --size-480: 120rem; /* 1920px */
-
- /* == Semantic Spacing == */
- --spacing-none: var(--size-0);
- --spacing-hairline: var(--size-px);
- --spacing-tight: var(--size-1);
- --spacing-snug: var(--size-2);
- --spacing-cozy: var(--size-4);
- --spacing-comfortable: var(--size-6);
- --spacing-relaxed: var(--size-8);
- --spacing-spacious: var(--size-12);
- --spacing-generous: var(--size-16);
- --spacing-luxurious: var(--size-24);
- --spacing-expansive: var(--size-32);
-
- /* === LIST STYLING === */
-
- /* == List Indentation Levels == */
- --element-list-indent-l1: var(--spacing-cozy);
- --element-list-indent-l2: var(--spacing-cozy);
- --element-list-indent-l3: var(--spacing-cozy);
- --element-list-indent-l4: var(--spacing-cozy);
-
- /* == Unordered List Symbols == */
- --element-ul-symbol-l1: '⯃';
- --element-ul-symbol-l2: '⯁';
- --element-ul-symbol-l3: '⯆';
- --element-ul-symbol-l4: '⯀';
-
- /* == Ordered List Styling == */
- --element-ol-prefix-l1: '';
- --element-ol-style-l1: decimal;
- --element-ol-suffix-l1: '.)';
- --element-ol-prefix-l2: '';
- --element-ol-style-l2: lower-alpha;
- --element-ol-suffix-l2: '.)';
- --element-ol-prefix-l3: '';
- --element-ol-style-l3: decimal-leading-zero;
- --element-ol-suffix-l3: '';
- --element-ol-prefix-l4: '';
- --element-ol-style-l4: lower-greek;
- --element-ol-suffix-l4: '.)';
-
- /* === COLORS === */
-
- /* == Default Palette == */
-
- /* Blacks, Grays & Off-Whites */
- --color-palette-woodsmoke: oklch(15.5% 0.009 274.276deg); /* Woodsmoke: #0B0C10 */
- --color-palette-black-ink: oklch(21.9% 0.006 285.911deg); /* Shark: #1A1A1D */
- --color-palette-charcoal: oklch(26.6% 0.008 240.166deg); /* Shark2: #222629 */
- --color-palette-charcoal-gray: oklch(33.7% 0.026 266.801deg); /* Bright Gray: #313745 */
- --color-palette-slate-gray: oklch(33.3% 0 89.876deg); /* Mineshaft: #363636 */
- --color-palette-gunmetal: oklch(41.1% 0.008 248.035deg); /* Abbey2: #474B4F */
- --color-palette-carbon: oklch(39.8% 0 89.876deg); /* Tundora: #474747 */
- --color-palette-steel-gray: oklch(42.5% 0.003 286.26deg); /* Abbey: #4e4e50 */
- --color-palette-dusty-black: oklch(43.7% 0.013 17.672deg); /* DonJuan: #594F4F */
- --color-palette-stone: oklch(64.3% 0.005 91.471deg); /* Natural Gray: #8E8D8A */
- --color-palette-cloud-gray: oklch(53.6% 0.005 236.565deg); /* Nevada: #6B6E70 */
- --color-palette-silver: oklch(72.9% 0.001 17.185deg); /* Silver Chalice: #A8A7A7 */
- --color-palette-light-silver: oklch(82.6% 0.002 247.844deg); /* Silversand: #C5C6C7 */
- --color-palette-pale-gray: oklch(91.3% 0.004 91.449deg); /* Westar: #E3E2DF */
- --color-palette-pale-stone: oklch(89.7% 0.004 106.481deg); /* Quillgray: #DDDDDA */
- --color-palette-very-pale-gray: oklch(94.3% 0 89.876deg); /* Gallery: #ECECEC */
- --color-palette-off-white: oklch(98.1% 0.003 247.858deg); /* Catskill White: #F7F9fB */
- --color-palette-cat-squeeze: oklch(98.3% 0.004 236.496deg); /* Cat Squeeze: #F7FAFC */
- --color-palette-smoky-mauve: oklch(50% 0.054 308.622deg); /* Smoky: #6C5B7B */
-
- /* Reds */
- --color-palette-oxblood: oklch(30.5% 0.122 12.109deg); /* Bordeaux: #5D001E */
- --color-palette-deep-maroon: oklch(37.6% 0.109 11.682deg); /* Crown of Thorns: #6F2232 */
- --color-palette-crimson: oklch(43.2% 0.169 7.14deg); /* Monarch: #950740 */
- --color-palette-cherry-red: oklch(45.4% 0.168 1.454deg); /* Disco: #9A1750 */
- --color-palette-ruby: oklch(52.1% 0.206 15.782deg); /* Shiraz: #C3073F */
- --color-palette-red-clay: oklch(65.1% 0.178 27.507deg); /* Burnt Sienna: #E85A4F */
- --color-palette-lava: oklch(63.6% 0.193 17.075deg); /* Mandy: #E84A5F */
- --color-palette-vivid-scarlet: oklch(66.6% 0.221 15.669deg); /* Radical Red: #FE4365 */
-
- /* Pinks & Magentas */
- --color-palette-heliotrope: oklch(68.3% 0.217 353.666deg); /* Heliotrope: #F74FA3 */
- --color-palette-hot-pink: oklch(65.4% 0.2 6.69deg); /* French Rose: #EE4C7C */
- --color-palette-cerise: oklch(60.7% 0.23 18.554deg); /* Amaranth: #EC2049 */
- --color-palette-fuchsia: oklch(49.6% 0.181 351.176deg); /* Hibiscus: #A7226E */
- --color-palette-dusty-rose: oklch(63.2% 0.11 2.384deg); /* Turkish Rose: #C06C84 */
- --color-palette-berry: oklch(60.8% 0.159 2.621deg); /* Mulberry: #CC527A */
- --color-palette-petal-pink: oklch(80.5% 0.063 1.992deg); /* Rose Fog: #E3AFBC */
- --color-palette-coral-pink: oklch(71.2% 0.162 15.607deg); /* Froly: #F67280 */
- --color-palette-sweet-pink: oklch(79.2% 0.114 21.911deg); /* Sweet Pink: #FC9D9A */
-
- /* Oranges & Browns */
- --color-palette-persimmon: oklch(68.6% 0.179 40.01deg); /* Flamingo: #F26B38 */
- --color-palette-terracotta: oklch(71.3% 0.131 27.646deg); /* Apricot: #E98074 */
- --color-palette-tan: oklch(82.7% 0.047 76.752deg); /* Akaroa: #D8C3A5 */
- --color-palette-peach: oklch(88.5% 0.072 57.746deg); /* Flesh: #FECEAB */
- --color-palette-pastel-orange: oklch(82.1% 0.092 42.408deg); /* Rosebud: #F8B195 */
- --color-palette-light-apricot: oklch(87.8% 0.066 57.778deg); /* Vivid Tangerine: #F9CDAD */
- --color-palette-bone-white: oklch(92.7% 0.015 94.206deg); /* Satin Linen: #EAE7DC */
-
- /* Yellows */
- --color-palette-ripe-lemon: oklch(83.9% 0.167 91.469deg); /* Ripe Lemon: #F2C51D */
- --color-palette-bright-canary: oklch(89% 0.157 97.726deg); /* Energy Yellow: #F7DB4F */
- --color-palette-pale-lemon: oklch(95.6% 0.104 121.573deg); /* Mimosa: #E5FCAD */
-
- /* Greens */
- --color-palette-forest-green: oklch(58.1% 0.127 130.001deg); /* Crete: #61892F */
- --color-palette-lime-green: oklch(74.6% 0.18 129.939deg); /* Atlantis: #86C232 */
- --color-palette-electric-green: oklch(87.7% 0.227 137.099deg); /* Screaming Green: #87f74f */
- --color-palette-sage: oklch(75.1% 0.056 144.175deg); /* Norway: #87f74f */
- --color-palette-mint-green: oklch(84.8% 0.098 151.333deg); /* Chinook: #9de0ad */
- --color-palette-olive-drab: oklch(82.5% 0.042 107.285deg); /* Olive Drap: #C8C8A9 */
- --color-palette-seafoam: oklch(71.6% 0.056 165.214deg); /* Acapulco: #83AF9B */
-
- /* Blues & Teals */
- --color-palette-dark-navy: oklch(27.3% 0.024 253.693deg); /* Ebony Clay: #1F2833 */
- --color-palette-deep-teal: oklch(32.4% 0.018 225.132deg); /* Outer Space: #2A363B */
- --color-palette-royal-blue: oklch(46.1% 0.07 245.64deg); /* Ming: #355C7D */
- --color-palette-sky-blue: oklch(76.3% 0.129 233.891deg); /* Picton Blue: #4FBFF7 */
- --color-palette-slate-blue: oklch(55.1% 0.043 210.602deg); /* Cutty Sark: #547980 */
- --color-palette-turquoise: oklch(61.5% 0.091 198.865deg); /* Lochinvar: #2F9599 */
- --color-palette-aqua: oklch(68.6% 0.095 190.758deg); /* Keppel: #45ADA8 */
- --color-palette-electric-blue: oklch(90.8% 0.128 188.419deg); /* Aquamarine: #66FCF1 */
- --color-palette-powder-blue: oklch(88.2% 0.062 187.276deg); /* Powder Blue: #a9e6df */
- --color-palette-ice-blue: oklch(99.9% 0.001 197.139deg); /* Twilight Blue: #feffff */
-
- /* == Semantic Colors == */
-
- /* Primary Colors */
- --color-primary: var(--color-palette-lava);
- --color-primary-surface: var(--color-palette-sweet-pink);
- --color-primary-emphasis: var(--color-palette-cherry-red);
-
- /* Secondary Colors */
- --color-secondary: var(--color-palette-seafoam);
- --color-secondary-surface: var(--color-palette-olive-drab);
- --color-secondary-emphasis: var(--color-palette-mint-green);
-
- /* Tertiary Colors */
- --color-tertiary: var(--color-palette-bright-canary);
- --color-tertiary-surface: var(--color-palette-pale-lemon);
- --color-tertiary-emphasis: var(--color-palette-ripe-lemon);
-
- /* Quartenary Colors */
- --color-quarternary: var(--color-palette-powder-blue);
- --color-quarternary-surface: var(--color-palette-aqua);
- --color-quarternary-emphasis: var(--color-palette-slate-blue);
-
- /* Text Base Colors */
- --color-text-primary: var(--color-palette-black-ink); /* Main Body Texts, headlines */
- --color-text-secondary: var(--color-palette-charcoal); /* Subheading, Secondary Info */
- --color-text-tertiary: var(--color-palette-charcoal-gray); /* Captions, Meta Text */
- --color-text-quarternary: var(--color-palette-carbon); /* Placeholder Text */
- --color-text-inverse: var(--color-palette-ice-blue); /* Text on dark backgrounds */
- --color-text-disabled: var(--color-palette-cloud-gray); /* Disabled form labels, inactive text */
-
- /* Surface Base Colors */
- --color-surface-base: var(--color-palette-ice-blue); /* Main page background */
- --color-surface-elevated-1: var(--color-palette-off-white); /* Cards, Panels */
- --color-surface-elevated-2: var(--color-palette-very-pale-gray); /* Modals, Dropdowns */
- --color-surface-elevated-3: var(--color-palette-pale-gray); /* Tooltips, popovers */
- --color-surface-elevated-4: var(--color-palette-light-silver); /* Highest Elevation */
- --color-surface-inverse: var(--color-palette-black-ink); /* Darkest Surface for Contrast */
-
- /* Border Base Colors */
- --color-border-subtle: var(--color-palette-silver); /* Subtle Dividers, Card Borders */
- --color-border-normal: var(--color-palette-stone); /* Standard Borders, form fields */
- --color-border-strong: var(--color-palette-charcoal-gray); /* Emphasized Borders */
-
- /* State Colors */
- --color-state-error: var(--color-palette-cerise); /* Error Text, Container, icons */
- --color-state-warning: var(--color-palette-persimmon); /* Warning Text, Container, Icons */
- --color-state-success: var(--color-palette-lime-green); /* Success Text, Container, Icons */
- --color-state-info: var(--color-palette-royal-blue); /* Info Text, Container, Icons */
-
- /* Link Colors */
- --color-text-link: var(--color-text-tertiary);
- --color-text-link-hover: var(--color-secondary);
- --color-text-link-visited: var(--color-palette-fuchsia);
-
- /* Focus States */
- --color-focus-ring: var(--color-primary);
- --color-focus-ring-offset: var(--color-primary);
- --color-focus-indicator: var(--color-primary-emphasis)
-
- /* Overlays */;
- --color-utility-overlay-light: oklch(0% 0 0deg / 10%); /* Light overlays */
- --color-utility-overlay-medium: oklch(0% 0 0deg / 30%); /* Medium overlays */
- --color-utility-overlay-heavy: oklch(0% 0 0deg / 60%); /* Heavy overlays, modal backdrops */
- --color-surface-overlay: var(--color-utility-overlay-medium); /* Modal overlays, backdrop */
- --color-surface-backdrop: var(--color-utility-overlay-heavy); /* Full screen overlays */
-
- /* Loading/Skeleton */
- --color-utility-skeleton-base: var(--color-surface-elevated-2); /* Skeleton loader base */
- --color-utility-skeleton-shimmer: var(--color-surface-elevated-1); /* Skeleton shimmer effect */
-
- /* Dividers */
- --color-utility-divider: var(--color-border-subtle); /* Section dividers, HR elements */
- --color-utility-divider-strong: var(--color-border-normal); /* Emphasized dividers */
-
- /* Shadows */
- --color-utility-shadow: oklch(0% 0 0deg / 10%); /* Drop shadows */
- --color-utility-shadow-strong: oklch(0% 0 0deg / 25%); /* Strong shadows */
-
- /* Highlights */
- --color-utility-highlight: var(--color-tertiary-surface); /* Text highlighting, search results */
- --color-utility-highlight-strong: var(--color-tertiary); /* Strong highlighting */
-}
\ No newline at end of file
diff --git a/src/styles/settings.css b/src/styles/settings.css
new file mode 100644
index 0000000..46b16fe
--- /dev/null
+++ b/src/styles/settings.css
@@ -0,0 +1,6 @@
+@import url('./settings/colors.css');
+@import url('./settings/typography.css');
+@import url('./settings/dimensions.css');
+@import url('./settings/elements.css');
+@import url('./settings/animations.css');
+
diff --git a/src/styles/settings/animations.css b/src/styles/settings/animations.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/styles/settings/colors.css b/src/styles/settings/colors.css
new file mode 100644
index 0000000..173af4e
--- /dev/null
+++ b/src/styles/settings/colors.css
@@ -0,0 +1,162 @@
+:root {
+ /* === Default Palette === */
+
+ /* == Blacks, Grays & Off-Whites == */
+ --color-palette-woodsmoke: oklch(15.5% 0.009 274.276deg); /* Woodsmoke: #0B0C10 */
+ --color-palette-black-ink: oklch(21.9% 0.006 285.911deg); /* Shark: #1A1A1D */
+ --color-palette-charcoal: oklch(26.6% 0.008 240.166deg); /* Shark2: #222629 */
+ --color-palette-charcoal-gray: oklch(33.7% 0.026 266.801deg); /* Bright Gray: #313745 */
+ --color-palette-slate-gray: oklch(33.3% 0 89.876deg); /* Mineshaft: #363636 */
+ --color-palette-gunmetal: oklch(41.1% 0.008 248.035deg); /* Abbey2: #474B4F */
+ --color-palette-carbon: oklch(39.8% 0 89.876deg); /* Tundora: #474747 */
+ --color-palette-steel-gray: oklch(42.5% 0.003 286.26deg); /* Abbey: #4e4e50 */
+ --color-palette-dusty-black: oklch(43.7% 0.013 17.672deg); /* DonJuan: #594F4F */
+ --color-palette-stone: oklch(64.3% 0.005 91.471deg); /* Natural Gray: #8E8D8A */
+ --color-palette-cloud-gray: oklch(53.6% 0.005 236.565deg); /* Nevada: #6B6E70 */
+ --color-palette-silver: oklch(72.9% 0.001 17.185deg); /* Silver Chalice: #A8A7A7 */
+ --color-palette-light-silver: oklch(82.6% 0.002 247.844deg); /* Silversand: #C5C6C7 */
+ --color-palette-pale-gray: oklch(91.3% 0.004 91.449deg); /* Westar: #E3E2DF */
+ --color-palette-pale-stone: oklch(89.7% 0.004 106.481deg); /* Quillgray: #DDDDDA */
+ --color-palette-very-pale-gray: oklch(94.3% 0 89.876deg); /* Gallery: #ECECEC */
+ --color-palette-off-white: oklch(98.1% 0.003 247.858deg); /* Catskill White: #F7F9fB */
+ --color-palette-cat-squeeze: oklch(98.3% 0.004 236.496deg); /* Cat Squeeze: #F7FAFC */
+ --color-palette-smoky-mauve: oklch(50% 0.054 308.622deg); /* Smoky: #6C5B7B */
+
+ /* == Reds == */
+ --color-palette-oxblood: oklch(30.5% 0.122 12.109deg); /* Bordeaux: #5D001E */
+ --color-palette-deep-maroon: oklch(37.6% 0.109 11.682deg); /* Crown of Thorns: #6F2232 */
+ --color-palette-crimson: oklch(43.2% 0.169 7.14deg); /* Monarch: #950740 */
+ --color-palette-cherry-red: oklch(45.4% 0.168 1.454deg); /* Disco: #9A1750 */
+ --color-palette-ruby: oklch(52.1% 0.206 15.782deg); /* Shiraz: #C3073F */
+ --color-palette-red-clay: oklch(65.1% 0.178 27.507deg); /* Burnt Sienna: #E85A4F */
+ --color-palette-lava: oklch(63.6% 0.193 17.075deg); /* Mandy: #E84A5F */
+ --color-palette-vivid-scarlet: oklch(66.6% 0.221 15.669deg); /* Radical Red: #FE4365 */
+
+ /* == Pinks & Magentas == */
+ --color-palette-heliotrope: oklch(68.3% 0.217 353.666deg); /* Heliotrope: #F74FA3 */
+ --color-palette-hot-pink: oklch(65.4% 0.2 6.69deg); /* French Rose: #EE4C7C */
+ --color-palette-cerise: oklch(60.7% 0.23 18.554deg); /* Amaranth: #EC2049 */
+ --color-palette-fuchsia: oklch(49.6% 0.181 351.176deg); /* Hibiscus: #A7226E */
+ --color-palette-dusty-rose: oklch(63.2% 0.11 2.384deg); /* Turkish Rose: #C06C84 */
+ --color-palette-berry: oklch(60.8% 0.159 2.621deg); /* Mulberry: #CC527A */
+ --color-palette-petal-pink: oklch(80.5% 0.063 1.992deg); /* Rose Fog: #E3AFBC */
+ --color-palette-coral-pink: oklch(71.2% 0.162 15.607deg); /* Froly: #F67280 */
+ --color-palette-sweet-pink: oklch(79.2% 0.114 21.911deg); /* Sweet Pink: #FC9D9A */
+
+ /* == Oranges & Browns == */
+ --color-palette-persimmon: oklch(68.6% 0.179 40.01deg); /* Flamingo: #F26B38 */
+ --color-palette-terracotta: oklch(71.3% 0.131 27.646deg); /* Apricot: #E98074 */
+ --color-palette-tan: oklch(82.7% 0.047 76.752deg); /* Akaroa: #D8C3A5 */
+ --color-palette-peach: oklch(88.5% 0.072 57.746deg); /* Flesh: #FECEAB */
+ --color-palette-pastel-orange: oklch(82.1% 0.092 42.408deg); /* Rosebud: #F8B195 */
+ --color-palette-light-apricot: oklch(87.8% 0.066 57.778deg); /* Vivid Tangerine: #F9CDAD */
+ --color-palette-bone-white: oklch(92.7% 0.015 94.206deg); /* Satin Linen: #EAE7DC */
+
+ /* == Yellows == */
+ --color-palette-ripe-lemon: oklch(83.9% 0.167 91.469deg); /* Ripe Lemon: #F2C51D */
+ --color-palette-bright-canary: oklch(89% 0.157 97.726deg); /* Energy Yellow: #F7DB4F */
+ --color-palette-pale-lemon: oklch(95.6% 0.104 121.573deg); /* Mimosa: #E5FCAD */
+
+ /* == Greens == */
+ --color-palette-forest-green: oklch(58.1% 0.127 130.001deg); /* Crete: #61892F */
+ --color-palette-lime-green: oklch(74.6% 0.18 129.939deg); /* Atlantis: #86C232 */
+ --color-palette-electric-green: oklch(87.7% 0.227 137.099deg); /* Screaming Green: #87f74f */
+ --color-palette-sage: oklch(75.1% 0.056 144.175deg); /* Norway: #87f74f */
+ --color-palette-mint-green: oklch(84.8% 0.098 151.333deg); /* Chinook: #9de0ad */
+ --color-palette-olive-drab: oklch(82.5% 0.042 107.285deg); /* Olive Drap: #C8C8A9 */
+ --color-palette-seafoam: oklch(71.6% 0.056 165.214deg); /* Acapulco: #83AF9B */
+
+ /* == Blues & Teals == */
+ --color-palette-dark-navy: oklch(27.3% 0.024 253.693deg); /* Ebony Clay: #1F2833 */
+ --color-palette-deep-teal: oklch(32.4% 0.018 225.132deg); /* Outer Space: #2A363B */
+ --color-palette-royal-blue: oklch(46.1% 0.07 245.64deg); /* Ming: #355C7D */
+ --color-palette-sky-blue: oklch(76.3% 0.129 233.891deg); /* Picton Blue: #4FBFF7 */
+ --color-palette-slate-blue: oklch(55.1% 0.043 210.602deg); /* Cutty Sark: #547980 */
+ --color-palette-turquoise: oklch(61.5% 0.091 198.865deg); /* Lochinvar: #2F9599 */
+ --color-palette-aqua: oklch(68.6% 0.095 190.758deg); /* Keppel: #45ADA8 */
+ --color-palette-electric-blue: oklch(90.8% 0.128 188.419deg); /* Aquamarine: #66FCF1 */
+ --color-palette-powder-blue: oklch(88.2% 0.062 187.276deg); /* Powder Blue: #a9e6df */
+ --color-palette-ice-blue: oklch(99.9% 0.001 197.139deg); /* Twilight Blue: #feffff */
+
+ /* === Semantic Colors === */
+
+ /* == Primary Colors == */
+ --color-primary: var(--color-palette-lava);
+ --color-primary-surface: var(--color-palette-sweet-pink);
+ --color-primary-emphasis: var(--color-palette-cherry-red);
+
+ /* == Secondary Colors == */
+ --color-secondary: var(--color-palette-seafoam);
+ --color-secondary-surface: var(--color-palette-olive-drab);
+ --color-secondary-emphasis: var(--color-palette-mint-green);
+
+ /* == Tertiary Colors == */
+ --color-tertiary: var(--color-palette-bright-canary);
+ --color-tertiary-surface: var(--color-palette-pale-lemon);
+ --color-tertiary-emphasis: var(--color-palette-ripe-lemon);
+
+ /* == Quartenary Colors == */
+ --color-quarternary: var(--color-palette-powder-blue);
+ --color-quarternary-surface: var(--color-palette-aqua);
+ --color-quarternary-emphasis: var(--color-palette-slate-blue);
+
+ /* == Text Base Colors == */
+ --color-text-primary: var(--color-palette-black-ink); /* Main Body Texts, headlines */
+ --color-text-secondary: var(--color-palette-charcoal); /* Subheading, Secondary Info */
+ --color-text-tertiary: var(--color-palette-charcoal-gray); /* Captions, Meta Text */
+ --color-text-quarternary: var(--color-palette-carbon); /* Placeholder Text */
+ --color-text-inverse: var(--color-palette-ice-blue); /* Text on dark backgrounds */
+ --color-text-disabled: var(--color-palette-cloud-gray); /* Disabled form labels, inactive text */
+
+ /* == Surface Base Colors == */
+ --color-surface-base: var(--color-palette-ice-blue); /* Main page background */
+ --color-surface-elevated-1: var(--color-palette-off-white); /* Cards, Panels */
+ --color-surface-elevated-2: var(--color-palette-very-pale-gray); /* Modals, Dropdowns */
+ --color-surface-elevated-3: var(--color-palette-pale-gray); /* Tooltips, popovers */
+ --color-surface-elevated-4: var(--color-palette-light-silver); /* Highest Elevation */
+ --color-surface-inverse: var(--color-palette-black-ink); /* Darkest Surface for Contrast */
+
+ /* == Border Base Colors == */
+ --color-border-subtle: var(--color-palette-silver); /* Subtle Dividers, Card Borders */
+ --color-border-normal: var(--color-palette-stone); /* Standard Borders, form fields */
+ --color-border-strong: var(--color-palette-charcoal-gray); /* Emphasized Borders */
+
+ /* == State Colors == */
+ --color-state-error: var(--color-palette-cerise); /* Error Text, Container, icons */
+ --color-state-warning: var(--color-palette-persimmon); /* Warning Text, Container, Icons */
+ --color-state-success: var(--color-palette-lime-green); /* Success Text, Container, Icons */
+ --color-state-info: var(--color-palette-royal-blue); /* Info Text, Container, Icons */
+
+ /* == Link Colors == */
+ --color-text-link: var(--color-text-tertiary);
+ --color-text-link-hover: var(--color-secondary);
+ --color-text-link-visited: var(--color-palette-fuchsia);
+
+ /* == Focus States == */
+ --color-focus-ring: var(--color-primary);
+ --color-focus-ring-offset: var(--color-primary);
+ --color-focus-indicator: var(--color-primary-emphasis)
+
+ /* == Overlays == */;
+ --color-utility-overlay-light: oklch(0% 0 0deg / 10%); /* Light overlays */
+ --color-utility-overlay-medium: oklch(0% 0 0deg / 30%); /* Medium overlays */
+ --color-utility-overlay-heavy: oklch(0% 0 0deg / 60%); /* Heavy overlays, modal backdrops */
+ --color-surface-overlay: var(--color-utility-overlay-medium); /* Modal overlays, backdrop */
+ --color-surface-backdrop: var(--color-utility-overlay-heavy); /* Full screen overlays */
+
+ /* == Loading/Skeleton == */
+ --color-utility-skeleton-base: var(--color-surface-elevated-2); /* Skeleton loader base */
+ --color-utility-skeleton-shimmer: var(--color-surface-elevated-1); /* Skeleton shimmer effect */
+
+ /* == Dividers == */
+ --color-utility-divider: var(--color-border-subtle); /* Section dividers, HR elements */
+ --color-utility-divider-strong: var(--color-border-normal); /* Emphasized dividers */
+
+ /* == Shadows == */
+ --color-utility-shadow: oklch(0% 0 0deg / 10%); /* Drop shadows */
+ --color-utility-shadow-strong: oklch(0% 0 0deg / 25%); /* Strong shadows */
+
+ /* == Highlights == */
+ --color-utility-highlight: var(--color-tertiary-surface); /* Text highlighting, search results */
+ --color-utility-highlight-strong: var(--color-tertiary); /* Strong highlighting */
+}
\ No newline at end of file
diff --git a/src/styles/settings/dimensions.css b/src/styles/settings/dimensions.css
new file mode 100644
index 0000000..dd27262
--- /dev/null
+++ b/src/styles/settings/dimensions.css
@@ -0,0 +1,46 @@
+:root {
+ /* === Base Size Units === */
+ --size-0: 0;
+ --size-px: 1px;
+ --size-05: 0.125rem; /* 2px */
+ --size-1: 0.25rem; /* 4px */
+ --size-2: 0.5rem; /* 8px */
+ --size-3: 0.75rem; /* 12px */
+ --size-4: 1rem; /* 16px */
+ --size-5: 1.25rem; /* 20px */
+ --size-6: 1.5rem; /* 24px */
+ --size-8: 2rem; /* 32px */
+ --size-10: 2.5rem; /* 40px */
+ --size-12: 3rem; /* 48px */
+ --size-16: 4rem; /* 64px */
+ --size-20: 5rem; /* 80px */
+ --size-24: 6rem; /* 96px */
+ --size-32: 8rem; /* 128px */
+ --size-40: 10rem; /* 160px */
+ --size-48: 12rem; /* 192px */
+ --size-64: 16rem; /* 256px */
+ --size-80: 20rem; /* 320px */
+ --size-96: 24rem; /* 384px */
+ --size-128: 32rem; /* 512px */
+ --size-160: 40rem; /* 640px */
+ --size-192: 48rem; /* 768px */
+ --size-256: 64rem; /* 1024px */
+ --size-320: 80rem; /* 1280px */
+ --size-384: 96rem; /* 1536px */
+ --size-360: 90rem; /* 1440px */
+ --size-400: 100rem; /* 1600px */
+ --size-480: 120rem; /* 1920px */
+
+ /* === Semantic Spacing === */
+ --spacing-none: var(--size-0);
+ --spacing-hairline: var(--size-px);
+ --spacing-tight: var(--size-1);
+ --spacing-snug: var(--size-2);
+ --spacing-cozy: var(--size-4);
+ --spacing-comfortable: var(--size-6);
+ --spacing-relaxed: var(--size-8);
+ --spacing-spacious: var(--size-12);
+ --spacing-generous: var(--size-16);
+ --spacing-luxurious: var(--size-24);
+ --spacing-expansive: var(--size-32);
+}
\ No newline at end of file
diff --git a/src/styles/settings/elements.css b/src/styles/settings/elements.css
new file mode 100644
index 0000000..1585431
--- /dev/null
+++ b/src/styles/settings/elements.css
@@ -0,0 +1,256 @@
+:root {
+ /* === H1 VARIABLES === */
+ --el-h1-color: var(--color-text-primary);
+ --el-h1-font-family: var(--font-display);
+ --el-h1-font-size: var(--typo-size-6xl);
+ --el-h1-font-weight: var(--typo-weight-black);
+ --el-h1-letter-spacing: -0.0137em;
+ --el-h1-line-height: 1.125;
+ --el-h1-text-transform: uppercase;
+ --el-h1-vspace-base: calc(1em * var(--el-h1-line-height));
+ --el-h1-vspace-top: calc(var(--el-h1-vspace-base) * var(--vspace-spacious));
+ --el-h1-vspace-bottom: calc(var(--el-h1-vspace-base) * var(--vspace-comfortable));
+
+ /* === H2 VARIABLES === */
+ --el-h2-color: var(--color-text-primary);
+ --el-h2-font-family: var(--font-display);
+ --el-h2-font-size: var(--typo-size-5xl);
+ --el-h2-font-weight: var(--typo-weight-black);
+ --el-h2-letter-spacing: -0.0096em;;
+ --el-h2-line-height: 1.1765;
+ --el-h2-text-transform: uppercase;
+ --el-h2-vspace-base: calc(1em * var(--el-h2-line-height));
+ --el-h2-vspace-top: calc(var(--el-h2-vspace-base) * var(--vspace-snug));
+ --el-h2-vspace-bottom: calc(var(--el-h2-vspace-base) * var(--vspace-compressed));
+
+ /* === H3 VARIABLES === */
+ --el-h3-color: var(--color-text-secondary);
+ --el-h3-font-family: var(--font-display);
+ --el-h3-font-size: var(--typo-size-4xl);
+ --el-h3-font-weight: var(--typo-weight-extrabold);
+ --el-h3-letter-spacing: -0.004em;
+ --el-h3-line-height: 1.2;
+ --el-h3-text-transform: uppercase;
+ --el-h3-vspace-base: calc(1em * var(--el-h3-line-height));
+ --el-h3-vspace-top: calc(var(--el-h3-vspace-base) * var(--vspace-relaxed));
+ --el-h3-vspace-bottom: calc(var(--el-h3-vspace-base) * var(--vspace-snug));
+
+ /* === H4 VARIABLES === */
+ --el-h4-color: var(--color-text-secondary);
+ --el-h4-font-family: var(--font-display);
+ --el-h4-font-size: var(--typo-size-3xl);
+ --el-h4-font-weight: var(--typo-weight-extrabold);
+ --el-h4-letter-spacing: 0.0025em;
+ --el-h4-line-height: 1.125;
+ --el-h4-text-transform: uppercase;
+ --el-h4-vspace-base: calc(1em * var(--el-h4-line-height));
+ --el-h4-vspace-top: calc(var(--el-h4-vspace-base) * var(--vspace-normal));
+ --el-h4-vspace-bottom: calc(var(--el-h4-vspace-base) * var(--vspace-tight));
+
+ /* === H5 VARIABLES === */
+ --el-h5-color: var(--color-text-secondary);
+ --el-h5-font-family: var(--font-display);
+ --el-h5-font-size: var(--typo-size-2xl);
+ --el-h5-font-weight: var(--typo-weight-extrabold);
+ --el-h5-letter-spacing: 0.05em;
+ --el-h5-line-height: 1.28;
+ --el-h5-text-transform: uppercase;
+ --el-h5-vspace-base: calc(1em * var(--el-h5-line-height));
+ --el-h5-vspace-top: calc(var(--el-h5-vspace-base) * var(--vspace-cozy));
+ --el-h5-vspace-bottom: calc(var(--el-h5-vspace-base) * var(--vspace-tight));
+
+ /* === H6 VARIABLES === */
+ --el-h6-color: var(--color-text-secondary);
+ --el-h6-font-family: var(--font-display);
+ --el-h6-font-size: var(--typo-size-xl);
+ --el-h6-font-weight: var(--typo-weight-black);
+ --el-h6-letter-spacing: 0.035em;
+ --el-h6-line-height: 1.4;
+ --el-h6-text-transform: uppercase;
+ --el-h6-vspace-base: calc(1em * var(--el-h6-line-height));
+ --el-h6-vspace-top: calc(var(--el-h6-vspace-base) * var(--vspace-snug));
+ --el-h6-vspace-bottom: calc(var(--el-h6-vspace-base) * var(--vspace-compressed));
+
+ /* === PARAGRAPH VARIABLES === */
+ --el-p-color: var(--color-text-primary);
+ --el-p-font-family: var(--font-body);
+ --el-p-font-size: var(--typo-size-md);
+ --el-p-font-weight: var(--typo-weight-regular);
+ --el-p-line-height: var(--typo-leading-normal);
+ --el-p-text-align: justify;
+ --el-p-vspace-base: calc(1em * var(--el-p-line-height));
+ --el-p-vspace-top: calc(var(--el-p-vspace-base) * var(--vspace-snug));
+ --el-p-vspace-bottom: calc(var(--el-p-vspace-base) * var(--vspace-snug));
+
+ /* === BLOCKQUOTE VARIABLES === */
+ --el-blockquote-color: var(--color-text-tertiary);
+ --el-border-color: var(--color-text-tertiary);
+ --el-blockquote-font-family: var(--font-body);
+ --el-blockquote-font-size: var(--typo-size-md);
+ --el-blockquote-font-style: var(--typo-weight-regular);
+ --el-blockquote-font-weight: var(--typo-weight-medium);
+ --el-blockquote-line-height: var(--typo-leading-comfortable);
+ --el-blockquote-vspace-base: calc(1em * var(--el-blockquote-line-height));
+ --el-blockquote-vspace-top: calc(var(--el-blockquote-vspace-base) * var(--vspace-snug));
+ --el-blockquote-vspace-bottom: calc(var(--el-blockquote-vspace-base) * var(--vspace-snug));
+
+ /* === PRE VARIABLES === */
+ --el-pre-color: var(--color-text-inverse);
+ --el-pre-background: var(--color-surface-inverse);
+ --el-pre-font-family: var(--font-mono);
+ --el-pre-font-size: var(--typo-size-sm);
+ --el-pre-line-height: 1.5385;
+ --el-pre-vspace-base: calc(1em * var(--el-pre-line-height));
+ --el-pre-vspace-top: calc(var(--el-pre-vspace-base) * var(--vspace-normal));
+ --el-pre-vspace-bottom: calc(var(--el-pre-vspace-base) * var(--vspace-normal));
+
+ /* === CODE VARIABLES === */
+ --el-code-color: var(--color-text-inverse);
+ --el-code-background: var(--color-surface-inverse);
+ --el-code-font-family: var(--font-mono);
+ --el-code-font-size: var(--typo-size-sm);
+
+ /* === List Variables (For UL/OL) === */
+ --el-list-color: var(--color-text-primary);
+ --el-list-line-height: var(--typo-leading-normal);
+ --el-list-font-size: var(--typo-size-md);
+ --el-list-vspace-base: calc(1em * var(--el-list-line-height));
+ --el-list-vspace-top: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-list-vspace-bottom: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-list-nested-vspace-top: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-list-nested-vspace-bottom: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-li-vspace-top: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-li-vspace-bottom: calc(var(--el-list-vspace-base) * var(--vspace-snug));
+ --el-li-nested-vspace-top: calc(var(--el-list-vspace-base) * var(--vspace-tight));
+ --el-li-nested-vspace-bottom: calc(var(--el-list-vspace-base) * var(--vspace-tight));
+
+ /* === UL VARIABLES === */
+ --el-ul-indent-l1: var(--spacing-cozy);
+ --el-ul-indent-l2: var(--spacing-cozy);
+ --el-ul-indent-l3: var(--spacing-cozy);
+ --el-ul-indent-l4: var(--spacing-cozy);
+ --el-ul-item-padding: var(--spacing-cozy);
+ --el-ul-symbol-l1: '⯃';
+ --el-ul-symbol-l1-color: var(--color-text-primary);
+ --el-ul-symbol-l2: '⯁';
+ --el-ul-symbol-l2-color: var(--color-text-primary);
+ --el-ul-symbol-l3: '⯆';
+ --el-ul-symbol-l3-color: var(--color-text-primary);
+ --el-ul-symbol-l4: '⯀';
+ --el-ul-symbol-l4-color: var(--color-text-primary);
+
+ /* === OL VARIABLES === */
+ --el-ol-indent-l1: var(--spacing-cozy);
+ --el-ol-item-indent-l1: 1.5em;
+ --el-ol-indent-l2: var(--spacing-cozy);
+ --el-ol-item-indent-l2: 0.825em;
+ --el-ol-indent-l3: var(--spacing-cozy);
+ --el-ol-item-indent-l3: 0;
+ --el-ol-indent-l4: var(--spacing-cozy);
+ --el-ol-item-indent-l4: 0;
+ --el-ol-item-padding: var(--spacing-cozy);
+ --el-ol-line-height: var(--typo-leading-normal);
+ --el-ol-marker-color-l1: var(--color-text-primary);
+ --el-ol-prefix-l1: '';
+ --el-ol-style-l1: decimal-leading-zero;
+ --el-ol-suffix-l1: '.)';
+ --el-ol-marker-color-l2: var(--color-text-primary);
+ --el-ol-prefix-l2: '';
+ --el-ol-style-l2: lower-alpha;
+ --el-ol-suffix-l2: '.)';
+ --el-ol-marker-color-l3: var(--color-text-primary);
+ --el-ol-prefix-l3: '';
+ --el-ol-style-l3: upper-roman;
+ --el-ol-suffix-l3: '.)';
+ --el-ol-marker-color-l4: var(--color-text-primary);
+ --el-ol-prefix-l4: '';
+ --el-ol-style-l4: lower-greek;
+ --el-ol-suffix-l4: '.)';
+
+ /* === DL VARIABLES === */
+ --el-dl-font-size: var(--typo-size-md);
+ --el-dl-line-height: var(--typo-leading-normal);
+ --el-dl-vspace-base: calc(1em * var(--el-dl-line-height));
+ --el-dl-vspace-top: calc(var(--el-dl-vspace-base) * var(--vspace-snug));
+ --el-dl-vspace-bottom: calc(var(--el-dl-vspace-base) * var(--vspace-compressed));
+
+ /* === DT VARIABLES === */
+ --el-dt-color: var(--color-text-inverse);
+ --el-dt-background: var(--color-surface-inverse);
+ --el-dt-font-family: var(--font-display);
+ --el-dt-font-size: var(--typo-size-lg);
+ --el-dt-font-weight: var(--typo-weight-bold);
+ --el-dt-line-height: 1.4;
+ --el-dt-text-transform: uppercase;
+ --el-dt-letter-spacing: 0.035em;
+ --el-dt-padding: var(--spacing-snug);
+ --el-dt-vspace-base: calc(1em * var(--el-dt-line-height));
+ --el-dt-vspace-top: calc(var(--el-dt-vspace-base) * var(--vspace-snug));
+ --el-dt-vspace-bottom: calc(var(--el-dt-vspace-base) * var(--vspace-compressed));
+
+ /* === DD VARIABLES === */
+ --el-dd-color: var(--color-text-primary);
+ --el-dd-font-family: var(--font-body);
+ --el-dd-font-size: var(--typo-size-md);
+ --el-dd-line-height: var(--typo-leading-normal);
+ --el-dd-indent: 0 var(--spacing-comfortable);
+ --el-dd-vspace-base: calc(1em * var(--el-dd-line-height));
+ --el-dd-vspace-top: calc(var(--el-dd-vspace-base) * var(--vspace-compressed));
+ --el-dd-vspace-bottom: calc(var(--el-dd-vspace-base) * var(--vspace-tight));
+
+ /* === TABLE VARIABLES === */
+ --el-table-font-size: var(--typo-size-sm);
+ --el-table-line-height: 1.2;
+ --el-table-border: var(--size-2) solid var(--color-text-primary);
+ --el-table-vspace-top: var(--spacing-tight);
+ --el-table-vspace-bottom: var(--spacing-tight);
+
+ /* === TH VARIABLES === */
+ --el-th-color: var(--color-text-inverse);
+ --el-th-background: var(--color-surface-inverse);
+ --el-th-font-family: var(--font-display);
+ --el-th-font-size: var(--typo-size-sm);
+ --el-th-font-weight: var(--typo-weight-black);
+ --el-th-text-transform: uppercase;
+ --el-th-line-height: var(--el-table-line-height);
+ --el-th-padding: 0 var(--spacing-snug) var(--spacing-snug);
+
+ /* === TD VARIABLES === */
+ --el-td-color: var(--color-text-primary);
+ --el-td-font-family: var(--font-mono);
+ --el-td-font-size: var(--typo-size-sm);
+ --el-td-line-height: var(--el-table-line-height);
+ --el-td-padding: var(--spacing-snug);
+ --el-td-border: var(--size-1) solid var(--color-text-secondary);
+
+ /* === CAPTION VARIABLES === */
+ --el-caption-color: var(--color-text-tertiary);
+ --el-caption-font-family: var(--font-body);
+ --el-caption-font-size: var(--typo-size-sm);
+ --el-caption-font-style: italic;
+ --el-caption-text-align: center;
+
+ /* === FIGCAPTION VARIABLES === */
+ --el-figcaption-color: var(--color-text-tertiary);
+ --el-figcaption-font-family: var(--font-body);
+ --el-figcaption-font-size: var(--typo-size-xs);
+ --el-figcaption-font-style: italic;
+ --el-figcaption-text-align: center;
+
+ /* === SMALL VARIABLES === */
+ --el-small-color: var(--color-text-tertiary);
+ --el-small-font-family: var(--font-body);
+ --el-small-font-size: var(--typo-size-xs);
+
+ /* HR */
+ --hr-height: var(--size-3);
+ --hr-margin: var(--spacing-relaxed) 0;
+ --hr-color: var(--color-text-tertiary);
+ --hr-symbol-content: "▼";
+ --hr-symbol-size: var(--typo-size-4xl);
+ --hr-symbol-space: 0 0.25em;
+ --hr-symbol-line-height: var(--typo-leading-compressed);
+ --hr-symbol-color: var(--color-text-tertiary);
+ --hr-symbol-background: var(--color-surface-base);
+
+}
diff --git a/src/styles/settings/typography.css b/src/styles/settings/typography.css
new file mode 100644
index 0000000..8350487
--- /dev/null
+++ b/src/styles/settings/typography.css
@@ -0,0 +1,65 @@
+:root {
+ /* === Font Families === */
+ --font-display: 'Geist';
+ --font-body: 'Iosevka Aile';
+ --font-mono: 'Iosevka';
+
+ /* === Font Sizes === */
+ --font-size-responsive: clamp(1rem, 2.5vw, 1.25rem);
+ --typo-size-base: 16px;
+ --typo-size-6xl: 4em; /* 64px */
+ --typo-size-5xl: 3.1875em; /* 51px */
+ --typo-size-4xl: 2.5em; /* 40px */
+ --typo-size-3xl: 2em; /* 32px */
+ --typo-size-2xl: 1.5625em; /* 25px */
+ --typo-size-xl: 1.25em; /* 20px */
+ --typo-size-lg: 1.125em; /* 18px */
+ --typo-size-md: 1em; /* 16px */
+ --typo-size-sm: 0.875em; /* 14px */
+ --typo-size-xs: 0.8125em; /* 13px */
+ --typo-size-2xs: 0.625em; /* 10px */
+
+ /* === Line Height === */
+ --typo-leading-compressed: 1.0; /* 1.0 - very tight */
+ --typo-leading-tight: 1.125; /* 1.125 - tight */
+ --typo-leading-snug: 1.25; /* 1.25 - snug */
+ --typo-leading-cozy: 1.375; /* 1.375 - cozy */
+ --typo-leading-normal: 1.5; /* 1.5 - normal */
+ --typo-leading-relaxed: 1.625; /* 1.625 - relaxed */
+ --typo-leading-comfortable: 1.75; /* 1.75 - comfortable */
+ --typo-leading-loose: 1.875; /* 1.875 - loose */
+ --typo-leading-spacious: 2.0; /* 2.0 - very loose */
+
+ /* === Letter Spacing === */
+ --typo-spacing-tightest: -0.05em; /* -0.05em - very tight */
+ --typo-spacing-tighter: -0.025em; /* -0.025em - tight */
+ --typo-spacing-tight: -0.0125em; /* -0.0125em - slightly tight */
+ --typo-spacing-normal: 0em; /* 0 - normal */
+ --typo-spacing-relaxed: 0.025em; /* 0.025em - slightly loose */
+ --typo-spacing-comfortable: 0.05em; /* 0.05em - comfortable */
+ --typo-spacing-loose: 0.1em; /* 0.1em - loose */
+ --typo-spacing-looser: 0.15em; /* 0.15em - very loose */
+ --typo-spacing-loosest: 0.2em; /* 0.2em - extremely loose */
+
+ /* === Font Weight === */
+ --typo-weight-thin: 100;
+ --typo-weight-extralight: 200;
+ --typo-weight-light: 300;
+ --typo-weight-regular: 400;
+ --typo-weight-medium: 500;
+ --typo-weight-semibold: 600;
+ --typo-weight-bold: 700;
+ --typo-weight-extrabold: 800;
+ --typo-weight-black: 900;
+
+ /* === Vertical Spacing === */
+ --vspace-compressed: 0.25;
+ --vspace-tight: 0.5;
+ --vspace-snug: 0.75;
+ --vspace-cozy: 1;
+ --vspace-normal: 1.25;
+ --vspace-relaxed: 1.5;
+ --vspace-comfortable: 1.75;
+ --vspace-loose: 2;
+ --vspace-spacious: 2.5;
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index c133409..23371e6 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -19,7 +19,8 @@
}
],
"paths": {
- "@/*": ["./src/*"]
+ "@/*": ["./src/*"],
+ "~/*": ["./*"]
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],