5.7.0

2025-10-18

BREAKING

android
squared.settings.builtInExtensions = [
    "squared.grid" // display: table (non-TABLE elements)
];

Note

Legacy web pages can re-install the deprecated extension with squared.add("squared.grid"). The modern approach is to use Flexbox or CSS Grid for column alignment.

ADDED

squared
function attr(name: ExtensionRequest<Node>, attrName: string, value?: unknown, append?: boolean): unknown; // append
squared.base
class Node {
    isSibling(type: "first" | "last" | "only", attr: NodeChildrenAttr): boolean;
    isSibling(type: "first" | "last" | "only", filter: IteratorPredicate<Node, unknown>): boolean;
    isSibling(type: "first" | "last" | "only", options?: SiblingOptions<Node, NodeChildrenAttr, NodeParentAttr>): boolean;
    get customElement(): boolean;
}
squared.svg
class SvgUseSymbol {
    readonly symbolElement: SVGSymbolElement | SVGSVGElement; // SVGSVGElement
    constructor(element: SVGSymbolElement | SVGSVGElement, useElement: SVGUseElement);
}
squared.lib
/* client */

interface UserAgentFeatures {
    RULES: {
        ANCHOR_POSITIONING: boolean;
    };
}

/* constant */

const enum CSS_POSITION {
    NONE = 0,
    TOP = 1,
    RIGHT = 2,
    BOTTOM = 4,
    LEFT = 8
}

/* css */

interface CSSStyleDeclaration {
    anchorName: string;
    anchorScope: string;
    dynamicRangeLimit: string;
    positionAnchor: string;
    positionArea: string;
    positionTryFallbacks: string;
    positionTryOrder: string;
    positionVisibility: string;
    rubyOverhang: string;
}

function parseEnv(element: HTMLElement | SVGElement, value: string): string;
function hasEnv(value: string): boolean;

/* dom */

function isCustomElement(element: Element): boolean;

/* regex */

const STRING: {
    CSS_FUNCTION: string;
};
android.base
interface UserResourceSettingsUI {
    createBuildDependencies: boolean | ("ktx" | "baseline-profile" | "navigation")[]; // navigation
}
android.extensions
/* <style name="Text_P"> -> <style name="Text_P" parent="TextAppearance.AppCompat"> */

interface ResourceStylesOptions {
    inheritFromParent: StringMap; // squared.attr("android.resource.styles", "inheritFromParent", { "Text_P": "TextAppearance.AppCompat" })
}

CHANGED

squared.base
interface OffsetXYOptions {
    flags?: number;
}