///
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