/// declare module "@ijstech/types/jsonSchema.ts" { export type IJSONSchema4TypeName = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' | 'any'; export type IJSONSchema4Type = string | number | boolean | IJSONSchema4Object | IJSONSchema4Array | null; export interface IJSONSchema4Object { [key: string]: IJSONSchema4Type; } export interface IJSONSchema4Array extends Array { } export type IJSONSchema4Version = string; export interface IJSONSchema4 { id?: string | undefined; $ref?: string | undefined; $schema?: IJSONSchema4Version | undefined; title?: string | undefined; description?: string | undefined; tooltip?: string | undefined; default?: IJSONSchema4Type | undefined; multipleOf?: number | undefined; maximum?: number | undefined; exclusiveMaximum?: boolean | undefined; minimum?: number | undefined; exclusiveMinimum?: boolean | undefined; maxLength?: number | undefined; minLength?: number | undefined; pattern?: string | undefined; additionalItems?: boolean | IJSONSchema4 | undefined; items?: IJSONSchema4 | IJSONSchema4[] | undefined; maxItems?: number | undefined; minItems?: number | undefined; uniqueItems?: boolean | undefined; maxProperties?: number | undefined; minProperties?: number | undefined; required?: boolean | string[] | undefined; additionalProperties?: boolean | IJSONSchema4 | undefined; definitions?: { [k: string]: IJSONSchema4; } | undefined; properties?: { [k: string]: IJSONSchema4; } | undefined; patternProperties?: { [k: string]: IJSONSchema4; } | undefined; dependencies?: { [k: string]: IJSONSchema4 | string[]; } | undefined; enum?: IJSONSchema4Type[] | undefined; type?: IJSONSchema4TypeName | IJSONSchema4TypeName[] | undefined; allOf?: IJSONSchema4[] | undefined; anyOf?: IJSONSchema4[] | undefined; oneOf?: IJSONSchema4[] | undefined; not?: IJSONSchema4 | undefined; extends?: string | string[] | undefined; [k: string]: any; format?: string | undefined; } export type IJSONSchema6TypeName = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' | 'any'; export type IJSONSchema6Type = string | number | boolean | IJSONSchema6Object | IJSONSchema6Array | null; export interface IJSONSchema6Object { [key: string]: IJSONSchema6Type; } export interface IJSONSchema6Array extends Array { } export type IJSONSchema6Version = string; export type IJSONSchema6Definition = IJSONSchema6 | boolean; export interface IJSONSchema6 { $id?: string | undefined; $ref?: string | undefined; $schema?: IJSONSchema6Version | undefined; multipleOf?: number | undefined; maximum?: number | undefined; exclusiveMaximum?: number | undefined; minimum?: number | undefined; exclusiveMinimum?: number | undefined; maxLength?: number | undefined; minLength?: number | undefined; pattern?: string | undefined; items?: IJSONSchema6Definition | IJSONSchema6Definition[] | undefined; additionalItems?: IJSONSchema6Definition | undefined; maxItems?: number | undefined; minItems?: number | undefined; uniqueItems?: boolean | undefined; contains?: IJSONSchema6Definition | undefined; maxProperties?: number | undefined; minProperties?: number | undefined; required?: string[] | undefined; properties?: { [k: string]: IJSONSchema6Definition; } | undefined; patternProperties?: { [k: string]: IJSONSchema6Definition; } | undefined; additionalProperties?: IJSONSchema6Definition | undefined; dependencies?: { [k: string]: IJSONSchema6Definition | string[]; } | undefined; propertyNames?: IJSONSchema6Definition | undefined; enum?: IJSONSchema6Type[] | undefined; const?: IJSONSchema6Type | undefined; type?: IJSONSchema6TypeName | IJSONSchema6TypeName[] | undefined; allOf?: IJSONSchema6Definition[] | undefined; anyOf?: IJSONSchema6Definition[] | undefined; oneOf?: IJSONSchema6Definition[] | undefined; not?: IJSONSchema6Definition | undefined; definitions?: { [k: string]: IJSONSchema6Definition; } | undefined; title?: string | undefined; description?: string | undefined; tooltip?: string | undefined; default?: IJSONSchema6Type | undefined; examples?: IJSONSchema6Type[] | undefined; format?: string | undefined; } export type IJSONSchema7TypeName = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null'; export type IJSONSchema7Type = string | number | boolean | IJSONSchema7Object | IJSONSchema7Array | null; export interface IJSONSchema7Object { [key: string]: IJSONSchema7Type; } export interface IJSONSchema7Array extends Array { } export type IJSONSchema7Version = string; export type IJSONSchema7Definition = IJSONSchema7 | boolean; export interface IJSONSchema7 { $id?: string | undefined; $ref?: string | undefined; $schema?: IJSONSchema7Version | undefined; $comment?: string | undefined; $defs?: { [key: string]: IJSONSchema7Definition; } | undefined; type?: IJSONSchema7TypeName | IJSONSchema7TypeName[] | undefined; enum?: IJSONSchema7Type[] | undefined; const?: IJSONSchema7Type | undefined; multipleOf?: number | undefined; maximum?: number | undefined; exclusiveMaximum?: number | undefined; minimum?: number | undefined; exclusiveMinimum?: number | undefined; maxLength?: number | undefined; minLength?: number | undefined; pattern?: string | undefined; items?: IJSONSchema7Definition | IJSONSchema7Definition[] | undefined; additionalItems?: IJSONSchema7Definition | undefined; maxItems?: number | undefined; minItems?: number | undefined; uniqueItems?: boolean | undefined; contains?: IJSONSchema7 | undefined; maxProperties?: number | undefined; minProperties?: number | undefined; required?: string[] | undefined; properties?: { [key: string]: IJSONSchema7Definition; } | undefined; patternProperties?: { [key: string]: IJSONSchema7Definition; } | undefined; additionalProperties?: IJSONSchema7Definition | undefined; dependencies?: { [key: string]: IJSONSchema7Definition | string[]; } | undefined; propertyNames?: IJSONSchema7Definition | undefined; if?: IJSONSchema7Definition | undefined; then?: IJSONSchema7Definition | undefined; else?: IJSONSchema7Definition | undefined; allOf?: IJSONSchema7Definition[] | undefined; anyOf?: IJSONSchema7Definition[] | undefined; oneOf?: IJSONSchema7Definition[] | undefined; not?: IJSONSchema7Definition | undefined; format?: string | undefined; contentMediaType?: string | undefined; contentEncoding?: string | undefined; definitions?: { [key: string]: IJSONSchema7Definition; } | undefined; title?: string | undefined; description?: string | undefined; tooltip?: string | undefined; default?: IJSONSchema7Type | undefined; readOnly?: boolean | undefined; writeOnly?: boolean | undefined; examples?: IJSONSchema7Type | undefined; } export type IDataSchema = IJSONSchema4 | IJSONSchema6 | IJSONSchema7; } /// declare module "@ijstech/types/i18n.ts" { export interface I18nInterface { get(key: string, params?: { [key: string]: string; }, skipApp?: boolean): string; has(key: string): boolean; } export type Locales = keyof typeof languages; export type Translations = { [locale in Locales]?: { [key: string]: string; }; }; export const languages: { aa: { name: string; native: string; }; ab: { name: string; native: string; }; af: { name: string; native: string; }; ak: { name: string; native: string; }; am: { name: string; native: string; }; an: { name: string; native: string; }; ar: { name: string; native: string; rtl: number; }; as: { name: string; native: string; }; av: { name: string; native: string; }; ay: { name: string; native: string; }; az: { name: string; native: string; }; ba: { name: string; native: string; }; be: { name: string; native: string; }; bg: { name: string; native: string; }; bh: { name: string; native: string; }; bi: { name: string; native: string; }; bm: { name: string; native: string; }; bn: { name: string; native: string; }; bo: { name: string; native: string; }; br: { name: string; native: string; }; bs: { name: string; native: string; }; ca: { name: string; native: string; }; ce: { name: string; native: string; }; ch: { name: string; native: string; }; co: { name: string; native: string; }; cr: { name: string; native: string; }; cs: { name: string; native: string; }; cu: { name: string; native: string; }; cv: { name: string; native: string; }; cy: { name: string; native: string; }; da: { name: string; native: string; }; de: { name: string; native: string; }; dv: { name: string; native: string; rtl: number; }; dz: { name: string; native: string; }; ee: { name: string; native: string; }; el: { name: string; native: string; }; en: { name: string; native: string; }; eo: { name: string; native: string; }; es: { name: string; native: string; }; et: { name: string; native: string; }; eu: { name: string; native: string; }; fa: { name: string; native: string; rtl: number; }; ff: { name: string; native: string; }; fi: { name: string; native: string; }; fj: { name: string; native: string; }; fo: { name: string; native: string; }; fr: { name: string; native: string; }; fy: { name: string; native: string; }; ga: { name: string; native: string; }; gd: { name: string; native: string; }; gl: { name: string; native: string; }; gn: { name: string; native: string; }; gu: { name: string; native: string; }; gv: { name: string; native: string; }; ha: { name: string; native: string; rtl: number; }; he: { name: string; native: string; rtl: number; }; hi: { name: string; native: string; }; ho: { name: string; native: string; }; hr: { name: string; native: string; }; ht: { name: string; native: string; }; hu: { name: string; native: string; }; hy: { name: string; native: string; }; hz: { name: string; native: string; }; ia: { name: string; native: string; }; id: { name: string; native: string; }; ie: { name: string; native: string; }; ig: { name: string; native: string; }; ii: { name: string; native: string; }; ik: { name: string; native: string; }; io: { name: string; native: string; }; is: { name: string; native: string; }; it: { name: string; native: string; }; iu: { name: string; native: string; }; ja: { name: string; native: string; }; jv: { name: string; native: string; }; ka: { name: string; native: string; }; kg: { name: string; native: string; }; ki: { name: string; native: string; }; kj: { name: string; native: string; }; kk: { name: string; native: string; }; kl: { name: string; native: string; }; km: { name: string; native: string; }; kn: { name: string; native: string; }; ko: { name: string; native: string; }; kr: { name: string; native: string; }; ks: { name: string; native: string; rtl: number; }; ku: { name: string; native: string; rtl: number; }; kv: { name: string; native: string; }; kw: { name: string; native: string; }; ky: { name: string; native: string; }; la: { name: string; native: string; }; lb: { name: string; native: string; }; lg: { name: string; native: string; }; li: { name: string; native: string; }; ln: { name: string; native: string; }; lo: { name: string; native: string; }; lt: { name: string; native: string; }; lu: { name: string; native: string; }; lv: { name: string; native: string; }; mg: { name: string; native: string; }; mh: { name: string; native: string; }; mi: { name: string; native: string; }; mk: { name: string; native: string; }; ml: { name: string; native: string; }; mn: { name: string; native: string; }; mo: { name: string; native: string; }; mr: { name: string; native: string; }; ms: { name: string; native: string; }; mt: { name: string; native: string; }; my: { name: string; native: string; }; na: { name: string; native: string; }; nb: { name: string; native: string; }; nd: { name: string; native: string; }; ne: { name: string; native: string; }; ng: { name: string; native: string; }; nl: { name: string; native: string; }; nn: { name: string; native: string; }; no: { name: string; native: string; }; nr: { name: string; native: string; }; nv: { name: string; native: string; }; ny: { name: string; native: string; }; oc: { name: string; native: string; }; oj: { name: string; native: string; }; om: { name: string; native: string; }; or: { name: string; native: string; }; os: { name: string; native: string; }; pa: { name: string; native: string; }; pi: { name: string; native: string; }; pl: { name: string; native: string; }; ps: { name: string; native: string; rtl: number; }; pt: { name: string; native: string; }; qu: { name: string; native: string; }; rm: { name: string; native: string; }; rn: { name: string; native: string; }; ro: { name: string; native: string; }; ru: { name: string; native: string; }; rw: { name: string; native: string; }; sa: { name: string; native: string; }; sc: { name: string; native: string; }; sd: { name: string; native: string; }; se: { name: string; native: string; }; sg: { name: string; native: string; }; sh: { name: string; native: string; }; si: { name: string; native: string; }; sk: { name: string; native: string; }; sl: { name: string; native: string; }; sm: { name: string; native: string; }; sn: { name: string; native: string; }; so: { name: string; native: string; }; sq: { name: string; native: string; }; sr: { name: string; native: string; }; ss: { name: string; native: string; }; st: { name: string; native: string; }; su: { name: string; native: string; }; sv: { name: string; native: string; }; sw: { name: string; native: string; }; ta: { name: string; native: string; }; te: { name: string; native: string; }; tg: { name: string; native: string; }; th: { name: string; native: string; }; ti: { name: string; native: string; }; tk: { name: string; native: string; }; tl: { name: string; native: string; }; tn: { name: string; native: string; }; to: { name: string; native: string; }; tr: { name: string; native: string; }; ts: { name: string; native: string; }; tt: { name: string; native: string; }; tw: { name: string; native: string; }; ty: { name: string; native: string; }; ug: { name: string; native: string; }; uk: { name: string; native: string; }; ur: { name: string; native: string; rtl: number; }; uz: { name: string; native: string; }; ve: { name: string; native: string; }; vi: { name: string; native: string; }; vo: { name: string; native: string; }; wa: { name: string; native: string; }; wo: { name: string; native: string; }; xh: { name: string; native: string; }; yi: { name: string; native: string; rtl: number; }; yo: { name: string; native: string; }; za: { name: string; native: string; }; "zh-hans": { name: string; native: string; }; "zh-hant": { name: string; native: string; }; zu: { name: string; native: string; }; }; } /// declare module "@ijstech/types/tooltip.ts" { import { I18nInterface } from "@ijstech/types/i18n.ts"; export type PlacementType = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom'; export type TriggerType = 'hover' | 'click'; export interface ITooltipImpl { content: string; popperClass: string; color: string; placement: PlacementType; trigger: TriggerType; duration: number; maxWidth: string; designMode: boolean; isSmallScreen: boolean; show(elm: HTMLElement): void; close(): void; updateLocale(i18n: I18nInterface): void; } export interface ITooltip { content?: string; popperClass?: string; color?: string; placement?: PlacementType; trigger?: TriggerType; duration?: number; maxWidth?: string; } } /// declare module "@ijstech/types" { export * as JSONSchema from "@ijstech/types/jsonSchema.ts"; export { IDataSchema } from "@ijstech/types/jsonSchema.ts"; export { ITooltipImpl, PlacementType, TriggerType, ITooltip } from "@ijstech/types/tooltip.ts"; export { I18nInterface, Locales, Translations, languages } from "@ijstech/types/i18n.ts"; import { I18nInterface, Locales } from "@ijstech/types/i18n.ts"; export interface IApplication { locale: Locales; i18n: I18nInterface; } export interface IModule extends HTMLElement { i18n: I18nInterface; isModule: boolean; currentModuleDir?: string; updateLocale(): void; } export function isModule(value: IModule): value is IModule; export enum GroupType { 'BASIC' = "Basic", 'LAYOUT' = "Layout", 'FIELDS' = "Fields" } } /// declare module "@ijstech/style/colors.ts" { export interface IColor { 50: string; 100: string; 200: string; 300: string; 400: string; 500: string; 600: string; 700: string; 800: string; 900: string; A100: string; A200: string; A400: string; A700: string; } export const amber: IColor; export const blue: IColor; export const blueGrey: IColor; export const brown: IColor; export const cyan: IColor; export const deepOrange: IColor; export const deepPurple: IColor; export const green: IColor; export const grey: IColor; export const indigo: IColor; export const lightBlue: IColor; export const lightGreen: IColor; export const lime: IColor; export const orange: IColor; export const pink: IColor; export const purple: IColor; export const red: IColor; export const teal: IColor; export const yellow: IColor; export interface IColors { amber: IColor; blue: IColor; blueGrey: IColor; brown: IColor; cyan: IColor; deepOrange: IColor; deepPurple: IColor; green: IColor; grey: IColor; indigo: IColor; lightBlue: IColor; lightGreen: IColor; lime: IColor; orange: IColor; pink: IColor; purple: IColor; red: IColor; teal: IColor; yellow: IColor; } export const Colors: IColors; } /// declare module "@ijstech/style/theme.ts" { import { IColor, Colors } from "@ijstech/style/colors.ts"; export { Colors }; type IColorVar = string; interface IThemeColors { main: IColorVar; light: IColorVar; dark: IColorVar; contrastText: IColorVar; } interface ILayout { container: { width: string; maxWidth: string; textAlign: string; overflow: string; }; } export interface ITheme { action: { active: IColorVar; activeBackground: IColorVar; activeOpacity: number; disabled: IColorVar; disabledBackground: IColorVar; disabledOpacity: number; focus: IColorVar; focusBackground: IColorVar; focusOpacity: number; hover: IColorVar; hoverBackground: IColorVar; hoverOpacity: number; selected: IColorVar; selectedBackground: IColorVar; selectedOpacity: number; }; background: { default: IColorVar; paper: IColorVar; main: IColorVar; modal: IColorVar; gradient: IColorVar; }; breakpoints: { xs: number; sm: number; md: number; lg: number; xl: number; }; colors: { primary: IThemeColors; secondary: IThemeColors; error: IThemeColors; warning: IThemeColors; info: IThemeColors; success: IThemeColors; }; layout: ILayout; divider: IColorVar; shadows: { 0: string; 1: string; 2: string; 3: string; 4: string; }; text: { primary: IColorVar; secondary: IColorVar; third: IColorVar; disabled: IColorVar; hint: IColorVar; }; docs: { background: IColorVar; text0: IColorVar; text1: IColorVar; }; typography: { fontFamily: string; fontSize: string; }; input: { background: string; fontColor: string; }; combobox: { background: string; fontColor: string; }; } export interface IThemeVariables { action: { active: string; activeBackground: string; activeOpacity: string; disabled: string; disabledBackground: string; disabledOpacity: string; focus: string; focusBackground: string; focusOpacity: string; hover: string; hoverBackground: string; hoverOpacity: string; selected: string; selectedBackground: string; selectedOpacity: string; }; background: { default: string; paper: string; main: string; modal: string; gradient: string; }; breakpoints: { xs: string; sm: string; md: string; lg: string; xl: string; }; colors: { primary: IThemeColors; secondary: IThemeColors; error: IThemeColors; warning: IThemeColors; info: IThemeColors; success: IThemeColors; }; layout: ILayout; divider: string; shadows: { 0: string; 1: string; 2: string; 3: string; 4: string; }; text: { primary: string; secondary: string; third: string; disabled: string; hint: string; }; docs: { background: string; text0: string; text1: string; }; typography: { fontFamily: string; fontSize: string; }; input: { background: string; fontColor: string; }; combobox: { background: string; fontColor: string; }; } export const defaultTheme: ITheme; export const darkTheme: ITheme; export const ThemeVars: IThemeVariables; export const ColorVars: IColor; export var currentTheme: ITheme; export function applyTheme(theme: ITheme): void; } /// declare module "@ijstech/style/styles.ts" { /** * Valid CSS property values. */ export type PropertyValue = number | boolean | string; /** * Input styles object. */ export interface Styles { $unique?: boolean; $global?: boolean; $displayName?: string; [selector: string]: null | undefined | PropertyValue | PropertyValue[] | Styles; } /** * Propagate change events. */ export interface Changes { add(style: Container, index: number): void; change(style: Container, oldIndex: number, newIndex: number): void; remove(style: Container, index: number): void; } /** * Cache-able interface. */ export interface Container { id: string; clone(): T; getStyles(): string; } /** * Implement a cache/event emitter. */ export class Cache> { changes?: Changes; sheet: string[]; changeId: number; private _keys; private _children; private _counters; constructor(changes?: Changes); add(style: T): void; remove(style: T): void; values(): T[]; merge(cache: Cache): this; unmerge(cache: Cache): this; clone(): Cache; } /** * Selector is a dumb class made to represent nested CSS selectors. */ export class Selector implements Container { selector: string; id: string; constructor(selector: string, id: string); getStyles(): string; clone(): Selector; } /** * The style container registers a style string with selectors. */ export class Style extends Cache implements Container