diff --git a/types/homeworks/homeworks-tests.ts b/types/homeworks/homeworks-tests.ts
index 16bce6d106..5c41b7fffc 100644
--- a/types/homeworks/homeworks-tests.ts
+++ b/types/homeworks/homeworks-tests.ts
@@ -1,33 +1,38 @@
const element: JQuery = $('#element');
const target: JQuery = $('#target');
+homeworks.disableHook();
+
element.checkbox({
- /* Empty options */
-}).bind('change', (event: HomeWorksEventObject) => {
- /* HomeWorks native event */
-});
+ /* Empty options */
+})
+ .on('change', (event: JQuery.Event) => {
+ /* HomeWorks native event */
+ });
element.converter({
- /* Empty options */
+ /* Empty options */
});
element.dropdown({
- /* Empty options */
+ /* Empty options */
});
const dropdownHandlerTarget: JQuery = element.addHandler(target);
element.input({
- /* Empty options */
-}).bind('change', (event: HomeWorksEventObject) => {
- /* HomeWorks native event */
-});
+ /* Empty options */
+})
+ .on('change', (event: JQuery.Event) => {
+ /* HomeWorks native event */
+ });
element.modal({
- /* Any options */
-}).each(() => {
- /* Chaining */
-});
+ /* Any options */
+})
+ .each(() => {
+ /* Chaining */
+ });
element.modal('show');
element.modal('hide');
element.modal('open');
@@ -35,59 +40,70 @@ element.modal('close');
notification('title', 'content', 'url', 'success');
-element.ripple({
- /* Object options */
-});
-element.start({
- x: 1,
- y: 2
-});
+element
+ .ripple({
+ /* Object options */
+ })
+ .on('start', (event: homeworks.RippleEvent) => {
+ });
+
+element
+ .start({
+ x: 1,
+ y: 2
+ });
element.spinner({
- type: 'any',
- empty: 'any'
-}).bind('change', (event: HomeWorksEventObject) => {
- /* HomeWorks native event */
-});
-
-element.step('method');
-element.step({
- active: 0
-}).bind('move', (event: HomeWorksStepEventObject) => {
- /* HomeWorks step event */
-});
+ type: 'any',
+ empty: 'any'
+})
+ .on('change', (event: JQuery.Event) => {
+ /* HomeWorks native event */
+ });
element.tab('method');
element.tab({
- active: 0
-}).bind('move', (event: HomeWorksTabEventObject) => {
- /* HomeWorks step event */
-});
+ active: 0
+})
+ .on('move', (event: homeworks.TabEvent) => {
+ /* HomeWorks step event */
+ });
+
+element.step('method');
+element.step({
+ active: 0
+})
+ .on('move', (event: homeworks.StepEvent) => {
+ /* HomeWorks step event */
+ });
toast('hello homeworks');
toast({
- message: 'hello homeworks'
+ message: 'hello homeworks'
});
-element.toggle({
- placeholder: 'placeholder'
-}).bind('change', (event: HomeWorksEventObject) => {
- /* HomeWorks native event */
-});
+element
+ .toggle({
+ placeholder: 'placeholder'
+ })
+ .on('change', (event: JQuery.Event) => {
+ /* HomeWorks native event */
+ });
-element.upload({
- url: 'url',
- type: 'type',
- data: {},
- dest: 'dest',
- isBtn: true,
- beforeStart() {
- },
- complete(data: any) {
- },
- success(data?: any, state?: any, xhr?: any) {
- },
- error(xhr?: any, state?: any, error?: any) {
- },
- extensions: 'any'
-});
+element
+ .upload({
+ url: 'url',
+ type: 'type',
+ data: {},
+ dest: 'dest',
+ isBtn: true,
+ beforeStart() {
+ },
+ complete(data: any) {
+ },
+ success(data?: any, state?: any, xhr?: any) {
+ },
+ error(xhr?: any, state?: any, error?: any) {
+ },
+ extensions: 'any'
+ });
diff --git a/types/homeworks/index.d.ts b/types/homeworks/index.d.ts
index 4449483d35..7a25666659 100644
--- a/types/homeworks/index.d.ts
+++ b/types/homeworks/index.d.ts
@@ -6,208 +6,242 @@
///
-/**
- * * [MAIN]
- * @ EVENT
- *
- */
+type _NativeEvent = Event;
-declare interface HomeWorksEventObject {
- element: JQuery;
- value: string;
- checked?: boolean;
-}
+interface JQuery {
+ /**
+ * jQuery homeworks chaining functions
+ */
-declare interface JQuery {
+ /**
+ * @since 1.0.0
+ */
bind(eventType: string, handler: (...parameters: any[]) => void): JQuery;
+ /**
+ * @since 1.0.0
+ */
knock(): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ CHECKBOX
- *
- */
-interface CheckboxOptions {
-}
-
-declare interface JQuery {
- checkbox(options?: CheckboxOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ CONVERTER
- *
- */
-
-interface ConverterOptions {
-}
-
-declare interface JQuery {
- converter(options?: ConverterOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ DROPDOIWN
- *
- */
-
-interface DropdownOptions {
-}
-
-declare interface JQuery {
- dropdown(options?: DropdownOptions): JQuery;
- addHandler(target: JQuery): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ INPUT
- *
- */
-
-interface InputOptions {
-}
-
-declare interface JQuery {
- input(options?: InputOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ MODAL
- *
- */
-
-declare interface JQuery {
- modal(options?: any): JQuery;
- modal(method?: string, options?: any): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ NOTIFICATION
- *
- */
-
-declare function notification(title: string, content: string, url: string, status?: string): void;
-
-/**
- * * [COMPONENT]
- * @ RIPPLE
- *
- */
-
-interface RippleStartOptions {
- x: number;
- y: number;
-}
-
-declare interface JQuery {
+ /**
+ * @since 1.0.0
+ */
+ checkbox(options?: homeworks.CheckboxOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ converter(options?: homeworks.ConverterOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ spinner(options?: homeworks.SpinnerOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ dropdown(options?: homeworks.DropdownOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
ripple(options?: any): JQuery;
- start(options?: RippleStartOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ SPINNER
- *
- */
-
-interface SpinnerOptions {
- type?: any;
- empty?: any;
-}
-
-declare interface JQuery {
- spinner(options?: SpinnerOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ STEP
- *
- */
-
-interface StepOptions {
- active?: number;
-}
-
-declare interface JQuery {
- step(method?: string): JQuery;
- step(options?: StepOptions): JQuery;
-}
-
-declare interface HomeWorksStepEventObject {
- header: JQuery[];
- index: number;
- length: number;
-}
-
-/**
- * * [COMPONENT]
- * @ TAB
- *
- */
-
-interface TabOptions {
- active?: number;
-}
-
-declare interface JQuery {
+ /**
+ * @since 1.0.0
+ */
+ input(options?: homeworks.InputOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ modal(options?: any): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ modal(method?: string, options?: any): JQuery;
+ /**
+ * @since 1.0.0
+ */
tab(method?: string): JQuery;
- tab(options?: TabOptions): JQuery;
-}
+ /**
+ * @since 1.0.0
+ */
+ tab(options?: homeworks.TabOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ step(method?: string): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ step(options?: homeworks.StepOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ toggle(options: homeworks.ToggleOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ upload(options?: homeworks.UploadOptions): JQuery;
+ /**
+ * @since 1.0.0
+ * @summary dropdown method
+ */
+ addHandler(target: JQuery): JQuery;
+ /**
+ * @since 1.0.0
+ * @summary ripple method
+ */
+ start(event?: homeworks.RippleEvent): JQuery;
-declare interface HomeWorksTabEventObject {
- header: JQuery[];
- index: number;
- length: number;
+ /**
+ * jQuery homeworks events
+ */
+
+ /**
+ * @since 1.0.44
+ */
+ on(event: homeworks.TabMoveEventType, handler: JQuery.EventHandlerBase): JQuery;
+ /**
+ * @since 1.0.44
+ */
+ on(event: homeworks.StepMoveEventType, handler: JQuery.EventHandlerBase): JQuery;
+ /**
+ * @since 1.0.44
+ */
+ on(event: homeworks.RippleStartEventType, handler: JQuery.EventHandlerBase): JQuery;
}
/**
- * * [COMPONENT]
- * @ TOAST
- *
+ * @since 1.0.44
*/
+declare function notification(
+ title: string,
+ content: string,
+ url: string,
+ status?: string): void;
+/**
+ * @since 1.0.44
+ */
declare function toast(message: any): void;
-/**
- * * [COMPONENT]
- * @ TOGGLE
- *
- */
+declare namespace homeworks {
+ /**
+ * @since 1.0.0
+ */
+ interface CheckboxOptions {
+ }
-interface ToggleOptions {
- placeholder?: string;
-}
-
-declare interface JQuery {
- toggle(options: ToggleOptions): JQuery;
-}
-
-/**
- * * [COMPONENT]
- * @ UPLOAD
- *
- */
-
-interface UploadOptions {
- url: string;
- type?: string;
- data?: any;
- dest?: string;
- isBtn?: boolean;
- beforeStart?: () => void;
- complete?: (data?: any) => void;
- success?: (data?: any, state?: any, xhr?: any) => void;
- error?: (xhr?: any, state?: any, error?: any) => void;
- extensions?: any;
-}
-
-declare interface JQuery {
- upload(options?: UploadOptions): JQuery;
+ /**
+ * @since 1.0.0
+ */
+ interface ConverterOptions {
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface DropdownOptions {
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface InputOptions {
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface ToggleOptions {
+ placeholder?: string;
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface UploadOptions {
+ url: string;
+ type?: string;
+ data?: any;
+ dest?: string;
+ isBtn?: boolean;
+ beforeStart?: () => void;
+ complete?: (data?: any) => void;
+ success?: (data?: any, state?: any, xhr?: any) => void;
+ error?: (xhr?: any, state?: any, error?: any) => void;
+ extensions?: any;
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface SpinnerOptions {
+ type?: any;
+ empty?: any;
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface StepOptions {
+ active?: number;
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ interface TabOptions {
+ active?: number;
+ }
+
+ /**
+ * @since 1.0.44
+ */
+ interface Event {
+ element: JQuery;
+ value: string | string[] | number;
+ checked?: boolean;
+ }
+
+ /**
+ * @since 1.0.44
+ */
+ interface StepEvent {
+ header: JQuery[];
+ index: number;
+ length: number;
+ }
+
+ /**
+ * @since 1.0.44
+ */
+ interface TabEvent {
+ header: JQuery[];
+ index: number;
+ length: number;
+ }
+
+ /**
+ * @since 1.0.44
+ */
+ interface RippleEvent {
+ x: number;
+ y: number;
+ }
+
+ /**
+ * @since 1.0.0
+ */
+ type TabMoveEventType = 'move';
+
+ /**
+ * @since 1.0.0
+ */
+ type StepMoveEventType = 'move';
+
+ /**
+ * @since 1.0.0
+ */
+ type RippleStartEventType = 'start';
+
+ /**
+ * @since 1.0.44
+ */
+ function disableHook(): void;
}