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,364 @@
"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 PropertySymbol = __importStar(require("../../../PropertySymbol.cjs"));
const CSSStyleDeclarationPropertyManager_js_1 = __importDefault(require("../property-manager/CSSStyleDeclarationPropertyManager.cjs"));
const NodeTypeEnum_js_1 = __importDefault(require("../../../nodes/node/NodeTypeEnum.cjs"));
const CSSRuleTypeEnum_js_1 = __importDefault(require("../../CSSRuleTypeEnum.cjs"));
const CSSStyleDeclarationElementDefaultCSS_js_1 = __importDefault(require("./config/CSSStyleDeclarationElementDefaultCSS.cjs"));
const CSSStyleDeclarationElementInheritedProperties_js_1 = __importDefault(require("./config/CSSStyleDeclarationElementInheritedProperties.cjs"));
const CSSStyleDeclarationElementMeasurementProperties_js_1 = __importDefault(require("./config/CSSStyleDeclarationElementMeasurementProperties.cjs"));
const CSSStyleDeclarationCSSParser_js_1 = __importDefault(require("../css-parser/CSSStyleDeclarationCSSParser.cjs"));
const QuerySelector_js_1 = __importDefault(require("../../../query-selector/QuerySelector.cjs"));
const CSSMeasurementConverter_js_1 = __importDefault(require("../measurement-converter/CSSMeasurementConverter.cjs"));
const MediaQueryList_js_1 = __importDefault(require("../../../match-media/MediaQueryList.cjs"));
const WindowBrowserContext_js_1 = __importDefault(require("../../../window/WindowBrowserContext.cjs"));
const CSS_MEASUREMENT_REGEXP = /[0-9.]+(px|rem|em|vw|vh|%|vmin|vmax|cm|mm|in|pt|pc|Q)/g;
const CSS_VARIABLE_REGEXP = /var\( *(--[^), ]+)\)|var\( *(--[^), ]+), *(.+)\)/;
/**
* CSS Style Declaration utility
*/
class CSSStyleDeclarationComputedStyle {
element;
/**
* Constructor.
*
* @param element Element.
* @param [computed] Computed.
*/
constructor(element) {
this.element = element;
}
/**
* Returns style sheets.
*
* @param element Element.
* @returns Style sheets.
*/
getComputedStyle() {
const documentElements = [];
const parentElements = [];
let styleAndElement = {
element: this.element,
cssTexts: []
};
let shadowRootElements = [];
if (!this.element[PropertySymbol.isConnected]) {
return new CSSStyleDeclarationPropertyManager_js_1.default();
}
const cacheResult = this.element[PropertySymbol.cache].computedStyle;
if (cacheResult?.result) {
const result = cacheResult.result.deref();
if (result) {
return result;
}
}
// Walks through all parent elements and stores them in an array with element and matching CSS text.
while (styleAndElement.element) {
if (styleAndElement.element[PropertySymbol.nodeType] === NodeTypeEnum_js_1.default.elementNode) {
const rootNode = styleAndElement.element.getRootNode();
if (rootNode[PropertySymbol.nodeType] === NodeTypeEnum_js_1.default.documentNode) {
documentElements.unshift(styleAndElement);
}
else {
shadowRootElements.unshift(styleAndElement);
}
parentElements.unshift(styleAndElement);
}
if (styleAndElement.element === this.element[PropertySymbol.ownerDocument]) {
const styleSheets = (this.element[PropertySymbol.ownerDocument].querySelectorAll('style,link[rel="stylesheet"]'));
for (const styleSheet of styleSheets) {
const sheet = styleSheet.sheet;
if (sheet) {
this.parseCSSRules({
elements: documentElements,
rootElement: documentElements[0].element[PropertySymbol.tagName] === 'HTML'
? documentElements[0]
: null,
cssRules: sheet.cssRules
});
}
}
for (const sheet of this.element[PropertySymbol.ownerDocument].adoptedStyleSheets) {
this.parseCSSRules({
elements: documentElements,
rootElement: documentElements[0].element[PropertySymbol.tagName] === 'HTML'
? documentElements[0]
: null,
cssRules: sheet.cssRules
});
}
styleAndElement = { element: null, cssTexts: [] };
}
else if (styleAndElement.element[PropertySymbol.nodeType] === NodeTypeEnum_js_1.default.documentFragmentNode &&
styleAndElement.element.host) {
const shadowRoot = styleAndElement.element;
const styleSheets = (shadowRoot.querySelectorAll('style,link[rel="stylesheet"]'));
styleAndElement = {
element: shadowRoot.host,
cssTexts: []
};
for (const styleSheet of styleSheets) {
const sheet = styleSheet.sheet;
if (sheet) {
this.parseCSSRules({
elements: shadowRootElements,
cssRules: sheet.cssRules,
hostElement: styleAndElement
});
}
}
for (const sheet of shadowRoot.adoptedStyleSheets) {
this.parseCSSRules({
elements: shadowRootElements,
cssRules: sheet.cssRules,
hostElement: styleAndElement
});
}
shadowRootElements = [];
}
else {
styleAndElement = {
element: styleAndElement.element[PropertySymbol.parentNode],
cssTexts: []
};
}
}
// Concatenates all parent element CSS to one string.
const targetElement = parentElements[parentElements.length - 1];
const propertyManager = new CSSStyleDeclarationPropertyManager_js_1.default();
const cssProperties = {};
let rootFontSize = 16;
let parentFontSize = 16;
for (const parentElement of parentElements) {
parentElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
let elementCSSText = '';
if (CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]]) {
if (typeof CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]] === 'string') {
elementCSSText +=
CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]];
}
else {
for (const key of Object.keys(CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]])) {
if (key === 'default' || !!parentElement.element[key]) {
elementCSSText +=
CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]][key];
}
}
}
elementCSSText +=
CSSStyleDeclarationElementDefaultCSS_js_1.default[parentElement.element[PropertySymbol.tagName]];
}
for (const cssText of parentElement.cssTexts) {
elementCSSText += cssText.cssText;
}
const elementStyleAttribute = parentElement.element.getAttribute('style');
if (elementStyleAttribute) {
elementCSSText += elementStyleAttribute;
}
const rulesAndProperties = CSSStyleDeclarationCSSParser_js_1.default.parse(elementCSSText);
const rules = rulesAndProperties.rules;
Object.assign(cssProperties, rulesAndProperties.properties);
for (const { name, value, important } of rules) {
if (CSSStyleDeclarationElementInheritedProperties_js_1.default[name] ||
parentElement === targetElement) {
const parsedValue = this.parseCSSVariablesInValue(value.trim(), cssProperties);
if (parsedValue && (!propertyManager.get(name)?.important || important)) {
propertyManager.set(name, parsedValue, important);
if (name === 'font' || name === 'font-size') {
const fontSize = propertyManager.properties['font-size'];
if (fontSize !== null) {
const parsedValue = this.parseMeasurementsInValue({
value: fontSize.value,
rootFontSize,
parentFontSize,
parentSize: parentFontSize
});
if (parentElement.element[PropertySymbol.tagName] === 'HTML') {
rootFontSize = parsedValue;
}
else if (parentElement !== targetElement) {
parentFontSize = parsedValue;
}
}
}
}
}
}
}
for (const name of CSSStyleDeclarationElementMeasurementProperties_js_1.default) {
const property = propertyManager.properties[name];
if (property) {
property.value = this.parseMeasurementsInValue({
value: property.value,
rootFontSize,
parentFontSize,
// TODO: Only "font-size" is supported when using percentage values. Add support for other properties.
parentSize: name === 'font-size' ? parentFontSize : null
});
}
}
const cachedResult = {
result: new WeakRef(propertyManager)
};
this.element[PropertySymbol.cache].computedStyle = cachedResult;
this.element[PropertySymbol.ownerDocument][PropertySymbol.affectsComputedStyleCache].push(cachedResult);
return propertyManager;
}
/**
* Applies CSS text to elements.
*
* @param options Options.
* @param options.elements Elements.
* @param options.cssRules CSS rules.
* @param options.rootElement Root element.
* @param [options.hostElement] Host element.
*/
parseCSSRules(options) {
if (!options.elements.length) {
return;
}
const window = this.element[PropertySymbol.window];
for (const rule of options.cssRules) {
if (rule.type === CSSRuleTypeEnum_js_1.default.styleRule) {
const selectorText = rule.selectorText;
if (selectorText) {
if (selectorText.startsWith(':host')) {
if (options.hostElement) {
options.hostElement.cssTexts.push({
cssText: rule[PropertySymbol.cssText],
priorityWeight: 0
});
}
}
else if (selectorText.startsWith(':root')) {
if (options.rootElement) {
options.rootElement.cssTexts.push({
cssText: rule[PropertySymbol.cssText],
priorityWeight: 0
});
}
}
else {
for (const element of options.elements) {
const match = QuerySelector_js_1.default.matches(element.element, selectorText, {
ignoreErrors: true
});
if (match) {
element.cssTexts.push({
cssText: rule[PropertySymbol.cssText],
priorityWeight: match.priorityWeight
});
}
}
}
}
}
else if (rule.type === CSSRuleTypeEnum_js_1.default.mediaRule &&
// TODO: We need to send in a predfined root font size as it will otherwise be calculated using Window.getComputedStyle(), which will cause a never ending loop. Is there another solution?
new MediaQueryList_js_1.default({
window,
media: rule.conditionText,
rootFontSize: this.element[PropertySymbol.tagName] === 'HTML' ? 16 : null
}).matches) {
this.parseCSSRules({
elements: options.elements,
cssRules: rule.cssRules,
hostElement: options.hostElement
});
}
}
}
/**
* Parses CSS variables in a value.
*
* @param value Value.
* @param cssVariables CSS variables.
* @returns CSS value.
*/
parseCSSVariablesInValue(value, cssVariables) {
let newValue = value;
let match;
while ((match = newValue.match(CSS_VARIABLE_REGEXP)) !== null) {
// Fallback value - E.g. var(--my-var, #FFFFFF)
if (match[2] !== undefined) {
newValue = newValue.replace(match[0], cssVariables[match[2]] || match[3]);
}
else {
newValue = newValue.replace(match[0], cssVariables[match[1]] || '');
}
}
return newValue;
}
/**
* Parses measurements in a value.
*
* @param options Options.
* @param options.value Value.
* @param options.rootFontSize Root font size.
* @param options.parentFontSize Parent font size.
* @param [options.parentSize] Parent width.
* @returns CSS value.
*/
parseMeasurementsInValue(options) {
if (new WindowBrowserContext_js_1.default(this.element[PropertySymbol.window]).getSettings()
?.disableComputedStyleRendering) {
return options.value;
}
const regexp = new RegExp(CSS_MEASUREMENT_REGEXP);
let newValue = options.value;
let match;
while ((match = regexp.exec(options.value)) !== null) {
if (match[1] !== 'px') {
const valueInPixels = CSSMeasurementConverter_js_1.default.toPixels({
window: this.element[PropertySymbol.window],
value: match[0],
rootFontSize: options.rootFontSize,
parentFontSize: options.parentFontSize,
parentSize: options.parentSize
});
if (valueInPixels !== null) {
newValue = newValue.replace(match[0], valueInPixels + 'px');
}
}
}
return newValue;
}
}
exports.default = CSSStyleDeclarationComputedStyle;
//# sourceMappingURL=CSSStyleDeclarationComputedStyle.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,52 @@
import Element from '../../../nodes/element/Element.cjs';
import CSSStyleDeclarationPropertyManager from '../property-manager/CSSStyleDeclarationPropertyManager.cjs';
/**
* CSS Style Declaration utility
*/
export default class CSSStyleDeclarationComputedStyle {
private element;
/**
* Constructor.
*
* @param element Element.
* @param [computed] Computed.
*/
constructor(element: Element);
/**
* Returns style sheets.
*
* @param element Element.
* @returns Style sheets.
*/
getComputedStyle(): CSSStyleDeclarationPropertyManager;
/**
* Applies CSS text to elements.
*
* @param options Options.
* @param options.elements Elements.
* @param options.cssRules CSS rules.
* @param options.rootElement Root element.
* @param [options.hostElement] Host element.
*/
private parseCSSRules;
/**
* Parses CSS variables in a value.
*
* @param value Value.
* @param cssVariables CSS variables.
* @returns CSS value.
*/
private parseCSSVariablesInValue;
/**
* Parses measurements in a value.
*
* @param options Options.
* @param options.value Value.
* @param options.rootFontSize Root font size.
* @param options.parentFontSize Parent font size.
* @param [options.parentSize] Parent width.
* @returns CSS value.
*/
private parseMeasurementsInValue;
}
//# sourceMappingURL=CSSStyleDeclarationComputedStyle.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationComputedStyle.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,mCAAmC,CAAC;AAIxD,OAAO,kCAAkC,MAAM,2DAA2D,CAAC;AAuB3G;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gCAAgC;IACpD,OAAO,CAAC,OAAO,CAAU;IAEzB;;;;;OAKG;gBACS,OAAO,EAAE,OAAO;IAI5B;;;;;OAKG;IACI,gBAAgB,IAAI,kCAAkC;IAkO7D;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IA8DrB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;CAmChC"}

View File

@@ -0,0 +1,136 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
default: 'display: inline;',
A: '',
ABBR: '',
ADDRESS: 'display: block;',
AREA: '',
ARTICLE: 'display: block;',
ASIDE: 'display: block;',
AUDIO: 'display: none;',
B: '',
BASE: 'display: none;',
BDI: '',
BDO: '',
BLOCKQUAOTE: '',
BODY: 'display: block;',
TEMPLATE: 'display: none;',
FORM: 'display: block;',
INPUT: 'display: inline-block;',
TEXTAREA: 'display: inline-block;',
SCRIPT: 'display: none;',
IMG: '',
LINK: 'display: none;',
STYLE: 'display: none;',
LABEL: '',
SLOT: 'display: contents;',
SVG: '',
CIRCLE: '',
ELLIPSE: '',
LINE: '',
PATH: '',
POLYGON: '',
POLYLINE: '',
RECT: '',
STOP: '',
USE: '',
META: 'display: none;',
BLOCKQUOTE: 'display: block;',
BR: '',
BUTTON: 'display: inline-block;',
CANVAS: '',
CAPTION: 'display: table-caption;',
CITE: '',
CODE: '',
COL: 'display: table-column;',
COLGROUP: 'display: table-column-group;',
DATA: '',
DATALIST: 'display: none;',
DD: 'display: block;',
DEL: '',
DETAILS: 'display: block;',
DFN: '',
DIALOG: {
default: 'display: none;',
open: 'display: block;'
},
DIV: 'display: block;',
DL: 'display: block;',
DT: 'display: block;',
EM: '',
EMBED: '',
FIELDSET: 'display: block;',
FIGCAPTION: 'display: block;',
FIGURE: 'display: block;',
FOOTER: 'display: block;',
H1: 'display: block;',
H2: 'display: block;',
H3: 'display: block;',
H4: 'display: block;',
H5: 'display: block;',
H6: 'display: block;',
HEAD: 'display: none;',
HEADER: 'display: block;',
HGROUP: 'display: block;',
HR: 'display: block;',
HTML: 'display: block;direction: ltr;font: 16px "Times New Roman";',
I: '',
IFRAME: '',
INS: '',
KBD: '',
LEGEND: 'display: block;',
LI: 'display: list-item;',
MAIN: 'display: block;',
MAP: '',
MARK: '',
MATH: '',
MENU: 'display: block;',
MENUITEM: '',
METER: 'display: inline-block;',
NAV: 'display: block;',
NOSCRIPT: '',
OBJECT: '',
OL: 'display: block;',
OPTGROUP: 'display: block;',
OPTION: 'display: block;',
OUTPUT: 'unicode-bidi: isolate;',
P: 'display: block;',
PARAM: 'display: none;',
PICTURE: '',
PRE: 'display: block;',
PROGRESS: 'display: inline-block;',
Q: '',
RB: '',
RP: 'display: none;',
RT: '',
RTC: '',
RUBY: '',
S: '',
SAMP: '',
SECTION: 'display: block;',
SELECT: 'display: inline-block;',
SMALL: '',
SOURCE: '',
SPAN: '',
STRONG: '',
SUB: '',
SUMMARY: 'display: block;',
SUP: '',
TABLE: 'display: table;',
TBODY: 'display: table-row-group;',
TD: 'display: table-cell;',
TFOOT: 'display: table-footer-group;',
TH: 'display: table-cell;',
THEAD: 'display: table-header-group;',
TIME: '',
TITLE: 'display: none;',
TR: 'display: table-row;',
TRACK: '',
U: '',
UL: 'display: block;',
VAR: '',
VIDEO: '',
WBR: ''
};
//# sourceMappingURL=CSSStyleDeclarationElementDefaultCSS.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementDefaultCSS.cjs","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,135 @@
declare const _default: {
default: string;
A: string;
ABBR: string;
ADDRESS: string;
AREA: string;
ARTICLE: string;
ASIDE: string;
AUDIO: string;
B: string;
BASE: string;
BDI: string;
BDO: string;
BLOCKQUAOTE: string;
BODY: string;
TEMPLATE: string;
FORM: string;
INPUT: string;
TEXTAREA: string;
SCRIPT: string;
IMG: string;
LINK: string;
STYLE: string;
LABEL: string;
SLOT: string;
SVG: string;
CIRCLE: string;
ELLIPSE: string;
LINE: string;
PATH: string;
POLYGON: string;
POLYLINE: string;
RECT: string;
STOP: string;
USE: string;
META: string;
BLOCKQUOTE: string;
BR: string;
BUTTON: string;
CANVAS: string;
CAPTION: string;
CITE: string;
CODE: string;
COL: string;
COLGROUP: string;
DATA: string;
DATALIST: string;
DD: string;
DEL: string;
DETAILS: string;
DFN: string;
DIALOG: {
default: string;
open: string;
};
DIV: string;
DL: string;
DT: string;
EM: string;
EMBED: string;
FIELDSET: string;
FIGCAPTION: string;
FIGURE: string;
FOOTER: string;
H1: string;
H2: string;
H3: string;
H4: string;
H5: string;
H6: string;
HEAD: string;
HEADER: string;
HGROUP: string;
HR: string;
HTML: string;
I: string;
IFRAME: string;
INS: string;
KBD: string;
LEGEND: string;
LI: string;
MAIN: string;
MAP: string;
MARK: string;
MATH: string;
MENU: string;
MENUITEM: string;
METER: string;
NAV: string;
NOSCRIPT: string;
OBJECT: string;
OL: string;
OPTGROUP: string;
OPTION: string;
OUTPUT: string;
P: string;
PARAM: string;
PICTURE: string;
PRE: string;
PROGRESS: string;
Q: string;
RB: string;
RP: string;
RT: string;
RTC: string;
RUBY: string;
S: string;
SAMP: string;
SECTION: string;
SELECT: string;
SMALL: string;
SOURCE: string;
SPAN: string;
STRONG: string;
SUB: string;
SUMMARY: string;
SUP: string;
TABLE: string;
TBODY: string;
TD: string;
TFOOT: string;
TH: string;
THEAD: string;
TIME: string;
TITLE: string;
TR: string;
TRACK: string;
U: string;
UL: string;
VAR: string;
VIDEO: string;
WBR: string;
};
export default _default;
//# sourceMappingURL=CSSStyleDeclarationElementDefaultCSS.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementDefaultCSS.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAoIE"}

View File

@@ -0,0 +1,42 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
'border-collapse': true,
'border-spacing': true,
'caption-side': true,
color: true,
cursor: true,
direction: true,
'empty-cells': true,
'font-family': true,
'font-size': true,
'font-style': true,
'font-variant': true,
'font-weight': true,
'font-size-adjust': true,
'font-stretch': true,
font: true,
'letter-spacing': true,
'line-height': true,
'list-style-image': true,
'list-style-position': true,
'list-style-type': true,
'list-style': true,
orphans: true,
quotes: true,
'tab-size': true,
'text-align': true,
'text-align-last': true,
'text-decoration-color': true,
'text-indent': true,
'text-justify': true,
'text-shadow': true,
'text-transform': true,
visibility: true,
'white-space': true,
widows: true,
'word-break': true,
'word-spacing': true,
'word-wrap': true
};
//# sourceMappingURL=CSSStyleDeclarationElementInheritedProperties.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementInheritedProperties.cjs","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;CACjB,CAAC"}

View File

@@ -0,0 +1,41 @@
declare const _default: {
'border-collapse': boolean;
'border-spacing': boolean;
'caption-side': boolean;
color: boolean;
cursor: boolean;
direction: boolean;
'empty-cells': boolean;
'font-family': boolean;
'font-size': boolean;
'font-style': boolean;
'font-variant': boolean;
'font-weight': boolean;
'font-size-adjust': boolean;
'font-stretch': boolean;
font: boolean;
'letter-spacing': boolean;
'line-height': boolean;
'list-style-image': boolean;
'list-style-position': boolean;
'list-style-type': boolean;
'list-style': boolean;
orphans: boolean;
quotes: boolean;
'tab-size': boolean;
'text-align': boolean;
'text-align-last': boolean;
'text-decoration-color': boolean;
'text-indent': boolean;
'text-justify': boolean;
'text-shadow': boolean;
'text-transform': boolean;
visibility: boolean;
'white-space': boolean;
widows: boolean;
'word-break': boolean;
'word-spacing': boolean;
'word-wrap': boolean;
};
export default _default;
//# sourceMappingURL=CSSStyleDeclarationElementInheritedProperties.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementInheritedProperties.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsCE"}

View File

@@ -0,0 +1,44 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = [
'background-position-x',
'background-position-y',
'background-size',
'border-image-outset',
'border-top-width',
'border-right-width',
'border-bottom-width',
'border-left-width',
'border-top-left-radius',
'border-top-right-radius',
'border-bottom-right-radius',
'border-bottom-left-radius',
'border-image-width',
'clip',
'font-size',
'padding-top',
'padding-right',
'padding-bottom',
'padding-left',
'margin-top',
'margin-right',
'margin-bottom',
'margin-left',
'width',
'height',
'min-width',
'min-height',
'max-width',
'max-height',
'top',
'right',
'bottom',
'left',
'outline-width',
'outline-offset',
'letter-spacing',
'word-spacing',
'text-indent',
'line-height'
];
//# sourceMappingURL=CSSStyleDeclarationElementMeasurementProperties.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementMeasurementProperties.cjs","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,uBAAuB;IACvB,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,oBAAoB;IACpB,MAAM;IACN,WAAW;IACX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,eAAe;IACf,aAAa;IACb,OAAO;IACP,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,aAAa;CACb,CAAC"}

View File

@@ -0,0 +1,3 @@
declare const _default: string[];
export default _default;
//# sourceMappingURL=CSSStyleDeclarationElementMeasurementProperties.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CSSStyleDeclarationElementMeasurementProperties.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.ts"],"names":[],"mappings":";AAAA,wBAwCE"}