axiodb 2.19.66 → 2.21.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/Services/Indexation.operation.d.ts +16 -1
- package/lib/Services/Indexation.operation.js +22 -1
- package/lib/Services/Indexation.operation.js.map +1 -1
- package/lib/engine/Filesystem/FolderManager.js +2 -1
- package/lib/engine/Filesystem/FolderManager.js.map +1 -1
- package/lib/server/config/keys.d.ts +7 -1
- package/lib/server/config/keys.js +21 -2
- package/lib/server/config/keys.js.map +1 -1
- package/lib/server/config/server.js +1 -0
- package/lib/server/config/server.js.map +1 -1
- package/lib/server/controller/Database/Databse.controller.d.ts +52 -0
- package/lib/server/controller/Database/Databse.controller.js +119 -0
- package/lib/server/controller/Database/Databse.controller.js.map +1 -0
- package/lib/server/controller/Key/key.controller.d.ts +38 -0
- package/lib/server/controller/Key/key.controller.js +80 -0
- package/lib/server/controller/Key/key.controller.js.map +1 -0
- package/lib/server/public/AxioControl/.vite/manifest.json +2 -2
- package/lib/server/public/AxioControl/.vite/ssr-manifest.json +60 -1
- package/lib/server/public/AxioControl/assets/index-BEGb6b_2.css +1 -0
- package/lib/server/public/AxioControl/assets/index-b7mubB3g.js +56 -0
- package/lib/server/public/AxioControl/index.html +2 -2
- package/lib/server/public/AxioControl/sw.js +1 -1
- package/lib/server/router/Router.d.ts +6 -2
- package/lib/server/router/Router.js +26 -2
- package/lib/server/router/Router.js.map +1 -1
- package/lib/server/router/Routers/DB.routes.d.ts +7 -0
- package/lib/server/router/Routers/DB.routes.js +29 -0
- package/lib/server/router/Routers/DB.routes.js.map +1 -0
- package/package.json +1 -1
- package/lib/server/public/AxioControl/assets/index-CrwYZikH.css +0 -1
- package/lib/server/public/AxioControl/assets/index-HpIfPLrM.js +0 -51
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
<meta name="twitter:card" content="summary_large_image" />
|
|
26
26
|
<link rel="canonical" href="https://axiodb.site" />
|
|
27
27
|
<link rel="icon" type="image/svg+xml" href="AXioDB.png" />
|
|
28
|
-
<script type="module" crossorigin src="/assets/index-
|
|
29
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
28
|
+
<script type="module" crossorigin src="/assets/index-b7mubB3g.js"></script>
|
|
29
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BEGb6b_2.css">
|
|
30
30
|
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
|
|
31
31
|
|
|
32
32
|
<body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let o={};const l=e=>i(e,t),c={module:{uri:t},exports:o,require:l};s[t]=Promise.all(n.map(e=>c[e]||l(e))).then(e=>(r(...e),o))}}define(["./workbox-5ffe50d4"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"assets/index-b7mubB3g.js",revision:null},{url:"assets/index-BEGb6b_2.css",revision:null},{url:"index.html",revision:"a5eb66ca49fa69b26177678bc50f8145"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"manifest.webmanifest",revision:"531c27931688c6a365595ec1badc959b"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))});
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { FastifyInstance, FastifyPluginOptions } from "fastify";
|
|
2
|
+
import { AxioDB } from "../../Services/Indexation.operation";
|
|
3
|
+
interface RouterOptions extends FastifyPluginOptions {
|
|
4
|
+
AxioDBInstance: AxioDB;
|
|
5
|
+
}
|
|
2
6
|
/**
|
|
3
7
|
* Main router plugin for the AxioDB server
|
|
4
|
-
*
|
|
5
8
|
* @param fastify - Fastify instance
|
|
6
9
|
* @param _options - Plugin options
|
|
7
10
|
* @param done - Callback to signal completion
|
|
8
11
|
*/
|
|
9
|
-
export default function mainRouter(fastify: FastifyInstance,
|
|
12
|
+
export default function mainRouter(fastify: FastifyInstance, options: RouterOptions, done: () => void): Promise<void>;
|
|
13
|
+
export {};
|
|
@@ -17,15 +17,32 @@ const keys_1 = require("../config/keys");
|
|
|
17
17
|
const responseBuilder_helper_1 = __importDefault(require("../helper/responseBuilder.helper"));
|
|
18
18
|
const outers_1 = require("outers");
|
|
19
19
|
const promises_1 = require("node:fs/promises");
|
|
20
|
+
// All Sub Routers
|
|
21
|
+
const DB_routes_1 = __importDefault(require("./Routers/DB.routes"));
|
|
22
|
+
const key_controller_1 = __importDefault(require("../controller/Key/key.controller"));
|
|
20
23
|
/**
|
|
21
24
|
* Main router plugin for the AxioDB server
|
|
22
|
-
*
|
|
23
25
|
* @param fastify - Fastify instance
|
|
24
26
|
* @param _options - Plugin options
|
|
25
27
|
* @param done - Callback to signal completion
|
|
26
28
|
*/
|
|
27
|
-
function mainRouter(fastify,
|
|
29
|
+
function mainRouter(fastify, options, done) {
|
|
28
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
// Now you can access the AxioDB instance
|
|
32
|
+
const { AxioDBInstance } = options;
|
|
33
|
+
// Middlewares
|
|
34
|
+
// Middleware for /db routes
|
|
35
|
+
fastify.addHook("preHandler", (request, reply) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
var _a;
|
|
37
|
+
// Only apply middleware to routes starting with /db
|
|
38
|
+
if (request.url.includes("/db")) {
|
|
39
|
+
const transactionToken = (_a = request.query) === null || _a === void 0 ? void 0 : _a.transactiontoken;
|
|
40
|
+
const status = yield new key_controller_1.default(process.version).verifyKey(transactionToken);
|
|
41
|
+
if (status.statusCode !== outers_1.StatusCodes.OK) {
|
|
42
|
+
return reply.status(status.statusCode).send(status);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
29
46
|
fastify.get("/info", () => __awaiter(this, void 0, void 0, function* () {
|
|
30
47
|
const PackageFile = JSON.parse(yield (0, promises_1.readFile)("./package.json", "utf-8"));
|
|
31
48
|
const Reply = (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.OK, "AxioDB Information", {
|
|
@@ -49,6 +66,13 @@ function mainRouter(fastify, _options, done) {
|
|
|
49
66
|
const Reply = (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.OK, "Available routes", keys_1.AvailableRoutes);
|
|
50
67
|
return reply.status(200).send(Reply);
|
|
51
68
|
}));
|
|
69
|
+
// Generate a new token for transacting with AxioDB Server
|
|
70
|
+
fastify.get("/get-token", (request, reply) => __awaiter(this, void 0, void 0, function* () { return new key_controller_1.default(process.version).generateKey(); }));
|
|
71
|
+
// Register the DB router
|
|
72
|
+
fastify.register(DB_routes_1.default, {
|
|
73
|
+
prefix: "/db",
|
|
74
|
+
AxioDBInstance: AxioDBInstance, // Pass the AxioDB instance to the DB router
|
|
75
|
+
});
|
|
52
76
|
// Handle 404 Not Found
|
|
53
77
|
fastify.setNotFoundHandler((request, reply) => {
|
|
54
78
|
return reply
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../source/server/router/Router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../source/server/router/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FastifyInstance, FastifyPluginOptions } from "fastify";
|
|
2
|
+
import { AxioDB } from "../../../Services/Indexation.operation";
|
|
3
|
+
interface RouterOptions extends FastifyPluginOptions {
|
|
4
|
+
AxioDBInstance: AxioDB;
|
|
5
|
+
}
|
|
6
|
+
export default function dbRouter(fastify: FastifyInstance, options: RouterOptions): Promise<void>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.default = dbRouter;
|
|
16
|
+
const Databse_controller_1 = __importDefault(require("../../controller/Database/Databse.controller"));
|
|
17
|
+
// DB Routers
|
|
18
|
+
function dbRouter(fastify, options) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const { AxioDBInstance } = options; // Access the AxioDB instance passed from the main router
|
|
21
|
+
// Get all databases
|
|
22
|
+
fastify.get("/databases", () => __awaiter(this, void 0, void 0, function* () { return new Databse_controller_1.default(AxioDBInstance).getDatabases(); }));
|
|
23
|
+
// Create a new database
|
|
24
|
+
fastify.post("/create-database", (request) => __awaiter(this, void 0, void 0, function* () { return new Databse_controller_1.default(AxioDBInstance).createDatabase(request); }));
|
|
25
|
+
// Delete a database
|
|
26
|
+
fastify.delete("/delete-database", (request) => __awaiter(this, void 0, void 0, function* () { return new Databse_controller_1.default(AxioDBInstance).deleteDatabase(request); }));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=DB.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DB.routes.js","sourceRoot":"","sources":["../../../../source/server/router/Routers/DB.routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,2BAoBC;AA5BD,sGAA8E;AAO9E,aAAa;AACb,SAA8B,QAAQ,CACpC,OAAwB,EACxB,OAAsB;;QAEtB,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,CAAC,yDAAyD;QAE7F,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAS,EAAE,gDACnC,OAAA,IAAI,4BAAkB,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAA,GAAA,CACtD,CAAC;QAEF,wBAAwB;QACxB,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAO,OAAO,EAAE,EAAE,gDACjD,OAAA,IAAI,4BAAkB,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA,GAAA,CAC/D,CAAC;QAEF,oBAAoB;QACpB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAO,OAAO,EAAE,EAAE,gDACnD,OAAA,IAAI,4BAAkB,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA,GAAA,CAC/D,CAAC;IACJ,CAAC;CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axiodb",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.21.66",
|
|
4
4
|
"description": "A blazing-fast, lightweight, and scalable nodejs package based DBMS for modern application. Supports schemas, encryption, and advanced query capabilities.",
|
|
5
5
|
"main": "./lib/config/DB.js",
|
|
6
6
|
"types": "./lib/config/DB.d.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-100:oklch(95.4% .038 75.164);--color-orange-600:oklch(64.6% .222 41.116);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-bold:700;--tracking-tight:-.025em;--radius-md:.375rem;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-10{margin-left:calc(var(--spacing)*10)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.min-h-screen{min-height:100vh}.w-2\/3{width:66.6667%}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-100{border-color:var(--color-blue-100)}.border-gray-200{border-color:var(--color-gray-200)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-800{--tw-gradient-to:var(--color-indigo-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing)*3)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-blue-100{color:var(--color-blue-100)}.text-blue-600{color:var(--color-blue-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-600{color:var(--color-orange-600)}.text-purple-600{color:var(--color-purple-600)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:40rem){.sm\:px-6{padding-inline:calc(var(--spacing)*6)}}@media (min-width:48rem){.md\:mb-0{margin-bottom:calc(var(--spacing)*0)}.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-right{text-align:right}}@media (min-width:64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes pulse{50%{opacity:.5}}
|