feat: Reinitialize frontend with SvelteKit and TypeScript

- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
This commit is contained in:
2026-02-17 16:19:59 -05:00
parent 54df6018f5
commit de2d83092e
28274 changed files with 3816354 additions and 90 deletions

View File

@@ -0,0 +1,29 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
/**
* CSSRule interface.
*/
class CSSContainerRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.containerRule;
cssRules = [];
conditionText = '';
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
let cssText = '';
for (const cssRule of this.cssRules) {
cssText += cssRule.cssText;
}
return `@container ${this.conditionText} { ${cssText} }`;
}
}
exports.default = CSSContainerRule;
//# sourceMappingURL=CSSContainerRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSContainerRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSContainerRule.ts"],"names":[],"mappings":";;;;;AAAA,+DAAoC;AACpC,+EAAoD;AAEpD;;GAEG;AACH,MAAqB,gBAAiB,SAAQ,oBAAO;IACpC,IAAI,GAAG,4BAAe,CAAC,aAAa,CAAC;IACrC,QAAQ,GAAc,EAAE,CAAC;IACzB,aAAa,GAAG,EAAE,CAAC;IAEnC;;;;OAIG;IACH,IAAW,OAAO;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,cAAc,IAAI,CAAC,aAAa,MAAM,OAAO,IAAI,CAAC;IAC1D,CAAC;CACD;AAjBD,mCAiBC"}

View File

@@ -0,0 +1,17 @@
import CSSRule from '../CSSRule.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSContainerRule extends CSSRule {
readonly type = CSSRuleTypeEnum.containerRule;
readonly cssRules: CSSRule[];
readonly conditionText = "";
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
}
//# sourceMappingURL=CSSContainerRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSContainerRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSContainerRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,SAAgB,IAAI,iCAAiC;IACrD,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzC,SAAgB,aAAa,MAAM;IAEnC;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAM3B;CACD"}

View File

@@ -0,0 +1,73 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const CSSStyleDeclaration_js_1 = __importDefault(require("../declaration/CSSStyleDeclaration.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
/**
* CSSRule interface.
*/
class CSSFontFaceRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.fontFaceRule;
[PropertySymbol.cssText] = '';
#style = null;
/**
* Returns style.
*
* @returns Style.
*/
get style() {
if (!this.#style) {
this.#style = new CSSStyleDeclaration_js_1.default(PropertySymbol.illegalConstructor, this[PropertySymbol.window]);
this.#style.parentRule = this;
this.#style.cssText = this[PropertySymbol.cssText];
}
return this.#style;
}
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
return `@font-face { ${this.style.cssText} }`;
}
}
exports.default = CSSFontFaceRule;
//# sourceMappingURL=CSSFontFaceRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSFontFaceRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSFontFaceRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoC;AACpC,wEAA0D;AAC1D,mGAAwE;AACxE,+EAAoD;AAEpD;;GAEG;AACH,MAAqB,eAAgB,SAAQ,oBAAO;IACnC,IAAI,GAAG,4BAAe,CAAC,YAAY,CAAC;IAC7C,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,GAA+B,IAAI,CAAC;IAE1C;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAmB,CACpC,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;YACQ,IAAI,CAAC,MAAM,CAAC,UAAW,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;IAC/C,CAAC;CACD;AA9BD,kCA8BC"}

View File

@@ -0,0 +1,25 @@
import CSSRule from '../CSSRule.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSFontFaceRule extends CSSRule {
#private;
readonly type = CSSRuleTypeEnum.fontFaceRule;
[PropertySymbol.cssText]: string;
/**
* Returns style.
*
* @returns Style.
*/
get style(): CSSStyleDeclaration;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
}
//# sourceMappingURL=CSSFontFaceRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSFontFaceRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSFontFaceRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;;IACnD,SAAgB,IAAI,gCAAgC;IAC7C,CAAC,cAAc,CAAC,OAAO,CAAC,SAAM;IAGrC;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAUtC;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;CACD"}

View File

@@ -0,0 +1,74 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const CSSStyleDeclaration_js_1 = __importDefault(require("../declaration/CSSStyleDeclaration.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
/**
* CSSRule interface.
*/
class CSSKeyframeRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.keyframeRule;
keyText;
[PropertySymbol.cssText] = '';
#style = null;
/**
* Returns style.
*
* @returns Style.
*/
get style() {
if (!this.#style) {
this.#style = new CSSStyleDeclaration_js_1.default(PropertySymbol.illegalConstructor, this[PropertySymbol.window]);
this.#style.parentRule = this;
this.#style.cssText = this[PropertySymbol.cssText];
}
return this.#style;
}
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
return `${this.keyText} { ${this.style.cssText} }`;
}
}
exports.default = CSSKeyframeRule;
//# sourceMappingURL=CSSKeyframeRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSKeyframeRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSKeyframeRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoC;AACpC,wEAA0D;AAC1D,mGAAwE;AACxE,+EAAoD;AAEpD;;GAEG;AACH,MAAqB,eAAgB,SAAQ,oBAAO;IACnC,IAAI,GAAG,4BAAe,CAAC,YAAY,CAAC;IACpC,OAAO,CAAS;IACzB,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,GAA+B,IAAI,CAAC;IAE1C;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAmB,CACpC,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;YACQ,IAAI,CAAC,MAAM,CAAC,UAAW,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;IACpD,CAAC;CACD;AA/BD,kCA+BC"}

View File

@@ -0,0 +1,26 @@
import CSSRule from '../CSSRule.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSKeyframeRule extends CSSRule {
#private;
readonly type = CSSRuleTypeEnum.keyframeRule;
readonly keyText: string;
[PropertySymbol.cssText]: string;
/**
* Returns style.
*
* @returns Style.
*/
get style(): CSSStyleDeclaration;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
}
//# sourceMappingURL=CSSKeyframeRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSKeyframeRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSKeyframeRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;;IACnD,SAAgB,IAAI,gCAAgC;IACpD,SAAgB,OAAO,EAAE,MAAM,CAAC;IACzB,CAAC,cAAc,CAAC,OAAO,CAAC,SAAM;IAGrC;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAUtC;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;CACD"}

View File

@@ -0,0 +1,96 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const CSSStyleDeclaration_js_1 = __importDefault(require("../declaration/CSSStyleDeclaration.cjs"));
const CSSKeyframeRule_js_1 = __importDefault(require("./CSSKeyframeRule.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
const CSS_RULE_REGEXP = /([^{]+){([^}]+)}/;
/**
* CSSRule interface.
*/
class CSSKeyframesRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.keyframesRule;
cssRules = [];
name = null;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
let cssText = '';
for (const cssRule of this.cssRules) {
cssText += cssRule.cssText + ' ';
}
return `@keyframes ${this.name} { ${cssText}}`;
}
/**
* Appends a rule.
*
* @param rule Rule. E.g. "0% { transform: rotate(360deg); }".
*/
appendRule(rule) {
const match = rule.match(CSS_RULE_REGEXP);
if (match) {
const cssRule = new CSSKeyframeRule_js_1.default(PropertySymbol.illegalConstructor, this[PropertySymbol.window]);
const style = new CSSStyleDeclaration_js_1.default(PropertySymbol.illegalConstructor, this[PropertySymbol.window]);
cssRule.parentRule = this;
cssRule.keyText = match[1].trim();
style.cssText = match[2].trim();
style.parentRule = this;
cssRule.style = style;
}
}
/**
* Removes a rule.
*
* @param rule Rule. E.g. "0%".
*/
deleteRule(rule) {
for (let i = 0, max = this.cssRules.length; i < max; i++) {
if (this.cssRules[i].keyText === rule) {
this.cssRules.splice(i, 1);
break;
}
}
}
}
exports.default = CSSKeyframesRule;
//# sourceMappingURL=CSSKeyframesRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSKeyframesRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSKeyframesRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoC;AACpC,mGAAwE;AACxE,8EAAmD;AACnD,wEAA0D;AAC1D,+EAAoD;AAEpD,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C;;GAEG;AACH,MAAqB,gBAAiB,SAAQ,oBAAO;IACpC,IAAI,GAAG,4BAAe,CAAC,aAAa,CAAC;IACrC,QAAQ,GAAsB,EAAE,CAAC;IACjC,IAAI,GAAW,IAAI,CAAC;IAEpC;;;;OAIG;IACH,IAAW,OAAO;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,cAAc,IAAI,CAAC,IAAI,MAAM,OAAO,GAAG,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAY;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,IAAI,4BAAe,CAClC,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,gCAAmB,CACpC,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;YAEQ,OAAO,CAAC,UAAW,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,OAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE5C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEtB,KAAK,CAAC,UAAW,GAAG,IAAI,CAAC;YACb,OAAO,CAAC,KAAM,GAAG,KAAK,CAAC;QAC9C,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAY;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;CACD;AA1DD,mCA0DC"}

View File

@@ -0,0 +1,30 @@
import CSSRule from '../CSSRule.cjs';
import CSSKeyframeRule from './CSSKeyframeRule.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSKeyframesRule extends CSSRule {
readonly type = CSSRuleTypeEnum.keyframesRule;
readonly cssRules: CSSKeyframeRule[];
readonly name: string;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
/**
* Appends a rule.
*
* @param rule Rule. E.g. "0% { transform: rotate(360deg); }".
*/
appendRule(rule: string): void;
/**
* Removes a rule.
*
* @param rule Rule. E.g. "0%".
*/
deleteRule(rule: string): void;
}
//# sourceMappingURL=CSSKeyframesRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSKeyframesRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSKeyframesRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAIpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,SAAgB,IAAI,iCAAiC;IACrD,SAAgB,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjD,SAAgB,IAAI,EAAE,MAAM,CAAQ;IAEpC;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAM3B;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAsBrC;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQrC"}

View File

@@ -0,0 +1,38 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
const MediaList_js_1 = __importDefault(require("../MediaList.cjs"));
/**
* CSSRule interface.
*/
class CSSMediaRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.mediaRule;
cssRules = [];
media = new MediaList_js_1.default();
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
let cssText = '';
for (const cssRule of this.cssRules) {
cssText += cssRule.cssText;
}
return `@media ${this.conditionText} { ${cssText} }`;
}
/**
* Returns conditional text.
*
* @returns Conditional text.
*/
get conditionText() {
return this.media.mediaText;
}
}
exports.default = CSSMediaRule;
//# sourceMappingURL=CSSMediaRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSMediaRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSMediaRule.ts"],"names":[],"mappings":";;;;;AAAA,+DAAoC;AACpC,+EAAoD;AACpD,mEAAwC;AAExC;;GAEG;AACH,MAAqB,YAAa,SAAQ,oBAAO;IAChC,IAAI,GAAG,4BAAe,CAAC,SAAS,CAAC;IACjC,QAAQ,GAAc,EAAE,CAAC;IACzB,KAAK,GAAG,IAAI,sBAAS,EAAE,CAAC;IAExC;;;;OAIG;IACH,IAAW,OAAO;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,UAAU,IAAI,CAAC,aAAa,MAAM,OAAO,IAAI,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7B,CAAC;CACD;AA1BD,+BA0BC"}

View File

@@ -0,0 +1,24 @@
import CSSRule from '../CSSRule.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
import MediaList from '../MediaList.cjs';
/**
* CSSRule interface.
*/
export default class CSSMediaRule extends CSSRule {
readonly type = CSSRuleTypeEnum.mediaRule;
readonly cssRules: CSSRule[];
readonly media: MediaList;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
/**
* Returns conditional text.
*
* @returns Conditional text.
*/
get conditionText(): string;
}
//# sourceMappingURL=CSSMediaRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSMediaRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSMediaRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAChD,SAAgB,IAAI,6BAA6B;IACjD,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzC,SAAgB,KAAK,YAAmB;IAExC;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAM3B;IAED;;;;OAIG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;CACD"}

View File

@@ -0,0 +1,75 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const CSSStyleDeclaration_js_1 = __importDefault(require("../declaration/CSSStyleDeclaration.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
/**
* CSSRule interface.
*/
class CSSStyleRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.styleRule;
styleMap = new Map();
selectorText = '';
[PropertySymbol.cssText] = '';
#style = null;
/**
* Returns style.
*
* @returns Style.
*/
get style() {
if (!this.#style) {
this.#style = new CSSStyleDeclaration_js_1.default(PropertySymbol.illegalConstructor, this[PropertySymbol.window]);
this.#style.parentRule = this;
this.#style.cssText = this[PropertySymbol.cssText];
}
return this.#style;
}
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
return `${this.selectorText} { ${this.style.cssText} }`;
}
}
exports.default = CSSStyleRule;
//# sourceMappingURL=CSSStyleRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSStyleRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoC;AACpC,wEAA0D;AAC1D,mGAAwE;AACxE,+EAAoD;AAEpD;;GAEG;AACH,MAAqB,YAAa,SAAQ,oBAAO;IAChC,IAAI,GAAG,4BAAe,CAAC,SAAS,CAAC;IACjC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,YAAY,GAAG,EAAE,CAAC;IAClB,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,GAA+B,IAAI,CAAC;IAE1C;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,gCAAmB,CACpC,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;YACQ,IAAI,CAAC,MAAM,CAAC,UAAW,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,GAAG,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;IACzD,CAAC;CACD;AAhCD,+BAgCC"}

View File

@@ -0,0 +1,27 @@
import CSSRule from '../CSSRule.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
import CSSStyleDeclaration from '../declaration/CSSStyleDeclaration.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSStyleRule extends CSSRule {
#private;
readonly type = CSSRuleTypeEnum.styleRule;
readonly styleMap: Map<any, any>;
selectorText: string;
[PropertySymbol.cssText]: string;
/**
* Returns style.
*
* @returns Style.
*/
get style(): CSSStyleDeclaration;
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
}
//# sourceMappingURL=CSSStyleRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSStyleRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;;IAChD,SAAgB,IAAI,6BAA6B;IACjD,SAAgB,QAAQ,gBAAa;IAC9B,YAAY,SAAM;IAClB,CAAC,cAAc,CAAC,OAAO,CAAC,SAAM;IAGrC;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAUtC;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;CACD"}

View File

@@ -0,0 +1,29 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const CSSRule_js_1 = __importDefault(require("../CSSRule.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../CSSRuleTypeEnum.cjs"));
/**
* CSSRule interface.
*/
class CSSSupportsRule extends CSSRule_js_1.default {
type = CSSRuleTypeEnum_js_1.default.supportsRule;
cssRules = [];
conditionText = '';
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText() {
let cssText = '';
for (const cssRule of this.cssRules) {
cssText += cssRule.cssText;
}
return `@supports ${this.conditionText} { ${cssText} }`;
}
}
exports.default = CSSSupportsRule;
//# sourceMappingURL=CSSSupportsRule.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSSupportsRule.cjs","sourceRoot":"","sources":["../../../src/css/rules/CSSSupportsRule.ts"],"names":[],"mappings":";;;;;AAAA,+DAAoC;AACpC,+EAAoD;AAEpD;;GAEG;AACH,MAAqB,eAAgB,SAAQ,oBAAO;IACnC,IAAI,GAAG,4BAAe,CAAC,YAAY,CAAC;IACpC,QAAQ,GAAc,EAAE,CAAC;IACzB,aAAa,GAAG,EAAE,CAAC;IAEnC;;;;OAIG;IACH,IAAW,OAAO;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,aAAa,IAAI,CAAC,aAAa,MAAM,OAAO,IAAI,CAAC;IACzD,CAAC;CACD;AAjBD,kCAiBC"}

View File

@@ -0,0 +1,17 @@
import CSSRule from '../CSSRule.cjs';
import CSSRuleTypeEnum from '../CSSRuleTypeEnum.cjs';
/**
* CSSRule interface.
*/
export default class CSSSupportsRule extends CSSRule {
readonly type = CSSRuleTypeEnum.supportsRule;
readonly cssRules: CSSRule[];
readonly conditionText = "";
/**
* Returns css text.
*
* @returns CSS text.
*/
get cssText(): string;
}
//# sourceMappingURL=CSSSupportsRule.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSSupportsRule.d.ts","sourceRoot":"","sources":["../../../src/css/rules/CSSSupportsRule.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IACnD,SAAgB,IAAI,gCAAgC;IACpD,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzC,SAAgB,aAAa,MAAM;IAEnC;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAM3B;CACD"}