scriptable-testlab
Version:
A lightweight, efficient tool designed to manage and update scripts for Scriptable.
210 lines • 6.56 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var font_exports = {};
__export(font_exports, {
FONT_FAMILY: () => FONT_FAMILY,
FONT_SIZE: () => FONT_SIZE,
MockFont: () => MockFont
});
module.exports = __toCommonJS(font_exports);
var import_scriptable_abstract = require("scriptable-abstract");
const FONT_FAMILY = {
SFUI: {
REGULAR: ".SFUI-Regular",
ULTRALIGHT: ".SFUI-Ultralight",
THIN: ".SFUI-Thin",
LIGHT: ".SFUI-Light",
MEDIUM: ".SFUI-Medium",
SEMIBOLD: ".SFUI-Semibold",
BOLD: ".SFUI-Bold",
HEAVY: ".SFUI-Heavy",
BLACK: ".SFUI-Black",
ITALIC: ".SFUI-RegularItalic"
},
MENLO: {
ULTRALIGHT: "Menlo-UltraLight",
THIN: "Menlo-Thin",
LIGHT: "Menlo-Light",
REGULAR: "Menlo-Regular",
MEDIUM: "Menlo-Medium",
SEMIBOLD: "Menlo-Semibold",
BOLD: "Menlo-Bold",
HEAVY: "Menlo-Heavy",
BLACK: "Menlo-Black"
},
SFUI_ROUNDED: {
ULTRALIGHT: ".SFUIRounded-Ultralight",
THIN: ".SFUIRounded-Thin",
LIGHT: ".SFUIRounded-Light",
REGULAR: ".SFUIRounded-Regular"
}
};
const FONT_SIZE = {
LARGE_TITLE: 34,
TITLE1: 28,
TITLE2: 22,
TITLE3: 20,
HEADLINE: 17,
SUBHEADLINE: 15,
BODY: 17,
CALLOUT: 16,
FOOTNOTE: 13,
CAPTION1: 12,
CAPTION2: 11,
DEFAULT: 12
};
const DEFAULT_STATE = {
size: FONT_SIZE.DEFAULT,
methodCalls: []
};
class MockFont extends import_scriptable_abstract.AbsFont {
constructor(name, size) {
super({
...DEFAULT_STATE,
name,
size: size ?? DEFAULT_STATE.size,
methodCalls: ["constructor"]
});
}
get asFont() {
return this;
}
getState() {
return this.state;
}
// Factory method for creating system fonts
static createSystemFont(family, size) {
return new this(family, size).asFont;
}
// Standard text styles
static largeTitle() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.LARGE_TITLE);
}
static title1() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.TITLE1);
}
static title2() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.TITLE2);
}
static title3() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.TITLE3);
}
static headline() {
return this.createSystemFont(FONT_FAMILY.SFUI.SEMIBOLD, FONT_SIZE.HEADLINE);
}
static subheadline() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.SUBHEADLINE);
}
static body() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.BODY);
}
static callout() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.CALLOUT);
}
static footnote() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.FOOTNOTE);
}
static caption1() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.CAPTION1);
}
static caption2() {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, FONT_SIZE.CAPTION2);
}
// System fonts
static systemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, size);
}
static ultraLightSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.ULTRALIGHT, size);
}
static thinSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.THIN, size);
}
static lightSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.LIGHT, size);
}
static regularSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.REGULAR, size);
}
static mediumSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.MEDIUM, size);
}
static semiboldSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.SEMIBOLD, size);
}
static boldSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.BOLD, size);
}
static heavySystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.HEAVY, size);
}
static blackSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.BLACK, size);
}
static italicSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI.ITALIC, size);
}
// Monospaced system fonts
static ultraLightMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.ULTRALIGHT, size);
}
static thinMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.THIN, size);
}
static lightMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.LIGHT, size);
}
static regularMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.REGULAR, size);
}
static mediumMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.MEDIUM, size);
}
static semiboldMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.SEMIBOLD, size);
}
static boldMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.BOLD, size);
}
static heavyMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.HEAVY, size);
}
static blackMonospacedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.MENLO.BLACK, size);
}
// Rounded system fonts
static ultraLightRoundedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI_ROUNDED.ULTRALIGHT, size);
}
static thinRoundedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI_ROUNDED.THIN, size);
}
static lightRoundedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI_ROUNDED.LIGHT, size);
}
static regularRoundedSystemFont(size) {
return this.createSystemFont(FONT_FAMILY.SFUI_ROUNDED.REGULAR, size);
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
FONT_FAMILY,
FONT_SIZE,
MockFont
});
//# sourceMappingURL=font.js.map