scriptable-testlab
Version:
A lightweight, efficient tool designed to manage and update scripts for Scriptable.
175 lines • 5.01 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 widget_exports = {};
__export(widget_exports, {
MockWidget: () => MockWidget
});
module.exports = __toCommonJS(widget_exports);
var import_scriptable_abstract = require("scriptable-abstract");
var import_image = require("../../media/image");
var import_color = require("../color");
var import_gradient = require("../gradient");
var import_date = require("./date");
var import_image2 = require("./image");
var import_spacer = require("./spacer");
var import_stack = require("./stack");
var import_text = require("./text");
const DEFAULT_STATE = {
family: "medium",
backgroundColor: new import_color.MockColor("#000000"),
backgroundImage: new import_image.MockImage(),
backgroundGradient: new import_gradient.MockLinearGradient(),
spacing: 0,
url: "",
refreshAfterDate: /* @__PURE__ */ new Date(),
padding: {
top: 0,
leading: 0,
bottom: 0,
trailing: 0
},
addAccessoryWidgetBackground: false,
elements: []
};
class MockWidget extends import_scriptable_abstract.AbsListWidget {
constructor() {
super();
this.setState(DEFAULT_STATE);
}
get backgroundColor() {
return this.state.backgroundColor;
}
set backgroundColor(value) {
this.setState({ backgroundColor: value });
}
get backgroundImage() {
return this.state.backgroundImage;
}
set backgroundImage(value) {
this.setState({ backgroundImage: value });
}
get backgroundGradient() {
return this.state.backgroundGradient;
}
set backgroundGradient(value) {
this.setState({ backgroundGradient: value });
}
get spacing() {
return this.state.spacing;
}
set spacing(value) {
this.setState({ spacing: value });
}
get url() {
return this.state.url;
}
set url(value) {
this.setState({ url: value });
}
get refreshAfterDate() {
return this.state.refreshAfterDate;
}
set refreshAfterDate(value) {
this.setState({ refreshAfterDate: value });
}
get addAccessoryWidgetBackground() {
return this.state.addAccessoryWidgetBackground;
}
set addAccessoryWidgetBackground(value) {
this.setState({ addAccessoryWidgetBackground: value });
}
addText(text) {
const textElement = new import_text.MockWidgetText(text);
this.setState({
elements: [...this.state.elements, textElement]
});
return textElement;
}
addDate(date) {
const dateElement = new import_date.MockWidgetDate(date);
this.setState({
elements: [...this.state.elements, dateElement]
});
return dateElement;
}
addImage(image) {
const imageElement = new import_image2.MockWidgetImage(image);
this.setState({
elements: [...this.state.elements, imageElement]
});
return imageElement;
}
addSpacer(length) {
const spacer = new import_spacer.MockWidgetSpacer(length);
this.setState({
elements: [...this.state.elements, spacer]
});
return spacer;
}
addStack() {
const stack = new import_stack.MockWidgetStack();
this.setState({
elements: [...this.state.elements, stack]
});
return stack;
}
setPadding(top, leading, bottom, trailing) {
this.setState({
padding: { top, leading, bottom, trailing }
});
}
useDefaultPadding() {
this.setPadding(8, 8, 8, 8);
}
async presentSmall() {
this.setState({ family: "small" });
return Promise.resolve();
}
async presentMedium() {
this.setState({ family: "medium" });
return Promise.resolve();
}
async presentLarge() {
this.setState({ family: "large" });
return Promise.resolve();
}
async presentExtraLarge() {
this.setState({ family: "extraLarge" });
return Promise.resolve();
}
async presentAccessoryInline() {
this.setState({ family: "accessoryInline" });
return Promise.resolve();
}
async presentAccessoryCircular() {
this.setState({ family: "accessoryCircular" });
return Promise.resolve();
}
async presentAccessoryRectangular() {
this.setState({ family: "accessoryRectangular" });
return Promise.resolve();
}
get widgetFamily() {
return this.state.family;
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MockWidget
});
//# sourceMappingURL=widget.js.map