diff --git a/photonui/photonui.d.ts b/photonui/photonui.d.ts
index dda3620cf9..973b241bd7 100644
--- a/photonui/photonui.d.ts
+++ b/photonui/photonui.d.ts
@@ -1,435 +1,435 @@
-// Type definitions for PhotonUI 1.0.0
+// Type definitions for PhotonUI v1.0.0
// Project: https://github.com/wanadev/PhotonUI
// Definitions by: Florent Poujol
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module photonui {
- // Base
- module Helpers {
- function escapeHtml(string: string);
- function uuid4(): string;
- function cleanNode(node: HTMLElement);
- function getAbsolutePosition(element: HTMLElement|string): { x: number, y: number };
- function numberToCssSize(value: number, defaultValue?: number, nullValue?: string): string;
- }
+ // Base
+ module Helpers {
+ function escapeHtml(string: string): void;
+ function uuid4(): string;
+ function cleanNode(node: HTMLElement): void;
+ function getAbsolutePosition(element: HTMLElement|string): { x: number; y: number };
+ function numberToCssSize(value: number, defaultValue?: number, nullValue?: string): string;
+ }
- class Base {
- constructor(params?: { [key: string]: any });
- destroy();
- registerCallback(id: string, wEvent: string, callback: Function, thisArg: any);
- removeCallback(id: string);
- }
+ class Base {
+ constructor(params?: { [key: string]: any });
+ destroy(): void;
+ registerCallback(id: string, wEvent: string, callback: Function, thisArg: any): void;
+ removeCallback(id: string): void;
+ }
- class Widget extends Base {
- absolutePosition: { x: number; y: number; }; // readonly
- contextMenu: PopupWindow;
- contextMenuName: string;
- html: HTMLElement; // readonly
- layoutOptions: { [key: string]: any };
- name: string;
- offsetWidth: number; // readonly
- offsetHeight: number; // readonly
- parent: Widget;
- parentName: string;
- tooltip: string;
- visible: boolean;
+ class Widget extends Base {
+ absolutePosition: { x: number; y: number; }; // readonly
+ contextMenu: PopupWindow;
+ contextMenuName: string;
+ html: HTMLElement; // readonly
+ layoutOptions: { [key: string]: any };
+ name: string;
+ offsetWidth: number; // readonly
+ offsetHeight: number; // readonly
+ parent: Widget;
+ parentName: string;
+ tooltip: string;
+ visible: boolean;
- show();
- hide();
- unparent();
- addClass(className: string);
- removeClass(className: string);
+ show(): void;
+ hide(): void;
+ unparent(): void;
+ addClass(className: string): void;
+ removeClass(className: string): void;
- static getWidget(name: string): Widget;
- static domInsert(widget: Widget, element?: HTMLElement|string);
- }
+ static getWidget(name: string): Widget;
+ static domInsert(widget: Widget, element?: HTMLElement|string): void;
+ }
- // Methods
- function domInsert(widget: Widget, element?: HTMLElement|string);
- function getWidget(name: string): Widget;
+ // Methods
+ function domInsert(widget: Widget, element?: HTMLElement|string): void;
+ function getWidget(name: string): Widget;
- //Widgets
- class FileManager extends Base {
- acceptedExts: string[];
- acceptedMimes: string[];
- dropZone: HTMLElement;
- multiselect: boolean;
+ //Widgets
+ class FileManager extends Base {
+ acceptedExts: string[];
+ acceptedMimes: string[];
+ dropZone: HTMLElement;
+ multiselect: boolean;
+
+ open(): void;
+ }
+
+ class Translation extends Base {
+ locale: string;
+
+ addCatalogs(catalogs: { [key: string]: any }): void;
+ guessUserLanguage(): string;
+ gettext(string: string, replacements?: { [key: string]: string }): string;
+ lazyGettext(string: string, replacements?: { [key: string]: string }): string;
+ enableDomScan(enable: boolean): void;
+ updateDomTranslation(): void;
+ }
+
+ class AccelManager extends Base {
+ addAccel(id: string, keys: string, callback: Function, safe?: boolean): void;
+ removeAccel(id: string): void;
+ }
+
+ class MouseManager extends Base {
+ constructor(params?: { [key: string]: any });
+ constructor(element?: Widget|HTMLElement, params?: { [key: string]: any });
+
+ element: HTMLElement;
+ threshold: number;
+
+ action: string; // readonly
+ btnLeft: boolean; // readonly
+ btnMiddle: boolean; // readonly
+ btnRight: boolean; // readonly
+ button: string; // readonly
+ pageX: number; // readonly
+ pageY: number; // readonly
+ x: number; // readonly
+ y: number; // readonly
+ deltaX: number; // readonly
+ deltaY: number; // readonly
+ }
+
+ // -----------------------------------
+
+ class BaseIcon extends Widget {}
+
+ class FAIcon extends BaseIcon {
+ constructor(params?: { [key: string]: any });
+ constructor(name: string, params?: { [key: string]: any });
+
+ color: string;
+ iconName: string;
+ size: string;
+ }
+
+ class SpriteIcon extends BaseIcon {
+ constructor(params?: { [key: string]: any });
+ constructor(name: string, params?: { [key: string]: any });
+
+ icon: string;
+ iconName: string;
+ spriteSheetName: string;
+ }
+
+ // -----------------------------------
+
+ class Image extends Widget {
+ width: number;
+ height: number;
+ url: string;
+ }
+
+ class SpriteSheet extends Base {
+ name: string;
+ imageUrl: string;
+ size: string;
+ icons: { [iconName: string]: number[] };
+
+ addIcon(iconName: string, x: number, y: number): void;
+ removeIcon(iconName: string): void;
+ getIconPosition(iconName: string): { x: number; y: number; };
+ getIconCSS(iconName: string): string;
+
+ static getSpriteSheet(name: string): SpriteSheet;
+ }
+
+ class Canvas extends Widget {
+ canvas: HTMLElement;
+ interactiveMode: HTMLElement;
+ width: number;
+ height: number;
+ getContext(contextId: string): any;
+ setContext(contextId: string): void;
+ supportsContext(contextId: string): boolean;
+ toBlod(imageFormat: string): any; // returns Blob
+ toBlodHD(imageFormat: string): any; // returns Blob
+ toDataUrl(imageFormat: string): string;
+ toDataUrlHD(imageFormat: string): string;
+ transferControlToProxy(): void;
+ }
+
+ class Label extends Widget {
+ constructor(params?: { [key: string]: any });
+ constructor(name: string, params?: { [key: string]: any });
+
+ forInput: Field|CheckBox;
+ forInputName: string;
+ text: string;
+ textAlign: string;
+ }
+
+ class Text extends Widget {
+ rawHtml: string;
+ text: string;
+ }
+
+ class ProgressBar extends Widget {
+ orientation: string;
+ pulsate: boolean;
+ textVisible: boolean;
+ value: number;
+ }
+
+ class Separator extends Widget {
+ orientation: string;
+ }
+
+ class Button extends Widget {
+ appearance: string; // normal | flat
+ buttonColor: string;
+
+ leftIconName: string;
+ leftIcon: BaseIcon;
+ leftIconVisible: boolean;
+
+ rightIconName: string;
+ rightIcon: BaseIcon;
+ rightIconVisible: boolean;
+
+ text: string;
+ textVisible: boolean;
+ }
+
+ class ColorButton extends Widget {
+ color: Color;
+ dialogOnly: boolean;
+ value: string;
+ }
+
+ class CheckBox extends Widget {
+ value: boolean;
+ }
+ class Switch extends CheckBox {}
+ class ToggleButton extends CheckBox {}
+
+ // -----------------------------------
+
+ class Color extends Base {
+ constructor(color: string);
+ constructor(params?: { [key: string]: any });
+
+ hexString: string;
+ rgbString: string; // readonly
+ rgbaString: string; // readonly
+
+ red: number;
+ green: number;
+ blue: number;
+ alpha: number;
+
+ hue: number;
+ saturation: number;
+ brightness: number;
+
+ setRGB(red: number, green: number, blue: number): void;
+ getRGB(): number[];
+ setRGBA(red: number, green: number, blue: number, alpha: number): void;
+ getRGBA(): number[];
+ setHSB(hue: number, saturation: number, brightness: number): void;
+ }
+
+ class ColorPalette extends Widget {
+ color: Color;
+ palette: Array;
+ value: string;
+
+ static palette: Array;
+ }
+
+ class ColorPicker extends Widget {
+ color: Color;
+ value: string;
+ }
+
+ // -----------------------------------
+
+ class Field extends Widget {
+ placeholder: string;
+ value: boolean;
+ }
+
+ class NumericField extends Field {
+ min: number;
+ max: number;
+ step: number;
+ decimalDigits: number;
+ decimalSymbol: string;
+ }
+
+ class Slider extends NumericField {
+ fieldVisible: boolean;
+ }
+
+ class TextAreaField extends Field {
+ cols: number;
+ rows: number;
+ }
+
+ class TextField extends Field {
+ type: string; // text, password, email, search, tel, url
+ }
+
+ // -----------------------------------
+
+ class Select extends Widget {
+ children: Widget[];
+ childrenNames: string[];
+ iconVisible: boolean;
+ placeholder: string;
+ popupWidth: number;
+ popupHeight: number;
+ popupMaxWidth: number;
+ popupMinWidth: number;
+ popupMaxHeight: number;
+ popupMinHeight: number;
+ popupOffsetWidth: number; // readonly
+ popupOffsetHeight: number; // readonly
+ popupPadding: number;
+ value: any; // string (maybe)
+
+ addChild(widget: Widget, layoutOptions?: any): void;
+ }
+
+ class FontSelect extends Select {
+ fonts: string[];
+
+ addFont(fontName: string): void;
+ }
+
+ // -----------------------------------
+
+ class Container extends Widget {
+ child: Widget;
+ childName: string;
+ containerNode: HTMLElement; // readonly
+ horizontalChildExpansion: boolean;
+ verticalChildExpansion: boolean;
+
+ removeChild(widget: Widget): void;
+ }
+
+ class Layout extends Container {
+ children: Widget[];
+ childrenNames: string[];
+
+ addChild(widget: Widget, layoutOptions?: { [key: string]: any }): void;
+ empty(): void;
+ }
+
+ class BoxLayout extends Layout {
+ horizontalPadding: number;
+ verticalPadding: number;
+ orientation: string;
+ spacing: number;
+ }
+
+ class FluidLayout extends Layout {
+ horizontalPadding: number;
+ verticalPadding: number;
+ }
+
+ class GridLayout extends Layout {
+ horizontalPadding: number;
+ verticalPadding: number;
+ horizontalSpacing: number;
+ verticalSpacing: number;
+ }
+
+ class Menu extends Layout {
+ iconVisible: boolean;
+ }
+
+ class MenuItem extends Menu {
+ active: boolean;
+ icon: BaseIcon;
+ iconName: string;
+ text: string;
+ value: any; // string (maybe)
+ }
+
+ class SubMenuItem extends MenuItem {
+ menu: Menu;
+ menuName: string;
+ }
+
+ // -----------------------------------
+
+ class Viewport extends Container {
+ width: number;
+ minWidth: number;
+ maxWidth: number;
+ height: number;
+ minHeight: number;
+ maxHeight: number;
+ padding: number;
+ horizontalScrollbar: boolean;
+ verticalScrollbar: boolean;
+ }
+
+ // -----------------------------------
- open();
- }
-
- class Translation extends Base {
- locale: string;
-
- addCatalogs(catalogs: { [key: string]: any });
- guessUserLanguage(): string;
- gettext(string: string, replacements?: { [key: string]: string }): string;
- lazyGettext(string: string, replacements?: { [key: string]: string }): string;
- enableDomScan(enable: boolean);
- updateDomTranslation();
- }
-
- class AccelManager extends Base {
- addAccel(id: string, keys: string, callback: Function, safe?: boolean);
- removeAccel(id: string);
- }
-
- class MouseManager extends Base {
- constructor(params?: { [key: string]: any });
- constructor(element?: Widget|HTMLElement, params?: { [key: string]: any });
-
- element: HTMLElement;
- threshold: number;
-
- action: string; // readonly
- btnLeft: boolean; // readonly
- btnMiddle: boolean; // readonly
- btnRight: boolean; // readonly
- button: string; // readonly
- pageX: number; // readonly
- pageY: number; // readonly
- x: number; // readonly
- y: number; // readonly
- deltaX: number; // readonly
- deltaY: number; // readonly
- }
-
- // -----------------------------------
-
- class BaseIcon extends Widget {}
-
- class FAIcon extends BaseIcon {
- constructor(params?: { [key: string]: any });
- constructor(name: string, params?: { [key: string]: any });
-
- color: string;
- iconName: string;
- size: string;
- }
-
- class SpriteIcon extends BaseIcon {
- constructor(params?: { [key: string]: any });
- constructor(name: string, params?: { [key: string]: any });
-
- icon: string;
- iconName: string;
- spriteSheetName: string;
- }
-
- // -----------------------------------
-
- class Image extends Widget {
- width: number;
- height: number;
- url: string;
- }
-
- class SpriteSheet extends Base {
- name: string;
- imageUrl: string;
- size: string;
- icons: { [iconName: string]: number[] };
-
- addIcon(iconName: string, x: number, y: number);
- removeIcon(iconName: string);
- getIconPosition(iconName: string): { x: number; y: number; };
- getIconCSS(iconName: string): string;
-
- static getSpriteSheet(name: string): SpriteSheet;
- }
-
- class Canvas extends Widget {
- canvas: HTMLElement;
- interactiveMode: HTMLElement;
- width: number;
- height: number;
- getContext(contextId: string): any;
- setContext(contextId: string);
- supportsContext(contextId: string): boolean;
- toBlod(imageFormat: string): any; // returns Blob
- toBlodHD(imageFormat: string): any; // returns Blob
- toDataUrl(imageFormat: string): string;
- toDataUrlHD(imageFormat: string): string;
- transferControlToProxy();
- }
-
- class Label extends Widget {
- constructor(params?: { [key: string]: any });
- constructor(name: string, params?: { [key: string]: any });
-
- forInput: Field|CheckBox;
- forInputName: string;
- text: string;
- textAlign: string;
- }
-
- class Text extends Widget {
- rawHtml: string;
- text: string;
- }
-
- class ProgressBar extends Widget {
- orientation: string;
- pulsate: boolean;
- textVisible: boolean;
- value: number;
- }
-
- class Separator extends Widget {
- orientation: string;
- }
-
- class Button extends Widget {
- appearance: string; // normal | flat
- buttonColor: string;
-
- leftIconName: string;
- leftIcon: BaseIcon;
- leftIconVisible: boolean;
-
- rightIconName: string;
- rightIcon: BaseIcon;
- rightIconVisible: boolean;
-
- text: string;
- textVisible: boolean;
- }
-
- class ColorButton extends Widget {
- color: Color;
- dialogOnly: boolean;
- value: string;
- }
-
- class CheckBox extends Widget {
- value: boolean;
- }
- class Switch extends CheckBox {}
- class ToggleButton extends CheckBox {}
-
- // -----------------------------------
-
- class Color extends Base {
- constructor(color: string);
- constructor(params?: { [key: string]: any });
-
- hexString: string;
- rgbString: string; // readonly
- rgbaString: string; // readonly
-
- red: number;
- green: number;
- blue: number;
- alpha: number;
-
- hue: number;
- saturation: number;
- brightness: number;
-
- setRGB(red: number, green: number, blue: number);
- getRGB(): number[];
- setRGBA(red: number, green: number, blue: number, alpha: number);
- getRGBA(): number[];
- setHSB(hue: number, saturation: number, brightness: number);
- }
-
- class ColorPalette extends Widget {
- color: Color;
- palette: Array;
- value: string;
-
- static palette: Array;
- }
-
- class ColorPicker extends Widget {
- color: Color;
- value: string;
- }
-
- // -----------------------------------
-
- class Field extends Widget {
- placeholder: string;
- value: boolean;
- }
-
- class NumericField extends Field {
- min: number;
- max: number;
- step: number;
- decimalDigits: number;
- decimalSymbol: string;
- }
-
- class Slider extends NumericField {
- fieldVisible: boolean;
- }
-
- class TextAreaField extends Field {
- cols: number;
- rows: number;
- }
-
- class TextField extends Field {
- type: string; // text, password, email, search, tel, url
- }
-
- // -----------------------------------
-
- class Select extends Widget {
- children: Widget[];
- childrenNames: string[];
- iconVisible: boolean;
- placeholder: string;
- popupWidth: number;
- popupHeight: number;
- popupMaxWidth: number;
- popupMinWidth: number;
- popupMaxHeight: number;
- popupMinHeight: number;
- popupOffsetWidth: number; // readonly
- popupOffsetHeight: number; // readonly
- popupPadding: number;
- value: any; // string (maybe)
-
- addChild(widget: Widget, layoutOptions?: any);
- }
-
- class FontSelect extends Select {
- fonts: string[];
-
- addFont(fontName: string);
- }
-
- // -----------------------------------
-
- class Container extends Widget {
- child: Widget;
- childName: string;
- containerNode: HTMLElement; // readonly
- horizontalChildExpansion: boolean;
- verticalChildExpansion: boolean;
-
- removeChild(widget: Widget);
- }
-
- class Layout extends Container {
- children: Widget[];
- childrenNames: string[];
-
- addChild(widget: Widget, layoutOptions?: { [key: string]: any });
- empty();
- }
-
- class BoxLayout extends Layout {
- horizontalPadding: number;
- verticalPadding: number;
- orientation: string;
- spacing: number;
- }
-
- class FluidLayout extends Layout {
- horizontalPadding: number;
- verticalPadding: number;
- }
-
- class GridLayout extends Layout {
- horizontalPadding: number;
- verticalPadding: number;
- horizontalSpacing: number;
- verticalSpacing: number;
- }
-
- class Menu extends Layout {
- iconVisible: boolean;
- }
-
- class MenuItem extends Menu {
- active: boolean;
- icon: BaseIcon;
- iconName: string;
- text: string;
- value: any; // string (maybe)
- }
-
- class SubMenuItem extends MenuItem {
- menu: Menu;
- menuName: string;
- }
-
- // -----------------------------------
-
- class Viewport extends Container {
- width: number;
- minWidth: number;
- maxWidth: number;
- height: number;
- minHeight: number;
- maxHeight: number;
- padding: number;
- horizontalScrollbar: boolean;
- verticalScrollbar: boolean;
- }
-
- // -----------------------------------
-
- class BaseWindow extends Container {
- width: number;
- minWidth: number;
- maxWidth: number;
- height: number;
- minHeight: number;
- maxHeight: number;
- padding: number;
- position: { x: number; y: number };
- x: number;
- y: number;
-
- center();
- }
-
- class PopupWindow extends BaseWindow {
- popupXY(x: number, y: number);
- popupWidget(widget: Widget);
- }
-
- class PopupMenu extends PopupWindow {}
-
- class Window extends BaseWindow {
- closeButtonVisible: boolean;
- modal: boolean;
- movable: boolean;
- title: string;
-
- moveToFront();
- moveToBack();
- }
-
- class Dialog extends Window {
- buttons: Widget[];
- buttonNames: string[];
-
- addButton(widget: Widget, layoutOptions: any);
- removeButton(widget: Widget);
- }
-
- class ColorPickerDialog extends Dialog {
- color: Color;
- }
-
- // -----------------------------------
-
- class TabItem extends Container {
- tabHtml: HTMLElement; // readonly
- title: string;
- }
-
- class TabLayout extends Layout {
- activeTab: Widget;
- activeTabName: string;
- padding: number;
- tabsPosition: string; // top, bottom, left, right
- }
+ class BaseWindow extends Container {
+ width: number;
+ minWidth: number;
+ maxWidth: number;
+ height: number;
+ minHeight: number;
+ maxHeight: number;
+ padding: number;
+ position: { x: number; y: number };
+ x: number;
+ y: number;
+
+ center(): void;
+ }
+
+ class PopupWindow extends BaseWindow {
+ popupXY(x: number, y: number): void;
+ popupWidget(widget: Widget): void;
+ }
+
+ class PopupMenu extends PopupWindow {}
+
+ class Window extends BaseWindow {
+ closeButtonVisible: boolean;
+ modal: boolean;
+ movable: boolean;
+ title: string;
+
+ moveToFront(): void;
+ moveToBack(): void;
+ }
+
+ class Dialog extends Window {
+ buttons: Widget[];
+ buttonNames: string[];
+
+ addButton(widget: Widget, layoutOptions: any): void;
+ removeButton(widget: Widget): void;
+ }
+
+ class ColorPickerDialog extends Dialog {
+ color: Color;
+ }
+
+ // -----------------------------------
+
+ class TabItem extends Container {
+ tabHtml: HTMLElement; // readonly
+ title: string;
+ }
+
+ class TabLayout extends Layout {
+ activeTab: Widget;
+ activeTabName: string;
+ padding: number;
+ tabsPosition: string; // top, bottom, left, right
+ }
}
declare function _(string: string, replacements?: { [key: string]: string }): string; // alias of Translation.lazyGettext()